CentOS79安装Nginx环境
1,安装Nginx
基础环境安装
#查看 C++ 环境是否安装(查看版本号)
gcc -v
#查看 zlib 是否安装
cat /usr/lib64/pkgconfig/zlib.pc
#查看 pcre 是否安装(查版本号)
pcre-config –version
#一次安装4个插件
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
#一次安装如果有问题,可以试一下分开安装(上面命令执行成功了就无需执行以下命令了)
#安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境
yum install gcc-c++
#pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库
yum install -y pcre pcre-devel
#zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
yum install -y zlib zlib-devel
#nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库
yum install -y openssl openssl-devel
安装 nginx
进入 usr/local
下载
wget https://nginx.org/download/nginx-1.21.6.tar.gz
#解压
tar xvf nginx-1.21.6.tar.gz
#进入解压后的目录
cd nginx-1.21.6
配置(带有https模块)【需要进入解压后的目录】
./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module
编译和安装【需要进入解压后的目录】
#编译
make
#安装
make install
启动、关闭 nginx 服务
###启动服务
#需要先进入sbin目录下
cd /usr/local/nginx/sbin
#启动nginx服务
./nginx
###关闭服务
#需要先进入sbin目录下
cd /usr/local/nginx/sbin
#关闭nginx服务
./nginx -s stop
—————————–
####端口号操作
#查询开启的所有端口
firewall-cmd –list-port
#设置80端口开启
firewall-cmd –zone=public –add-port=80/tcp –permanent
#验证80端口是否开启成功 (单个端口查询)
firewall-cmd –zone=public –query-port=80/tcp
#设置80端口关闭
firewall-cmd –zone=public –remove-port=80/tcp –permanent
####防火墙操作
#检查防火墙是否开启
systemctl status firewalld
#开机自启防火墙
systemctl enable firewalld
#开机禁止自启防火墙
systemctl disable firewalld
#启动
systemctl start firewalld
#关闭
systemctl stop firewalld
#重启
firewall-cmd –reload
2.配置systemctl之前的启动方式
进入sbin目录下执行以下命令:
1 启动nginx的命令为 /usr/local/nginx/sbin/nginx
3 停止nginx的命令为 /usr/local/nginx/sbin/nginx -s stop
4 重启nginx的命令为 /usr/local/nginx/sbin/nginx -s reload
3.配置自启动方法
1).创建一个nginx.service
在 /usr/lib/systemd/system/目录下面新建一个nginx.service文件。并赋予可执行的权限
vim /usr/lib/systemd/system/nginx.service
chmod +x /usr/lib/systemd/system/nginx.service
2).编辑service内容
[Unit]
Description=nginx #描述
After=network.target #描述服务类别
[Service]
Type=forking #后台运行形势
PIDFile =/usr/local/nginx/logs/nginx.pid #PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx #启动服务
ExecReload=/bin/kill -s HUP $MAINPID #根据PID重载配置
ExecStop=/bin/kill -s QUIT $MAINPID #根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3).启动服务
在启动服务之前,需要先重载systemctl命令
systemctl daemon-reload
systemctl start nginx.service (启动nginx服务)
systemctl stop nginx.service (停止nginx服务)
systemctl enable nginx.service (设置开机自启动)
systemctl disable nginx.service (停止开机自启动)
systemctl status nginx.service (查看服务当前状态)
systemctl restart nginx.service (重新启动服务)
systemctl list-units –type=service (查看所有已启动的服务)
设置开机启动
systemctl enable nginx.service
4.如果出现端口被占用情况
在nginx配置文件中 /usr/local/nginx/conf/nginx.conf
把listen 后面的数字修改成8080或者81。再重新启动服务。
记录一下最大的坑:
nginx 使用 systemctl命令默认使用的是80端口,如果config也配置成80端口将报错;
解决方法:先将config里面listen改成8080,是服务启动,后面再改回80端口,
重启即可。