一、下载
参考:https://blog.csdn.net/adaizzz/article/details/126669430
官网:http://nginx.org/
里面展示了所有版本,根据需要下载你所需的版本即可
将下载好的安装包上传至Linux系统里
二、安装
1、解压
# 解压缩
tar -zxvf nginx-1.24.0.tar.gz
#在/usr/local下创建一个新目录nginx
cd /usr/local
mkdir nginx
#将解压缩后的nginx移动至/usr/local、nginx
mv /opt/nginx-1.24.0 /usr/local/nginx
2、安装nginx所需依赖
#安装gcc
yum install gcc-c++
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
#安装zlib
yum install -y zlib zlib-devel
#安装Open SSL
yum install -y openssl openssl-devel
3、安装nginx
#进入nginx目录
cd /usr/local/nginx/nginx-1.24.0
#编译 执行命令 考虑到后续安装ssl证书 添加两个模块 如不需要直接执行./configure即可
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make
#执行make install命令
make install
# 查看编译参数
./configure --help | more
三、启动nginx
cd /usr/local/nginx/sbin
# 默认配置文件启动
./nginx
或
# 指定配置文件启动
./nginx -c /usr/local/nginx/conf/nginx.conf
# 快速停止
./nginx -s stop
# 优雅关闭,在退出前完成已经接受的连接请求
./nginx -s quit
# 重启命令
./nginx -s reload
# 查看nginx进程
ps -ef|grep nginx
在浏览器中输入服务器ip(可用ifconfig查询)即可看见nginx启动成功
浏览器中输入http://192.168.196.101:80
若在linux里面的浏览器可以访问,在windows里面的浏览器不能访问,则需要将80这个端口放行
四、防火墙设置
若想使用外部主机(即比如windows里的浏览器)访问nginx,则需要关闭服务器防火墙或开放nginx服务端口。
centOS6及以前版本使用命令
#关闭防火墙
systemctl stop iptables.service
centOS7关闭防火墙命令:
#关闭防火墙
systemctl stop firewalld.service
#开启防火墙
systemctl start firewalld.service
# 禁止防火墙开机启动
systemctl disable firewalld.service
#不过,关闭防火墙会导致服务器有一定风险,所以建议是单独开放服务端口(此时防火墙要是开启状态):
firewall-cmd --zone=public --add-port=80/tcp --permanent
#查询端口号80 是否开启:
firewall-cmd --query-port=80/tcp
#开放端口后要重启防火墙:
firewall-cmd --reload
# 查看firewall防火墙状态
systemctl status firewalld
# 查看firewall防火墙开放端口
firewall-cmd --list-ports
windows里的浏览器也可以访问了就说明配置成功
五、安装成系统服务
1、创建服务脚本
vi /usr/lib/systemd/system/nginx.service
服务脚本内容:
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2、重新加载系统服务
systemctl daemon-reload
3、启动服务
systemctl start nginx.service
假设执行时此处报了下面的错
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
解决方式参考:https://blog.csdn.net/li1325169021/article/details/118462921
可能是之前已经启动了nginx导致80端口已经被占用,可以先将nginx暂停在执行
暂停命令
./nginx -s stop
4、开机启动
systemctl enable nginx.service
或使用以下方式设置开机自启动nginx
#编辑
vim /etc/rc.local
#最底部增加这一行
/usr/local/nginx/sbin/nginx
修改nginx监听窗口
1.配置nginx.conf
若要修改监听端口,可打开nginx的配置文件进行修改。
# 打开配置文件
vi /usr/local/nginx/conf/nginx.conf
将端口号改成8089(随便挑个端口,你也可以修改为8848,等等)。