当前位置: 首页 > news >正文

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 卸载,或确保编译安装路径与旧版不同,避免冲突。

http://www.jsqmd.com/news/144115/

相关文章:

  • 【Open-AutoGLM使用全攻略】:从零到精通的5大核心技巧
  • 成都GEO优化新浪潮:当企业搜索流量被AI重塑,谁能成为领航者? - 品牌企业推荐师(官方)
  • Forest项目MySQL数据库迁移指南
  • 大模型RAG性能优化:一文读懂7种分块策略,小白也能轻松上手!
  • 论文AI率过高怎么降?3款免费工具亲测有效,附详细避坑指南
  • 【Open-AutoGLM源码下载地址曝光】:全球首发!AI自动代码生成神器核心代码免费获取
  • Windows Server 2016下搭建SQL Server 2012集群
  • Open-AutoGLM手机端首发实测:大模型离线运行真的可行了吗?
  • Codev材料库
  • 得物Java面试被问:Fork/Join框架的使用场景
  • 使用wechatDownload批量保存公众号文章
  • 为开源数据库集群配置VIP(虚拟IP)的2种方案
  • 2025年口碑好的中空板行业内口碑厂家排行榜 - 行业平台推荐
  • 月薪6W不是梦!双非二本科生也能挑战这个高薪新兴领域,抓住机会就是现在!
  • 天津集装箱生产源头厂家口碑炸裂,集装箱办公/箱式房/活动板房/集装箱住宿,集装箱生产厂家哪个好 - 品牌推荐师
  • 2025最新智能安检门/X光安检机/升降柱厂家TOP10推荐:场景适配与合规实力双优榜单 - 深度智识库
  • TPAMI‘25 | 首个多轮、开放视角视频问答基准,系统分类9大幻觉任务
  • “函数指针”和“指针函数”区分清楚
  • 深入理解函数栈帧的创建与销毁过程
  • 前端 + AI 进阶 Day 3:打字机效果 + 流式交互控制
  • 2025年西安装修设计公司推荐:这家头部企业综合评估,装修党速码! - 深度智识库
  • 别折腾了!2026年降AI只有这3条路能走通(附手动+工具实操)
  • 使用threading
  • 【紧急预警】Open-AutoGLM或面临敏感数据外泄?专家级防护建议出炉
  • 使用智能AI代理自动化创建数据故事
  • Git版本控制入门与IDEA集成实战
  • AI论文写作终极神器:8款工具精准控AI率,一键搞定毕业论文!
  • Java实现多类型图形验证码生成
  • CMake使用案例
  • Google新开源项目A2UI:AI 智能体如何安全地生成丰富的用户界面?