yum源 1 2 3 4 5 6 7 8 sudo mv /etc/yum.repos.d/CentOS-Base .repo /etc/yum.repos.d/CentOS-Base .repo.backup sudo curl -o /etc/yum.repos.d/CentOS-Base .repo http://mirrors.aliyun.com /repo/Centos-7 .repo yum clean all yum makecache # 安装第三方源并且更新 yum -y install epel-release yum -y update
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ #baseurl=http://vault.centos.org/7.9.2009/x86_64/os/ baseurl=http://vault.centos.org/7.9.2009/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ #baseurl=http://vault.centos.org/7.9.2009/x86_64/os/ baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #$baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ #baseurl=http://vault.centos.org/7.9.2009/x86_64/os/ baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ #baseurl=http://vault.centos.org/7.9.2009/x86_64/os/ baseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
1 2 sudo yum clean all sudo yum makecache
vim安装 1 2 vim --version yum -y install vim
wget安装
netstat安装 1 2 3 yum -y install net-tools netstat -tuln ss -tuln
修改主机名 1 2 3 /etc/hostname hostnamectl 或者hostname 查看是否修改成功
固定ip 目录:/etc/sysconfig/network-scripts/ifcfg-ens33
1 2 3 4 5 6 7 8 BOOTPROTO=static # 设置为static以使用静态IP IPADDR=192.168 .1.100 # 设置你想要的静态IP地址 NETMASK=255.255 .255.0 # 子网掩码 GATEWAY=192.168 .1.1 # 网关地址 DNS1=8.8 .8.8 # 首选DNS服务器 systemctl restart network
ssh 配置文件:/etc/ssh/sshd_config
把公钥放在authorized_keys文件,每一个公钥单独行
1 2 3 4 5 mkdir -p ~/.sshchmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys ssh 10.0 .0.31
ip映射
在 ~/.ssh下面创建config文件,写入下面代码可以实现:ssh wen连接远程
1 2 3 Host wen HostName 59.110 .47.222 User root
防火墙 1 2 3 4 5 6 7 8 9 yum install firewalld systemctl status firewalld systemctl stop firewalld systemctl disable firewalld systemctl start firewalld #开放端口 firewall-cmd --list -ports firewall-cmd --zone=public --add-port=8080 /tcp --permanent firewall-cmd --reload
安装nginx 1 2 3 yum install -y nginx systemctl start nginx systemctl enable nginx
安装supervisorctl 1 2 3 4 yum install -y supervisor systemctl enable supervisord # 开机自启动 systemctl start supervisord # 启动supervisord服务 systemctl status supervisord # 查看supervisord服务状态
常用命令
1 2 3 4 5 6 7 8 supervisorctl status 查看进程运行状态 supervisorctl start 进程名 启动进程 supervisorctl stop 进程名 关闭进程 supervisorctl restart 进程名 重启进程 supervisorctl update 重新载入配置文件 supervisorctl shutdown 关闭supervisord supervisorctl start all 启动所有 supervisorctl stop all 关闭所有
配置文件
1 2 3 4 5 6 7 8 9 [program:nwsz-gateway] directory = /mnt/api/ command = /mnt/app/jdk17/bin/java -jar -Dspring.profiles.active=dev nwsz-gateway.jar autorestart = true startsecs = 1 memory_limit=128MB stdout_logfile_maxbytes = 50MB stdout_logfile_backups = 20 stdout_logfile = /mnt/api/log/nwsz-gateway.log
安装mysql5.7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 1 .安装mysql5.7 wget https://dev.mysql.com /get /mysql57-community-release-el7-11 .noarch.rpm sudo rpm -ivh mysql57-community-release-el7-11 .noarch.rpm rpm --import https://repo.mysql.com /RPM-GPG-KEY -mysql-2022 sudo yum install mysql-server sudo systemctl start mysqld sudo systemctl enable mysqld # 2 .修改mysql配置 grep mysql -uroot -p alter user root@localhost identified by grant all privileges on *.* to root@ yum # 其他 rpm -qa | grep mysql57-community-release # 查询是否安装mysql5.7 配置包 sudo rpm -e mysql80-community-release-el7-3 .noarch # 卸载现有的rpm仓库
安装mysql8.0 失败,密钥问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 # 1 .安装mysql8.0 # 下载 MySQL 8.0 的 YUM 源配置文件 wget https://dev.mysql.com /get /mysql80-community-release-el7-6 .noarch.rpm # 安装源配置 RPM 包 rpm -ivh mysql80-community-release-el7-6 .noarch.rpm # 安装 yum-utils(用于配置仓库) yum -y install yum-utils # 导入 MySQL 8.0 官方 GPG 密钥(推荐方式) rpm --import https://repo.mysql.com /RPM-GPG-KEY -mysql-2023 # 安装 MySQL 社区服务器 yum -y install mysql-community-server systemctl start mysqld systemctl restart mysqld systemctl stop mysqld yum -y # 2 .修改mysql配置 cat /var/log /mysqld.log #进入查看密码 mysql -u root -p #登录 SHOW VARIABLES LIKE SET GLOBAL validate_password.policy=LOW; # 设置密码校验级别 SET GLOBAL validate_password.length=6 ; # 设置密码最短长度 SHOW VARIABLES LIKE ALTER USER use mysql #使用数据库 select Host, User from user; #查看是否可以远程连接 CREATE USER GRANT ALL PRIVILEGES ON *.* TO alter user select Host,User,plugin from user; # 查看使用密码是否成功
安装redis 配置文件:/etc/redis.conf
1 2 3 4 5 6 7 8 9 10 yum install epel-release yum makecache yum install redis -y systemctl start redis systemctl enable redis redis-cli # 配置文件修改 bind 0.0 .0.0 -::1 # 配置文件修改允许远程连接 requirepass 44 zYqaZ9G4Bnb4Ed # 设置密码
安装maven 1 2 3 4 5 6 wget https://repo.huaweicloud.com /apache/maven/maven-3 /3.8 .1 /binaries/apache-maven-3.8 .1 -bin.tar.gz tar -zxvf apache-maven-3.8 .1 -bin.tar.gz export MAVEN_HOME=/opt/app/apache-maven-3.8 .1 / export PATH=${PATH}:${MAVEN_HOME}/bin source /etc/profile mvn -verison
安装gitlab 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ################ ######非必要##### #防火墙开启http、https、ssh访问 yum install -y curl policycoreutils-python openssh-server perl sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo systemctl reload firewalld #使用postfix发送邮件 sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix #选择“Internet Site” #“mail name”设置为您服务器的外部 DNS 域名 #SMTP配置:https: ######非必要##### ################ #配置GitLab软件源镜像 curl -L get.gitlab.cn | bash #安装 EXTERNAL_URL="http://121.40.130.242" yum install -y gitlab-jh #安装方法:https: #获取初始密码: cat /etc/gitlab/initial_root_password #修改访问地址:external_url vim /etc/gitlab/gitlab.rb gitlab-ctl reconfigure
安装rabbitMQ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 yum -y install epel-release yum -y update yum -y install erlang socat erl -version wget https: rpm -ivh rabbitmq-server-3.6 .16 -1. el7.noarch.rpm # 或者 rpm -Uvh rabbitmq-server-3.6 .16 -1. el7.noarch.rpm # -U表升级 # 启动服务 sudo systemctl start rabbitmq-server # 设置开机自启 sudo systemctl enable rabbitmq-server # 查看状态 sudo systemctl status rabbitmq-server # 启用管理插件 (如果需要web控制台可以选择) sudo rabbitmq-plugins enable rabbitmq_management # 重启服务(如有必要) sudo systemctl restart rabbitmq-server firewall-cmd --zone=public --add-port=5672 /tcp --permanent && firewall-cmd --reload firewall-cmd --zone=public --add-port=15672 /tcp --permanent && firewall-cmd --reload # 创建账号和密码 rabbitmqctl add_user admin 123456 # 添加admin为管理员 rabbitmqctl set_user_tags admin administrator # 为用户添加资源权限,添加配置、写、读权限 rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" # 查看平台所有用户权限 sudo rabbitmqctl list_permissions -p / #修改用户密码 rabbitmqctl change_password 用户名 新密码
安装docker 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 sudo yum install -y yum-utils yum-config-manager --add-repo https: sudo yum -y install docker-ce sudo systemctl start docker sudo systemctl status docker sudo systemctl enable docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors" : [ "https://docker.m.daocloud.io" , "https://docker.imgdb.de" , "https://docker-0.unsee.tech" , "https://docker.hlmirror.com" , "https://docker.1ms.run" , "https://func.ink" , "https://lispy.org" , "https://docker.xiaogenban1993.com" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker docker pull hello-world docker run hello-world # 卸载 yum remove docker-ce rm -rf /var /lib/docker
docker命令
1 2 3 4 5 6 7 8 docker ps docker images docker run image docker stop container docker rm container docker rm -f container_name docker rmi image docker exec -it container /bin/bash
docker安装mysql5.7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # 拉镜像 docker pull mysql:5.7 # 创建文件 mkdir -p /mnt/mysql/log mkdir -p /mnt/mysql/data mkdir -p /mnt/mysql/conf touch /mnt/mysql/conf/my.cnf #可以没有,配置一些慢查询 # my.cnf [mysqld] # 设置数据目录 datadir=/var/lib/mysql # 设置日志目录 log-error=/var/log/mysql/error.log slow_query_log=1 slow_query_log_file=/var/log/mysql/slow-query.log # 创建容器 docker run -d \ --name mysql \ -p 3306:3306 \ -e TZ=Asia/Shanghai \ -e MYSQL_ROOT_PASSWORD=196691 \ -v /mnt/mysql/log:/var/log/mysql \ -v /mnt/mysql/data:/var/lib/mysql \ -v /mnt/mysql/conf:/etc/mysql/conf \ mysql:5.7 # 进入容器 docker exec -it mysql /bin/bash
docker安装mysql8.0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 # 拉镜像 docker pull mysql:8.0 # 创建文件 mkdir -p /mnt/mysql/log mkdir -p /mnt/mysql/data mkdir -p /mnt/mysql/conf touch /mnt/mysql/conf/my.cnf #可以没有,配置一些慢查询 # my.cnf [mysqld] # 设置数据目录 datadir=/var/lib/mysql # 设置日志目录 log-error=/var/log/mysql/error.log slow_query_log=1 slow_query_log_file=/var/log/mysql/slow-query.log # MySQL 8.0 新特性配置(可选) default_authentication_plugin=mysql_native_password innodb_file_per_table=1 innodb_log_file_size=64M max_connections=200 # 创建容器 docker run -d \ --name mysql \ --privileged=true \ -p 3306:3306 \ -e TZ=Asia/Shanghai \ -e MYSQL_ROOT_PASSWORD=196691 \ -v /mnt/mysql/log:/logs \ -v /mnt/mysql/data:/var/lib/mysql \ -v /mnt/mysql/conf:/etc/mysql/conf.d \ mysql:8.0 # 注意挂载路径是:/etc/mysql/conf.d(MySQL 8.0 推荐配置挂载路径) # 进入容器 docker exec -it mysql /bin/bash mysql -uroot -p 196691
docker安装redis 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 docker pull redis mkdir -p /mnt/redis/data mkdir -p /mnt/redis/conf touch /mnt/redis/conf/redis.conf vi /mnt/redis/conf/redis.conf bind 0.0 .0 .0 port 6379 dir /data dbfilename dump.rdb appendonly no requirepass 123456 docker run \ -d \ --name redis \ -p 6379 :6379 \ --restart unless-stopped \ -v /mnt/redis/data:/data \ -v /mnt/redis/conf/redis.conf:/etc/redis/redis.conf \ redis:latest \ redis-server /etc/redis/redis.conf docker exec -it redis /bin/bash redis-cli -a 123456 set name zou keys * docker restart redis netstat -tuln或者ss -tuln
docker安装nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 docker pull nginx docker run --name nginx -p 80 :80 -d nginx #拷贝配置文件,然后删除容器,重启容器 mkdir -p /mnt/nginx/config #把两个配置文件拷贝出来 docker cp nginx:/etc/nginx/conf.d/default .conf /mnt/nginx/config docker cp nginx:/etc/nginx/nginx.conf /mnt/nginx/config #删除容器,重新开一个容器 docker rm -f nginx docker run --name nginx -p 80 :80 --restart always \ -v /mnt/nginx/config/nginx.conf:/etc/nginx/nginx.conf:ro \ -v /mnt/nginx/html:/usr/share/nginx/html:rw \ -v /mnt/nginx/config/default .conf:/etc/nginx/conf.d/default .conf:ro \ -v /mnt/nginx/log:/var /log/nginx -d nginx #创建index.html写入一些内容,放入html目录浏览器打开测试成功 <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8" > <meta name="viewport" content="width=device-width, initial-scale=1.0" > <title>Document</title> </head> <body> 测试nginx1 </body> </html>
nginx远程传输 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 location /download/ { alias /mnt/web/test/; add_header Content-Disposition "attachment" ; add_header Content-Type "application/octet-stream" ; sendfile on ; autoindex on ; autoindex_exact_size on ; autoindex_localtime on ; charset utf-8 , gbk; } systemctl restart nginxcurl -O http://192.169.31.101/download/
ftp下载 安装vsftp(服务端)
1 2 3 yum -y install vsftpd systemctl start vsftpd #启动服务 systemctl enable vsftpd #设置开机自启
配置文件:vim /etc/vsftpd/vsftpd.conf
1 2 3 4 #anon_umask=022 #匿名用户所上传文件的权限掩码 #anon_upload_enable=YES #允许匿名用户上传文件 #anon_mkdir_write_enable=YES #允许匿名用户创建目录 #anon_other_write_enable=YES #是否允许匿名用户有其他写入权(改名,删除,覆盖)
安装客户端lftp
1 2 3 4 5 6 7 8 9 10 11 12 yum -y install lftp systemctl start lftp systemctl restart lftp [root@client ~]# lftp 192.168 .246.160 lftp 192.168 .246.160 :~> ls drwxr-xr-x 2 0 0 6 Oct 30 2018 pub drwxr-xr-x 2 14 50 6 Oct 30 2018 upload lftp 192.168 .246.160 :/> cd upload/ lftp 192.168 .246.160 :/upload> ls -rw-r--r-- 1 14 50 0 Aug 02 19 :14 test.txt lftp 192.168 .246.160 :/upload> get test.txt #下载 lftp 192.168 .246.160 :/upload> exit
ftp命令
1 2 3 4 5 6 7 8 get 下载单个文件mget 下载多个文件 mirror 下载目录 nput 上传单个文件 mput 上传多个文件 mirror -R 上传目录 mkdir 创建目录rm -rf 删除文件或者目录
用户访问
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@lnmp ~]# useradd zhangsan [root@lnmp ~]# echo "123" | passwd --stdin zhangsan [root@lnmp ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO 103 chroot_list_enable=YES 104 105 chroot_list_file=/etc/vsftpd/chroot_list 106 allow_writeable_chroot=YES local_root=/home/zhangsan local_max_rate=0 [root@lnmp ~]# vim /etc/vsftpd/chroot_list zhangsan [root@lnmp ~]# systemctl restart vsftpd
1 2 3 4 5 6 7 [root@lnmp ~]# lftp lftp 192.168 .153.137 -u zhangsan Password: lftp zhangsan@192.168 .153.137 :~> ls lftp zhangsan@192.168 .153.137 :~> mkdir aaa mkdir ok, `aaalftp zhangsan@192.168 .153.137 :~> ls drwxr-xr-x 2 1000 1000 6 Aug 02 20 :55 aaa