在 CentOS 上,Nginx 通常不包含在默认官方源中,需要先安装 EPEL 扩展源:

# 1. 安装 EPEL 扩展源sudo yum install -y epel-release# 2. 安装 Nginxsudo yum install -y nginx
# 启动 Nginxsudo systemctl start nginx# 设置开机自启sudo systemctl enable nginx# 查看运行状态sudo systemctl status nginx# 修改配置后重载服务(平滑重启,不中断连接)sudo systemctl reload nginx
为了让 Nginx 能够读取并展示文件,需要准备对应的目录并授予正确的读取权限。
sudo mkdir -p /var/www/share_files
CentOS 系统下 Nginx 的默认运行用户是 nginx。如果权限不正确,访问时会出现 403 Forbidden 错误。
# 1. 将目录所有者变更为 nginx 用户sudo chown -R nginx:nginx /var/www/share_files# 2. 赋予该目录及其子目录 755 权限(所有者可写,所有用户可读、可执行)sudo chmod -R 755 /var/www/share_files
echo "hello Nginx File Serve" | sudo tee /var/www/share_files/test.txt
Nginx 允许我们在 /etc/nginx/conf.d/ 目录下创建独立的 .conf 文件来管理不同的虚拟主机。
sudo vi /etc/nginx/conf.d/file_server.conf
使用非标准端口(如 8088)以绕过国内云厂商对未备案域名的 80/443 端口拦截:
server { # 监听端口(避开 80/443/8080 备案限制端口) listen 8088; server_name localhost; # 或者填写您的服务器公网 IP # 文件存放的绝对路径根目录 root /var/www/share_files; location / { # 1. 开启目录浏览功能 autoindex on; # 2. 友好展示文件大小(关闭 exact_size 后会显示成 KB/MB/GB,更直观) autoindex_exact_size off; # 3. 开启本地时间显示(默认 off 会显示 GMT 慢 8 小时的时间) autoindex_localtime on; # 4. 彻底解决网页上中文文件名乱码问题 charset utf-8,gbk; # 5. 支持跨域(如果其他前端页面需要请求这些文件) add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; }}在命令行中执行以下命令以确认配置文件语法无误:
sudo nginx -t
如果输出中包含 syntax is ok 和 test is successful,说明配置完全正确。
sudo systemctl reload nginx
在配置完成后,如果外部依然无法访问,请按以下步骤逐一排查:
在服务器终端中执行本地请求,验证 Nginx 是否已在本地正常工作:
curl -I http://127.0.0.1:8088
如果返回了 HTTP/1.1 200 OK 并且带有您配置的 Headers,说明本地 Nginx 逻辑完全正常。
情况 A:Firewalld 处于激活状态 您需要手动放行 8088 端口:
sudo firewall-cmd --zone=public --add-port=8088/tcp --permanentsudo firewall-cmd --reload
情况 B:Firewalld 未运行(提示 FirewallD is not running) 说明系统防火墙已关闭,系统本身没有限制,跳过此步骤即可。
TCP,端口为 8088,策略为 允许。80、443 或 8080 端口时,常常会被云服务商的安全阻断系统拦截(浏览器报错 ERR_CONNECTION_CLOSED)。使用 8088 等非标准端口可以完美避开备案检查。| 操作 | 命令 |
|---|---|
| 测试配置文件 | nginx -t |
| 平滑重载配置 | systemctl reload nginx |
| 重启 Nginx 服务 | systemctl restart nginx |
| 查看监听端口 | ss -tlnp 或 netstat -tlnp |
| 查看 Nginx 日志 | 默认错误日志:/var/log/nginx/error.log默认访问日志: |
以上就是CentOS Nginx安装与静态文件服务器配置指南的详细内容,更多关于CentOS Nginx安装的资料请关注本站其它相关文章!
您可能感兴趣的文章: