在 Debian 12.5 上编译安装 Nginx
root@debian:~# cat /etc/systemd/system/nginx.service [Unit] Description=Nginx Service Documentation="http://nginx.org/en/docs/" 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 ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true LimitNOFILE=200000 [Install] WantedBy=multi-user.target
1. 更新系统软件包并安装必要的构建工具和依赖项:sudo apt update
sudo apt upgrade
sudo apt install build-essential zlib1g-dev libpcre3-dev libssl-dev
bash2. 下载 Nginx 源码包:wget http://nginx.org/download/nginx-x.y.z.tar.gz # 替换 x.y.z 为你要安装的 Nginx 版本号
tar zxf nginx-x.y.z.tar.gz
cd nginx-x.y.z
bash3. 配置 Nginx:./configure \
--prefix=/usr/local/nginx \
--user=www-data \
--group=www-data \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-file-aio \
--with-threads \
--with-compat \
--add-module=path/to/optional/module # 如果你有额外模块需要编译进去
# 注意替换 `path/to/optional/module` 为你实际的第三方模块路径
bash4. 编译和安装 Nginx:make
sudo make install
bash5. 创建系统启动所需的链接和服务文件(可选,根据你的启动方式):# 创建系统服务文件
sudo nano /etc/systemd/system/nginx.service
# 在文件中填入类似以下内容:
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target
[Service]
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
or
[Unit] Description=Nginx Service Documentation="http://nginx.org/en/docs/" 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 ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true LimitNOFILE=200000 [Install] WantedBy=multi-user.target
# 保存退出,加载服务并启动 Nginx
sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx
# 检查服务状态
sudo systemctl status nginx
bash注意事项:•请确保你在配置 Nginx 时包含了所有你所需要的模块,比如 SSL、HTTP2、PHP-FPM 等。•/usr/local/nginx 是 Nginx 的安装路径,你可以根据需要更改。•用户名 www-data 在 Debian 上通常是 Web 服务使用的默认用户和组,可以根据实际情况更改。•最新版 Nginx 的配置选项可能有所不同,请查阅 Nginx 官方文档以获得最新配置指南。记得根据实际情况调整命令中的路径和模块选项。同时,请始终关注 Nginx 官方发布的安全更新,并适时更新你的 Nginx 服务器。