1、百度搜索【Nginx官网】,点击Nginx官网链接,点击【download】,选择【Stable version】版本下载。如下图:
2、把下载的nginx-1.20.1.tar.gz上传到服务器的指定文件夹下,并更改文件可执行权限。如下图:
3、解压nginx-1.20.1.tar.gz文件到当前文件夹中,解压指令:
tar -zxvf nginx-1.20.1.tar.gz
4、进入nginx-1.20.1文件夹,输入./configure 报错./configure: error: cc compiler is not found,说明需要安装 gcc 和gcc-c++, 解决办法:
yum -y install gcc gcc-c++ autoconf automake
5、再次进入nginx-1.20.1文件夹,输入./configure 报错./configure: error: the HTTP rewrite module requires the PCRE library. 说明需要安装PCRE库。解决办法:
yum -y install pcre pcre-devel
6、再次进入nginx-1.20.1文件夹,输入./configure 报错:./configure: error: the HTTP gzip module requires the zlib library. 说明需要安装zlib库。解决办法:
yum -y install zlib zlib-devel
7、再次进入nginx-1.20.1文件夹,输入./configure 没有报错,如下图:
8、在nginx-1.20.1目录下输入如下命令进行编译安装 :
make
make install
9、检查是否安装成功
查找安装路径:(如果查到nginx目录,则代表安装成功)
whereis nginx
启动、停止Nginx
cd /usr/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
开机自启动:
即在rc.local
增加启动代码就可以了。
vi /etc/rc.local
增加一行 /usr/sbin/nginx
设置执行权限:
chmod 755 rc.local
至此,nginx就安装完毕了,启动、停止、重启操作也都完成了。
小知识点:
1、查找nginx配置文件路径
find / -name nginx.conf
2、SSL证书路径:
/etc/nginx/cert
3、设置nginx环境变量
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
4、Nginx 服务已打开,但是浏览器无法访问,可能是端口没有放开
#开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重启防火墙
firewall-cmd --reload
5、如果没有找到nginx.service文件,可使用下列命令来创建:
1> #创建
sudo vim /usr/lib/systemd/system/nginx.service
2> #在打开的文件中,粘贴以下内容作为服务单元文件的基本配置
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network-online.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/local/bin/nginx -t
ExecStart=/usr/local/bin/nginx
ExecReload=/usr/local/bin/nginx -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3> #保存并关闭文件
4> #确保文件的权限正确,通常服务单元文件的权限应该是 644:
sudo chmod 644 /usr/lib/systemd/system/nginx.service
5> #重新加载 systemd 配置以使新的服务单元文件生效:
sudo systemctl daemon-reload
6> #启用 Nginx 服务,以使它在系统引导时自动启动:
sudo systemctl enable nginx
7> #检查 Nginx 服务的状态:
sudo systemctl status nginx