Nginx安装:源代码编译安装
Nginx安装:源代码编译安装
1. 前置条件
在安装前,确保操作系统已安装以下依赖包:
- gcc:GNU 编译器,用于编译 C/C++ 代码。
 - zlib & zlib-devel:用于数据压缩(gzip 支持)。
 - pcre-devel:提供正则表达式匹配功能。
 - openssl & openssl-devel:实现 SSL/TLS 加密通信。
 
1.1 验证依赖是否安装
gcc --version
ldconfig -p | grep libz  # 检查 zlib
ls /usr/include/zlib.h   # 检查 zlib 头文件
ldconfig -p | grep pcre  # 检查 pcre
ls /usr/include/pcre.h   # 检查 pcre 头文件
openssl version          # 检查 openssl
ls /usr/include/openssl/ # 检查 openssl 头文件
 
1.2 安装依赖(适用于 CentOS/RHEL)
如果外网可用或已配置本地源,可以直接执行以下命令安装:
yum -y install gcc gcc-c++ zlib zlib-devel pcre-devel openssl openssl-devel libtool
 
2. 编译 & 安装
2.1 上传源码包并解压
将 nginx-1.26.3.tar.gz 上传至 /opt 目录,并解压:
cd /opt
tar -zxvf nginx-1.26.3.tar.gz
cd nginx-1.26.3
 
2.2 配置编译参数
# 创建安装目录(需先创建)
mkdir -p /usr/local/nginx
# 执行初始化
./configure \
    --prefix=/usr/local/nginx \
    --with-http_stub_status_module \
    --with-http_ssl_module
 
配置摘要:
Configuration summary
  + using system PCRE2 library
  + using system OpenSSL library
  + using system zlib library
  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"
 
说明:
using system PCRE2 library:Nginx 使用系统已安装的 PCRE2 库(用于正则表达式匹配)。using system OpenSSL library:Nginx 使用系统 OpenSSL 库,支持 SSL/TLS 加密。using system zlib library:Nginx 使用系统 zlib 库,支持 gzip 压缩。
2.3 编译 & 安装
make && make install
 
安装完成后,Nginx 目录结构如下:
/usr/local/nginx/
├── conf    # 配置文件目录(nginx.conf)
├── html    # 默认网页存放目录
├── logs    # 日志目录
├── sbin    # 可执行文件目录(nginx 启动文件)
 
此时,/opt/nginx-1.26.3 目录及源码包可删除(仅用于安装过程)。
3. 配置 Nginx
3.1 创建专属用户 & 组
groupadd nginx
useradd -g nginx nginx
 
3.2 设置软连接(方便执行 nginx 命令)
 
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
nginx -v  # 验证版本
 
4. 启动 & 管理 Nginx
4.1 启动 Nginx
nginx
 
4.2 验证是否运行
ps -ef | grep nginx
 
输出示例:
root     8812  1  0 16:25 ?  00:00:00 nginx: master process nginx
nobody   8813  8812  0 16:25 ?  00:00:00 nginx: worker process
 
4.3 常用管理命令
nginx -t         # 检查配置文件是否正确
nginx -s reload  # 重新加载配置文件
nginx -s stop    # 停止 Nginx
nginx -s reopen  # 重启 Nginx
 
5. 配置 HTTPS 代理(可选)
5.1 配置 nginx.conf
 
server {
    listen 80;
    server_name example.com;
    rewrite ^(.*)$ https://$server_name$1 permanent;
}
server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate      /path/to/cert.pem;
    ssl_certificate_key  /path/to/cert.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}
 
5.2 注意防火墙设置
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
 
6. 访问测试
浏览器访问 http://example.com 或 https://example.com,若能成功打开页面,则 HTTPS 代理配置成功。
至此,Nginx 源码编译安装及 HTTPS 配置完成! 🎉
