快速搭建linux centos 部署环境及常用命令-备忘录,以防丢失
一. gcc 安装
yum install gcc-c++
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
二. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
三. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
四. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
五.nginx安装
进入安装目录(自选目录)
1.直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html
wget -c https://nginx.org/download/nginx-1.14.2.tar.gz
tar -zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
yum -y install gcc gcc-c++ autoconf automake make
yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module
make
make install
进入启动目录
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
开启防火墙,开启http https
systemctl start firewalld
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
JDK 安装,下载jdk包(步骤跟nginx差不多)
vi /etc/profile
最后一行添加
JAVA_HOME = jdk安装目录
export JAVA_HOME=/home/environment/jdk1.8.0_271
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
wq退出后 重新加载文件
source /etc/profile
如果服务器不在大陆 设置北京时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
六.redis安装
升级gcc版本
gcc -v
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
scl enable devtoolset-9 bash
下载redis包(步骤跟nginx差不多)
tar -zxvf redis-6.0.9.tar.gz
mv redis-6.0.9 /usr/local/redis
cd /usr/local/redis
make
make install PREFIX=/usr/local/redis
前台启动
cd /usr/local/redis/bin/
./redis-server
后台启动
cp /usr/local/redis/redis.conf /usr/local/redis/bin/
修改 redis.conf 文件,把 daemonize no 改为 daemonize yes
修改bind 127.0.0.1改为0.0.0.0
记得设置密码
设置开机启动
vi /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service
创建软连接
ln -s /usr/local/redis/bin/redis-server /usr/bin/redis
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
7.mysql安装
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
cd /etc/yum.repos.d/
//安装2022年密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install mysql-server
systemctl start mysqld
获取安装时的临时密码
grep 'temporary password' /var/log/mysqld.log
删除原来安装过的mysql残留的数据
rm -rf /var/lib/mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '大小写密码';
use mysql;
update user set Host='%' where User='root';
flush privileges;
mysql 设置最大连接数
show variables like "max_connections";
set global max_connections=3000;
show processlist;
八.其他常用命令
开放端口
firewall-cmd --zone=public --add-port=1981/tcp --permanent
关闭端口
firewall-cmd --zone=public --remove-port=6000/udp --permanent
查看端口
firewall-cmd --zone=public --list-ports
重启防火墙
firewall-cmd --reload
查看防火墙状态
firewall-cmd --state
查看监听端口
netstat -lnpt
//修改打开文件句柄
vi /etc/security/limits.conf
* soft nofile 65534
* hard nofile 65534
查看 ngnix 并发数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
SYN_RECV //一个连接请求已经到达,等待确认
ESTABLISHED //正常数据传输状态/当前并发连接数
FIN_WAIT2 //另一边已同意释放
ITMED_WAIT //等待所有分组死掉
CLOSING //两边同时尝试关闭
TIME_WAIT //另一边已初始化一个释放
LAST_ACK //等待所有分组死掉
修改开机启动配置
vi /etc/rc.local
启动命令加入其中即可
查看连接数
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
查看IP数
netstat -tun | awk '{print $5}' | cut -d: -f1 |sort | uniq -c | sort -n
查看磁盘情况
du -sh /*
查找文件里面内容
grep "查找内容" 查找文件
nload网络工具使用
yum install epel-release
yum install nload
nload -n #查看流量情况