本文详细介绍在 Ubuntu 22.04 上通过源码编译安装 Nginx 的步骤。
Nginx 安装指南
1. 下载源码包
建议下载 Nginx 官方稳定版。
1 2 3 4 5 6 7 8 9 10
| cd /home mkdir downloads cd downloads
wget https://nginx.org/download/nginx-1.25.2.tar.gz
tar -zxvf nginx-1.25.2.tar.gz cd nginx-1.25.2
|
2. 安装编译依赖
编译 Nginx 需要一些基础库(如 zlib, pcre, openssl 等)。
1 2
| sudo apt-get update sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libgd-dev libssl-dev -y
|
3. 编译与安装
配置编译选项并安装。
1 2 3 4 5 6 7 8 9 10 11 12
| ./configure \ --prefix=/usr/local/nginx \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-stream \ --with-http_image_filter_module \ --with-http_realip_module \ --with-stream_ssl_module
make && sudo make install
|
4. 配置系统服务 (Systemd)
为了方便管理通过源码安装的 Nginx,我们可以创建一个 Systemd 服务文件。
创建文件 /lib/systemd/system/nginx.service:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| [Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.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
[Install] WantedBy=multi-user.target
|
5. 启动服务
1 2 3 4 5 6 7 8
| sudo systemctl daemon-reload
sudo systemctl start nginx
sudo systemctl enable nginx
|
或者使用传统的 init.d 脚本(不推荐 Systemd 系统使用):
1 2 3 4
| sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx sudo chmod +x /etc/init.d/nginx sudo update-rc.d nginx defaults service nginx start
|