温馨提示×

debian如何编译安装nginx

小樊
48
2026-10-03 14:13:48
栏目: 智能运维

下面以 Debian(如 Debian 11 / 12) 为例,说明如何从源码 编译安装 Nginx,并附带常见配置。


一、安装编译依赖

sudo apt update
sudo apt install -y \
  build-essential \
  libpcre3 libpcre3-dev \
  zlib1g zlib1g-dev \
  libssl-dev \
  wget curl

说明:

  • build-essential:编译器(gcc 等)
  • pcre:Nginx 正则支持
  • zlib:压缩支持
  • openssl:HTTPS 支持

二、下载 Nginx 源码

cd /usr/local/src
sudo wget https://nginx.org/download/nginx-1.26.2.tar.gz
sudo tar -zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2

版本号可自行替换为最新稳定版(https://nginx.org/en/download.html)


三、配置编译参数

基础编译示例

./configure \
  --prefix=/usr/local/nginx \
  --with-http_ssl_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --with-pcre \
  --with-stream

常用模块说明:

  • --with-http_ssl_module:HTTPS
  • --with-http_stub_status_module:状态监控
  • --with-stream:TCP 代理(如 MySQL、SSH)

四、编译并安装

make
sudo make install

安装完成后:

  • 主程序:/usr/local/nginx/sbin/nginx
  • 配置目录:/usr/local/nginx/conf/
  • 网页目录:/usr/local/nginx/html/

五、测试 Nginx

/usr/local/nginx/sbin/nginx

浏览器访问:

http://服务器IP

停止 Nginx:

/usr/local/nginx/sbin/nginx -s stop

六、设置 systemd 开机启动(推荐)

创建服务文件:

sudo nano /etc/systemd/system/nginx.service

内容如下:

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
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

启用:

sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx

七、常见补充

1️⃣ 查看编译参数

/usr/local/nginx/sbin/nginx -V

2️⃣ 重新编译(加模块)

./configure [原参数] --add-module=xxx
make
sudo make install

3️⃣ 防火墙(如启用)

sudo ufw allow 80
sudo ufw allow 443

如果你需要:

  • 编译 带 Lua / Brotli / GeoIP
  • 用 非 root 用户运行
  • 或 替代 apt 安装版本

可以告诉我你的具体需求。

0 踩