1.配置环境
1).gcc
yum install -y gcc
2).安装第三方库 pcre-devel
yum install -y pcre pcre-devel
3).安装第三方库 zlib
yum install -y zlib zlib-devel
2.下载安装包并解压
nginx官网下载:http://nginx.org/en/download.html
或者 使用wget命令进行下载
wget https://nginx.org/download/nginx-1.23.4.tar.gz
对下载好的安装包解压:
tar zxvf nginx-1.23.4.tar.gz
进入解压目录使用命令安装:
./configure --prefix=/usr/local/nginx // /usr/local/nginx 指定的安装目录
然后编译:
make && make install
3.尝试启动
进入nginx的安装目录的sbin目录下
然后就可以使用以下命令进行ngxin的操作
./nginx //启动nginx
./nginx -s stop //停止nginx
./nginx -s quit //优雅的关闭,在退出前完成已经接受的连接请求
./nginx -s reload // 重新加载nginx配置
4.开放防火墙端口
因为nginx启动需要占用tcp协议的80端口, 这样我们在浏览器才能通过虚拟机ip地址访问ngin的服务,所以我们要保证防火墙开放了虚拟机的80端口,以下命令对防火墙进行操作
firewall-cmd --state // 查看防火墙状态
systemctl stop firewalld.service // 关闭防火墙(不推荐使用)
systemctl disable firewalld.service // 阻止防火墙开机启动
firewall-cmd --reload // 重启防火墙
firewall-cmd --zone=public --list-ports // 查看防火墙所有开放的端口
firewall-cmd --permanent --zone=public --remove-port=80/tcp // 关闭80端口
接下来我们就可以使用虚拟机ip地址访问ngxin的默认页面(占用80端口):
5.一些常用命令
./nginx // 启动nginx
./nginx -s stop // 停止ngxin
./nginx -s quit // 优雅的关闭nginx,在退出前完成已经接受的连接请求
./nginx -s reload // 重新加载ngxin配置
./nginx -s reopen // 打开nginx日志文件
./nginx -t // 检测配置文件是否有语法错误
./nginx -v // 显示版本信息
./nginx -c [配置文件路径] // 指定配置文件
killall nginx // 杀死所有nginx的进程
ps -aux | grep nginx // 查看nginx的进程
6.将nginx安装成系统服务
使用以下命令在/usr/lib/systemd/system下创建并编辑nginx的服务脚本:
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
设置一下配置文件的权限
chmod 755 /usr/lib/systemd/system/nginx.service
重新加载系统服务
systemctl daemon-reload
可以使用以下常用命令:
systemctl start nginx.service // 启动nginx服务
systemctl stop nginx.service // 停止nginx服务
systemctl restart nginx.service // 重启nginx服务
systemctl reload nginx.service // 重载nginx服务 (推荐使用)
systemctl status nginx.service // 查看nginx状态
systemctl enable nginx.service // 设置为开机启动nginx服务