在 Ubuntu 16.04 上源码编译安装 Nginx 1.10.0,适用于需要自定义模块或开启特定编译选项的场景。以下是详细步骤:


✅ 一、准备工作

1. 更新系统软件包索引

sudo apt update
sudo apt upgrade -y

2. 安装编译依赖

sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

✅ 二、下载 Nginx 1.10.0 源码

1. 创建临时目录并下载源码

mkdir -p ~/nginx-build
cd ~/nginx-build
wget http://nginx.org/download/nginx-1.10.0.tar.gz

2. 解压

tar zxvf nginx-1.10.0.tar.gz
cd nginx-1.10.0

✅ 三、配置编译参数

你可以选择默认参数或加上模块支持,例如:

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

✅ 四、编译和安装

make
sudo make install

✅ 五、启动 Nginx

sudo /usr/local/nginx/sbin/nginx

如果不报错,可以通过浏览器访问:

http://localhost

会看到 Welcome to nginx! 页面。


✅ 六、常用命令(路径可能需根据实际情况修改)

操作命令
启动sudo /usr/local/nginx/sbin/nginx
停止sudo /usr/local/nginx/sbin/nginx -s stop
重启sudo /usr/local/nginx/sbin/nginx -s reload
配置检查sudo /usr/local/nginx/sbin/nginx -t

✅ 七、可选:设置 systemd 启动服务

创建一个服务文件:

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

内容如下(假设安装路径为 /usr/local/nginx):

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
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-reexec
sudo systemctl enable nginx
sudo systemctl start nginx

🧾 附:查看版本

/usr/local/nginx/sbin/nginx -v
# 输出:nginx version: nginx/1.10.0

如果你想集成第三方模块(例如 ngx_brotli、lua-nginx-module),可以在 ./configure 时添加路径,我也可以帮你配置。

是否还需我帮你配置 https、gzip、反向代理或负载均衡规则?