在开始编译安装 Nginx 之前,需要确保系统已安装必要的编译工具和依赖库。
对于基于 Debian/Ubuntu 的系统,执行以下命令:
bash
sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
对于基于 CentOS/RHEL 的系统,执行以下命令:
bash
sudo yum groupinstall "Development Tools"
sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel
访问 Nginx 官网 下载最新稳定版本的源码包,或使用 wget
命令直接下载:
bash
wget http://nginx.org/download/nginx-1.24.0.tar.gz
解压下载的源码包:
bash
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
进入解压后的目录,运行 configure
脚本配置编译选项。可以根据需要启用或禁用模块:
bash
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module
常用选项说明: --prefix
:指定安装目录。 --with-http_ssl_module
:启用 SSL 支持。 --with-http_v2_module
:启用 HTTP/2 支持。 --with-http_stub_status_module
:启用状态监控页面。
运行 ./configure --help
可查看所有可用选项。
配置完成后,使用 make
命令编译源码:
bash
make
编译成功后,使用 make install
命令安装:
bash
sudo make install
Nginx 将被安装到 --prefix
指定的目录(默认为 /usr/local/nginx
)。
为了方便管理,可以创建 systemd 服务文件。创建文件 /etc/systemd/system/nginx.service
,内容如下:
ini
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.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=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载 systemd 配置并启用服务:
bash
sudo systemctl daemon-reload
sudo systemctl enable nginx
使用以下命令启动 Nginx:
bash
sudo systemctl start nginx
检查服务状态:
bash
sudo systemctl status nginx
打开浏览器访问 http://服务器IP
,如果看到 Nginx 欢迎页面,说明安装成功。
启动 Nginx:sudo systemctl start nginx
停止 Nginx:sudo systemctl stop nginx
重启 Nginx:sudo systemctl restart nginx
重新加载配置:sudo systemctl reload nginx
检查配置语法:sudo /usr/local/nginx/sbin/nginx -t
通过以上步骤,可以成功在 Linux 系统中编译安装 Nginx,并根据需求启用特定模块。编译安装提供了更高的灵活性,允许用户自定义功能和优化配置。