centos7.9编译安装nginx 1.28.1

为了在CentOS 7.9上精确安装Nginx 1.28.1,最可靠的方法是编译安装。因为通过系统包管理器(yum)默认安装的通常是较旧的稳定版,无法指定具体的次要版本。

编译安装步骤概览

整个过程可以分为以下四个主要阶段,你需要以 root 权限或在命令前添加 sudo 来执行:

阶段 主要任务 关键指令/操作
1. 准备环境 安装编译器、依赖库 yum -y install gcc make pcre-devel zlib-devel openssl-devel
2. 编译与安装 下载源码、配置、编译、安装 ./configure --prefix=/usr/local/nginx
make && make install
3. 安装后配置 环境变量、管理命令、防火墙 echo 'export PATH=/usr/local/nginx/sbin:$PATH' >> ~/.bashrc
firewall-cmd --permanent --add-service=http
4. 验证与管理 启动服务,测试访问 nginx
curl -I http://localhost

详细步骤说明

下面是每个阶段的详细操作和说明:

第一步:安装编译环境
在编译开始前,需要安装必要的工具和开发库。

yum -y install gcc make pcre-devel zlib-devel openssl-devel

第二步:下载与编译Nginx 1.28.1

  1. 下载源码包:前往 Nginx官方下载页面 找到 nginx-1.28.1.tar.gz 的链接,然后下载到服务器。这里以 /usr/local/src 目录为例:
    cd /usr/local/src
    wget https://nginx.org/download/nginx-1.28.1.tar.gz
    
  2. 解压并进入目录
    tar -zxvf nginx-1.28.1.tar.gz
    cd nginx-1.28.1
    
  3. 配置编译选项:运行 ./configure 脚本。下面的命令指定了安装路径并启用了一些常用模块(如SSL、HTTP/2)。你可以根据需求调整,使用 ./configure --help 查看所有选项。
    ./configure --prefix=/usr/local/nginx \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_realip_module \
    --with-stream \
    --with-stream_ssl_module \
    --with-http_gzip_static_module \
    --with-http_secure_link_module \
    --with-http_slice_module \
    --with-threads \
    --with-file-aio \
    --with-pcre
    

http_ssl_module, http_v2_module: 用于HTTPS与HTTP/2。

stream, stream_ssl_module: 用于TCP/UDP代理(如未来可能的数据库负载均衡)。

http_gzip_static_module: 用于Vue3等静态文件预压缩。

http_secure_link_module, http_slice_module: 用于MinIO安全链接和文件分片。

threads, file-aio: 用于性能优化。

pcre: 用于正则表达式支持。

  1. 编译并安装
    make
    make install
    

第三步:安装后的配置与管理

  1. 为了方便使用,可以将Nginx的可执行文件路径加入系统环境变量:
    echo 'export PATH=/usr/local/nginx/sbin:$PATH' >> ~/.bashrc
    source ~/.bashrc
    
  2. 配置防火墙,允许HTTP/HTTPS流量:
    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    firewall-cmd --reload
    
  3. 创建系统服务(推荐):为了方便使用 systemctl 管理,可以创建一个服务文件。
    vi /etc/systemd/system/nginx.service
    
    将以下内容粘贴进去:
    [Unit]
    Description=nginx - high performance web 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=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s TERM $MAINPID
    
    [Install]
    WantedBy=multi-user.target
    
    然后启用并启动服务:
    systemctl daemon-reload
    systemctl enable nginx  # 设置开机自启
    systemctl start nginx   # 启动Nginx
    

第四步:验证与基本管理

  • 验证安装:执行 nginx -v 应显示版本 1.28.1。访问服务器IP,应能看到Nginx欢迎页。
  • 常用管理命令
    • 启动:systemctl start nginx
    • 停止:systemctl stop nginx
    • 重启:systemctl restart nginx
    • 重新加载配置(不中断服务):systemctl reload nginx
    • 测试配置文件语法:nginx -t

重要目录与后续配置

  • 配置目录:主配置文件位于 /usr/local/nginx/conf/nginx.conf。网站配置文件通常放在同目录下或 /etc/nginx/conf.d/
  • 网站根目录:默认在 /usr/local/nginx/html
  • 日志目录:位于 /usr/local/nginx/logs/

注:如果已安装旧版Nginx,请先通过 yum remove nginx 卸载,或确保编译安装路径与旧版不同,避免冲突。

posted @ 2025-12-26 15:37  dirgo  阅读(3)  评论(0)    收藏  举报