Nginx 官方YUM源安装笔记
一、安装方式简介
1. 方式优势(对比系统自带YUM、源码编译)
对比系统自带YUM:获取Nginx官方最新稳定版,修复老旧版本漏洞,功能更新及时
对比源码编译:无需手动解决依赖、无需编译耗时、无需配置系统服务,全程自动化
核心优点:一键安装、自动适配系统环境、支持yum一键升级/卸载、自带开机自启、官方维护安全稳定
适用场景:90%企业生产环境、日常部署、测试环境,是CentOS7下最推荐的常规安装方式
2. 方式缺点
无法自定义编译模块、无法自由指定任意历史版本(仅提供官方维护的稳定版本);如需特殊定制,只能使用源码编译。
二、完整安装步骤(全程root权限)
1. 导入Nginx官方YUM源
添加CentOS7对应的Nginx官方仓库,让yum可以识别官方正版安装包
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2. 刷新YUM缓存
清空旧缓存,加载新添加的官方源缓存,避免安装版本出错
yum clean all && yum makecache3. 安装Nginx
yum install -y nginx4. 验证安装成功
nginx -v输出版本号即代表安装完成。
三、防火墙配置(必做)
CentOS7默认开启firewalld,需放行80(http)、443(https)端口,否则外部无法访问
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload四、Nginx核心目录与文件(官方YUM默认路径)
熟记核心路径,日常配置、排查问题必备
主配置文件:
/etc/nginx/nginx.conf站点虚拟主机配置目录:
/etc/nginx/conf.d/(推荐所有站点配置放此处)程序二进制文件:
/usr/sbin/nginx日志目录:
/var/log/nginx/(access.log访问日志、error.log错误日志)默认网页根目录:
/usr/share/nginx/html系统服务文件:
/usr/lib/systemd/system/nginx.service
五、常用运维命令
# 启动服务
systemctl start nginx
# 停止服务
systemctl stop nginx
# 重启服务(常用)
systemctl restart nginx
# 设置开机自启(默认已开启)
systemctl enable nginx
# 关闭开机自启
systemctl disable nginx
# 查看运行状态
systemctl status nginx
# 检查配置文件是否有误(改配置必执行)
nginx -t
# 平滑重载配置(不中断业务,改配置后推荐用)
nginx -s reload
六、systemctl 命令 vs Nginx 原生命令 深度区别(重点)
1. 两类命令本质差异
systemctl:Linux系统级服务管理命令,依托 systemd 管理 Nginx 整个服务生命周期,适配开机自启、服务状态监控、日志记录,是 CentOS7 标准运维方式。
nginx 原生命令:Nginx 程序内置命令,仅用于控制 Nginx 自身进程、读取配置,属于程序内部操作,不受系统服务管理器约束。
2. 常用操作一一对比
启动服务
systemctl start nginx:系统级启动,记录服务状态、日志,适配自启规则,生产推荐nginx:直接拉起进程,系统服务不识别,无法用 systemctl 管理状态,不推荐生产使用
停止服务
systemctl stop nginx:系统优雅停止,回收进程资源,更新服务状态nginx -s stop:强制快速停止;nginx -s quit:优雅退出(处理完当前请求再关闭)
重启服务
systemctl restart nginx:先 stop 再 start,会中断瞬时请求无原生重启命令,生产改配置不使用重启
重载配置
systemctl reload nginx:系统级平滑重载,效果同原生重载nginx -s reload:Nginx 原生平滑重载,不中断用户业务,改配置首选
3. 核心关键区别
服务识别性:systemctl 操作会被系统记录状态、纳入开机自启管理;原生命令操作系统无记录,容易出现状态错乱
业务影响:restart 类操作会断服务;reload 类操作平滑无感知,零停机
适用场景:系统启停、故障恢复、开机自启用 systemctl;修改配置、动态生效用 nginx -s reload
状态一致性:全程用 systemctl 管理,服务状态统一;混用两类命令容易导致 systemctl 状态与实际进程状态不一致
4. 生产环境最佳规范
启动、停止、开机自启、查看状态:统一用 systemctl
修改配置后生效:统一用 nginx -t && nginx -s reload
禁止随意混用两类命令,避免进程状态异常、端口占用等问题
七、升级与卸载命令
# 一键升级最新官方稳定版
yum update nginx -y
# 完全卸载Nginx(保留配置文件)
yum remove nginx -y
# 彻底卸载(删除所有配置、日志文件)
yum remove nginx -y && rm -rf /etc/nginx /var/log/nginx
八、访问验证
启动Nginx后,浏览器输入服务器公网IP/内网IP,出现 Welcome to nginx! 默认页面,代表环境搭建完全成功。
九、常见问题小结
端口冲突:启动失败多为80端口被httpd、其他Nginx占用,关闭冲突服务即可
外部无法访问:优先检查防火墙、服务器安全组(云服务器需后台放行80/443端口)
配置报错:执行
nginx -t查看具体错误位置,修正配置语法
十、安装方式总结对比
官方YUM:首选,简单稳定、版本新、易维护
系统自带YUM:仅临时测试使用,版本老旧
源码编译:仅需定制模块、特殊版本时使用