Nginx 以其高性能、低内存消耗和丰富的功能集,成为当今最流行的 Web 服务器和反向代理之一,在稳定可靠的 CentOS 系统上部署 Nginx 是许多开发者和系统管理员的首选方案,本文将详细介绍在 CentOS 系统中安装和配置 Nginx 的完整流程,旨在提供一个清晰、准确且易于操作的指南。
选择安装方式
在 CentOS 上安装 Nginx 主要有两种主流方式:通过 EPEL (Extra Packages for Enterprise Linux) 仓库或通过 Nginx 官方仓库,EPEL 仓库集成在系统中,安装简单,但版本可能不是最新的,官方仓库则能提供 Nginx 的最新稳定版,推荐追求新功能和性能优化的用户使用,下表对比了两种方式的优缺点:
安装方式 | 优点 | 缺点 |
---|---|---|
EPEL 仓库 | 简单快速,与系统包管理器无缝集成 | 版本更新滞后,可能缺少新功能 |
官方 Nginx 仓库 | 可获取最新稳定版,功能最全 | 需要手动配置仓库源 |
通过官方 Yum 仓库安装
这是推荐的方法,可以确保您获得 Nginx 的最新版本。
添加 Nginx 官方仓库
使用vi
或nano
编辑器创建一个新的仓库文件。sudo vi /etc/yum.repos.d/nginx.repo
粘贴到文件中,此配置适用于 CentOS 7 和 8/Stream,
$releasever
变量会自动匹配您的系统版本。[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
导入 GPG 密钥
为了验证软件包的完整性,需要导入 Nginx 的官方 GPG 密钥。sudo rpm --import https://nginx.org/keys/nginx_signing.key
安装 Nginx
现在可以使用 Yum(CentOS 7)或 DNF(CentOS 8/Stream)来安装 Nginx。# CentOS 7 sudo yum install nginx # CentOS 8/Stream sudo dnf install nginx
安装后基本配置
安装完成后,需要进行一系列操作来启动并启用 Nginx 服务。
启动 Nginx 服务
sudo systemctl start nginx
设置开机自启
确保 Nginx 在系统重启后能自动运行。sudo systemctl enable nginx
检查服务状态
可以通过以下命令确认 Nginx 是否正在正常运行。sudo systemctl status nginx
配置防火墙
CentOS 默认使用 firewalld
作为防火墙管理工具,您必须开放 HTTP(80端口)和 HTTPS(443端口)服务,否则外部无法访问您的 Web 服务器。
# 永久开放 HTTP 服务 sudo firewall-cmd --permanent --add-service=http # 永久开放 HTTPS 服务 sudo firewall-cmd --permanent --add-service=https # 重新加载防火墙配置使规则生效 sudo firewall-cmd --reload
验证安装与核心文件
完成上述步骤后,您可以通过在浏览器中访问服务器的 IP 地址或域名来验证 Nginx 是否安装成功,如果看到 “Welcome to Nginx!” 的页面,则说明一切正常。
了解 Nginx 的核心配置文件和目录位置对于后续管理至关重要:
- 主配置文件:
/etc/nginx/nginx.conf
– 包含全局设置。 - 虚拟主机配置目录:
/etc/nginx/conf.d/
– 在此目录下创建.conf
文件来管理不同网站。 - 网站根目录:
/usr/share/nginx/html/
– 默认网站的文件存放位置。 - 日志目录:
/var/log/nginx/
– 存放访问日志(access.log)和错误日志(error.log)。
相关问答 (FAQs)
我成功安装了 Nginx,但为什么在浏览器中无法访问?
解答: 这通常是防火墙问题,请确保您已经按照本文中的“配置防火墙”部分,正确地开放了 HTTP(80)和 HTTPS(443)端口,如果防火墙配置无误,请检查 Nginx 服务是否正在运行(systemctl status nginx
),以及您的云服务提供商(如阿里云、腾讯云)是否有额外的安全组规则需要配置。
我的网站文件应该放在哪里?如何添加一个新的网站?
解答: 默认的网站文件存放在 /usr/share/nginx/html/
目录,但要添加新网站,最佳实践是在 /etc/nginx/conf.d/
目录下创建一个新的 .conf
配置文件(mynewsite.conf
),在该文件中定义一个新的 server
块,指定 server_name
(您的域名)、root
网站文件目录(可以自定义,如 /var/www/mynewsite
)以及监听端口等,配置完成后,使用 sudo nginx -t
测试配置,无误后重启 Nginx(sudo systemctl restart nginx
)即可。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复