一. 下载Nginx源码
两个地址二选一即可
- Nginx官网
- Nginx官网 Github
eg:nginx-1.27.3.tar.gz
下载到 ubuntu24.04 的 Downloads ,解压
cd Downloads
tar -zxvf nginx-1.27.3.tar.gz
二. 编译安装
Note: 编译最好用 root 权限, 使用下面命令切到 root 权限
sudo -i
1. 进入解压目录,如图:
cd nginx-1.27.3
2. 执行 configure,--prefix=/usr/local/nginx
指定安装目录,如图:
./configure --prefix=/usr/local/nginx
3.第二步可能会报错,缺少一些依赖库,根据报错提示安装需要的库即可:
eg: gcc,pcre,zlib 等库.
apt install gcc -y
apt install libpcre3 libpcre3-dev -y
若报错缺少:zlib 库,源码编译安装即可;下载:zlib
eg: 下载 zlib 到 Downloads ,依次执行下面的命令安装即可:
cd Downloads
tar -zxvf zlib.tar.gz
cd zlib-1.3.1/
./configure
若报错找不到 make
命令;若不报该错误,跳过这一步即可
安装 make
即可,
apt install make
执行下面的两条命令完成 编译
和 安装
make -j$(nproc)
make install
至此 zlib
库安装完成,zlib-1.3.1
这个文件夹,可删除,也可不删除
rm -rf zlib-1.3.1
4. 继续执行 Nginx
编译安装
cd nginx-1.27.3/
./configure --prefix=/usr/local/nginx
如图:
执行下面的两条命令完成 编译
和 安装
make
make install
至此 Nginx
编译安装完成
5. Nginx 的启动与停止
进入 Nginx
安装目录
cd /usr/local/nginx/sbin
./nginx 启动
./nginx -s stop 快速停止
./nginx -s quit 优雅关闭,在退出前完成已经接受的连接请求
./nginx -s reload 重新加载配置
6. 关于防火墙
关闭防火墙
systemctl stop firewalld.service
禁止防火墙开机启动
systemctl disable firewalld.service
放行端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙
firewall-cmd --reload
7. 把 Nginx
安装成系统服务
创建服务脚本
vi /usr/lib/systemd/system/nginx.service
脚本内容
Note: Nginx 安装目,在脚本中替换成自己的安装目录
[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
重新加载系统服务
systemctl daemon-reload
启动服务
systemctl start nginx.service
可设置 Nginx
开机启动
systemctl enable nginx.service
8. 查看 Nginx
是否启动
ps -ef | grep nginx
或者
systemctl status nginx
Reference:
ubantu安装nginx ./configure: error: the HTTP rewrite module requires the PCRE library