Nginx 主要发行版本:
Nginx 开源版:https://nginx.org/en/
Nginx Plus 商业版:https://www.nginx.com/
OpenResty:https://openresty.org/cn/
Tengine:https://tengine.taobao.org/
接下来以开源版为目标进行安装配置
安装配置
- 前往官网下载:https://nginx.org/en/download.html
- 上传下载好的安装包到服务中。(我这里使用的是 centos7)
- 解压到指定目录
tar -zxvf nginx-1.24.0.tar.gz -C /usr/local/
- 移动到解压后的
nginx
目录
cd /usr/local/nginx-1.24.0/
- 执行
configura
文件,进行编译安装。过程中可能会提示缺少一些依赖,安装完成后重新执行该文件即可
./configura
- 在当前目录下,执行
make
命令
make
- 在当前目录下,执行
make install
命令
make install
- 安装完成,安装好的 nginx 位置在
/usr/loca/nginx
目录下
启动、停止 nginx
进入到 nginx
安装目录下的 sbin
目录
./nginx # 启动nginx
./nginx -s stop # 停止nginx
./nginx -s quit # 安全退出,在退出前完成已经接受的连接请求
./nginx -s reload # 重启 nginx,一般在修改配置文件后使用
设置 Nginx 开机自启
- 新建脚本
vim /usr/lib/systemd/system/nginx.service
- 脚本内容(根据自己的nginx安装路径修改)
[Unit]
Description=nginx web server
# 指定在什么情况下启动该服务。这里列出的目标 (network.target, remote-fs.target, nss-lookup.target) 表示在网络、远程文件系统和名称解析等方面都准备就绪后启动。
After=network.target remote-fs.target nss-lookup.target
[Service]
# 定义服务的进程类型。在这里,forking 表示服务会创建一个新的子进程,并在主进程退出后,主动将控制权移交给子进程。
Type=forking
# 指定保存主进程的 PID 文件路径,用于管理和监控进程状态。
PIDFile=/usr/local/nginx/logs/nginx.pid
# 在实际启动服务之前运行的命令,这里用于检查 Nginx 配置文件是否有效。
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
ExecQiut=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
wantedBy=muitl-user.target
- 重新加载系统服务
sudo systemctl daemon-reload
- 使用服务启动
nginx
systemctl start nginx.service
- 设置为开机启动
systemctl enable nginx.service
-
如果开机启动未生效,则手动在
/etc/systemd/system/multi-user.target.wants
下创建一个指向/usr/lib/systemd/system/nginx.service
文件的软链接- 创建软链接
ln -s /usr/lib/systemd/system/nginx.service /etc/systemd/system/multi-user.target.wants/nginx.service
- 重新加载服务
sudo systemctl daemon-reload
- 重启系统查看是否生效