CentOS 下 Nginx 核心文件、目录与命令详解
				
									
					
					
						|  | 
							admin 2025年6月28日 23:38
								本文热度 2303 | 
					
				 
				CentOS 下 Nginx 核心文件、目录与命令详解
Nginx 是一款高性能的 Web 服务器和反向代理工具,广泛应用于生产环境。本文将以 CentOS 7/8 为例,详细介绍 Nginx 的关键文件、目录结构及常用命令,帮助用户快速掌握其配置与管理。
目录结构
 在这里插入图片描述
在这里插入图片描述
1. 安装目录与配置文件
- 安装路径
 Nginx 默认通过- yum安装到以下路径:
 - /usr/sbin/nginx          # Nginx 可执行文件
 /etc/nginx/              # 主配置目录
 /usr/share/nginx/html/   # 默认网站根目录(存放静态文件)
 
 
- /etc/nginx/nginx.conf
 Nginx 主配置文件,定义全局参数(如工作进程数、日志路径等)。 文件是 NGINX 守护进程使用的默认配置入口点。此配置文 件能够为 worker 进程、调优、日志记录、动态模块的加载以及对其他 NGINX 配 置文件的引用设置全局设置。在默认配置中,/etc/nginx/nginx.conf 文件包括顶层 http 代码块,也就是上下文,它提供了下述目录中的所有配置文件。
 
- /etc/nginx/conf.d/
 存放用户自定义的服务器块(Server Block)配置,通常以- .conf结尾。
 
- /etc/nginx/modules/
 动态模块加载目录(CentOS 默认不使用- sites-available/enabled结构)。
 
-  /var/log/nginx//var/log/nginx/ 目录是 NGINX 的默认日志位置,您可以从中找到一个 access.log 文件和 error.log 文件。默认情况下,访问日志包含 NGINX 服务的每条请求的条 目。如果启用了 debug 模块,则错误日志文件包含错误事件和调试信息。
 
- 默认站点配置 - /etc/nginx/conf.d/default.conf  # 默认的服务器块配置模板
 
 
2. 日志文件
- 访问与错误日志 - /var/log/nginx/access.log   # 记录所有客户端请求
 /var/log/nginx/error.log    # 记录 Nginx 运行时错误和警告
 
 
- 日志轮转配置 - /etc/logrotate.d/nginx      # 日志自动切割策略
 
 
3. 缓存与临时文件
- 代理缓存 - /var/cache/nginx/           # 存放代理缓存和 FastCGI 缓存
 
 
- 临时文件 - /var/lib/nginx/             # 存放临时文件和状态数据
 
 
4. SSL/TLS 证书
- 默认证书路径/etc/pki/tls/certs/         # 系统默认 SSL 证书存储位置
 /etc/letsencrypt/live/      # Let's Encrypt 证书路径(使用 Certbot 时)
 
 
关键命令
1. 安装与更新
# 安装 Nginx(需启用 EPEL 仓库)
sudo yum install epel-release
sudo yum install nginx
# 更新 Nginx
sudo yum update nginx
2. 服务管理
# 启动/停止/重启/重载
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx    # 强制重启(中断连接)
sudo systemctl reload nginx     # 平滑重载配置(推荐)
# 设置开机自启
sudo systemctl enable nginx
# 查看服务状态
sudo systemctl status nginx
3. 配置检查与调试
# 检查配置文件语法
sudo nginx -t
# 查看 Nginx 版本及编译参数
nginx -V
# 查看运行中的配置(需 root 权限)
sudo nginx -T
4. 日志管理
# 实时监控访问日志
tail -f /var/log/nginx/access.log
# 查看最近 100 条错误日志
tail -n 100 /var/log/nginx/error.log
# 清空日志文件(谨慎操作)
cat /dev/null > /var/log/nginx/access.log
5. 进程管理
# 查看 Nginx 进程
ps aux | grep nginx
# 强制终止所有 Nginx 进程
sudo pkill nginx
配置示例
1. 添加新站点
- 在 /etc/nginx/conf.d/创建配置文件(如my-site.conf):server {
 listen 80;
 server_name example.com;
 root /usr/share/nginx/my-site;
 index index.html;
 }
 
 
- 检查配置并重载:sudo nginx -t && sudo systemctl reload nginx
 
 
2. 配置 HTTPS
- 使用 Certbot 自动生成证书:sudo certbot --nginx -d example.com
 
 
- 证书续期测试:sudo certbot renew --dry-run
 
 
3. 反向代理配置
在 /etc/nginx/conf.d/proxy.conf 中添加:
server {
    listen 80;
    server_name api.example.com;
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
注意事项
- 防火墙配置
 CentOS 默认使用- firewalld,需开放 HTTP/HTTPS 端口:
 - sudo firewall-cmd --permanent --add-service=http
 sudo firewall-cmd --permanent --add-service=https
 sudo firewall-cmd --reload
 
 
- SELinux 问题
 若遇到权限错误,可临时禁用 SELinux 或调整策略:
 - sudo setenforce 0          # 临时禁用
 sudo semanage port -a -t http_port_t -p tcp 8080  # 允许自定义端口
 
 
- 默认配置清理
 建议禁用默认站点:
 - sudo rm /etc/nginx/conf.d/default.conf
 
 
总结
通过掌握 CentOS 下 Nginx 的核心文件、目录和命令,您可以高效地部署和管理 Web 服务。建议结合 nginx -t 检查配置后再重载服务,避免因语法错误导致服务中断。
阅读原文:原文链接
该文章在 2025/7/1 23:24:17 编辑过