Linux下Nginx安装指南:编译与yum教程
时间:2026-03-19 17:38:30 346浏览 收藏
本文详细介绍了在Linux系统中部署Nginx的两种主流方式——快速便捷的yum安装与高度可定制的源码编译安装,涵盖从环境准备、依赖安装、服务配置到最终验证的完整流程,帮助运维人员和开发者根据实际需求(如是否需要第三方模块、性能调优或长期维护便利性)灵活选择最适合的部署方案,并确保Nginx稳定、安全、高效地运行。

如果您需要在Linux系统中部署Nginx作为Web服务,可选择源码编译安装或使用包管理器(如yum)进行安装。两种方式适用不同场景:编译安装便于自定义模块与优化参数,yum安装则更快速且易于维护。以下是具体操作步骤:
一、使用yum安装Nginx
yum安装依赖于系统已配置的软件仓库,适用于CentOS/RHEL 7/8及AlmaLinux/Rocky Linux等兼容发行版,安装过程自动处理依赖并完成基础配置。
1、更新系统软件包索引:
执行命令 sudo yum update -y。
2、安装EPEL扩展源(CentOS 7需执行,RHEL 8+或AlmaLinux默认已启用):
执行命令 sudo yum install epel-release -y。
3、安装Nginx主程序:
执行命令 sudo yum install nginx -y。
4、启动Nginx服务并设置开机自启:
执行命令 sudo systemctl start nginx && sudo systemctl enable nginx。
5、验证服务状态:
执行命令 sudo systemctl status nginx,确认输出中显示“active (running)”。
二、源码编译安装Nginx
源码编译安装允许指定安装路径、启用第三方模块(如nginx-rtmp-module)、关闭不需要的功能,并适配特定CPU指令集,适合对性能与功能有定制化需求的环境。
1、安装编译依赖工具与库:
执行命令 sudo yum groupinstall "Development Tools" -y。
2、安装Nginx运行所需的基础库:
执行命令 sudo yum install pcre-devel zlib-devel openssl-devel -y。
3、创建专用用户以降低安全风险:
执行命令 sudo useradd -r -s /sbin/nologin nginx。
4、下载Nginx源码包(以1.24.0版本为例):
执行命令 wget https://nginx.org/download/nginx-1.24.0.tar.gz。
5、解压并进入源码目录:
执行命令 tar -zxvf nginx-1.24.0.tar.gz && cd nginx-1.24.0。
6、配置编译参数(指定安装路径、用户、启用HTTP模块):
执行命令 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module。
7、编译并安装:
执行命令 make && sudo make install。
8、创建systemd服务单元文件以便系统管理:
执行命令 sudo tee /etc/systemd/system/nginx.service << 'EOF',随后逐行输入以下内容:
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=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 -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=TERM
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF。
9、重载systemd配置并启动服务:
执行命令 sudo systemctl daemon-reload && sudo systemctl start nginx && sudo systemctl enable nginx。
三、验证Nginx安装结果
无论采用哪种安装方式,均需确认Nginx进程正常监听80端口,并能响应HTTP请求,确保基础Web服务能力可用。
1、检查80端口监听状态:
执行命令 sudo ss -tuln | grep :80,确认输出包含nginx进程绑定信息。
2、查看Nginx默认欢迎页是否可访问:
在本地浏览器中输入服务器IP地址,确认显示“Welcome to nginx!”页面。
3、若使用防火墙(firewalld),需放行HTTP服务:
执行命令 sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --reload。
4、检查Nginx主配置文件语法是否正确:
执行命令 sudo nginx -t,返回“syntax is ok”和“test is successful”表示无误。
5、手动发送HTTP请求验证响应头:
执行命令 curl -I http://127.0.0.1,确认返回状态码为200及Server头含“nginx”字样。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
454 收藏
-
107 收藏
-
291 收藏
-
487 收藏
-
401 收藏
-
487 收藏
-
249 收藏
-
235 收藏
-
276 收藏
-
170 收藏
-
324 收藏
-
375 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习