在搭建 Web 服务器时,Nginx 因其高性能、低资源消耗和高并发处理能力而广受欢迎。然而,很多初学者在安装 Nginx 后忽略了权限设置这一关键步骤,导致服务器存在安全隐患。本文将手把手教你如何正确安装 Nginx 并合理配置文件与目录权限,确保你的 Linux 服务器安全可靠。
在开始之前,请确保你使用的是具有 sudo 权限的用户(如普通用户而非 root)。首先更新系统软件包:
$ sudo apt update && sudo apt upgrade -y # Ubuntu/Debian# 或$ sudo yum update -y # CentOS/RHEL 使用系统包管理器安装 Nginx 非常简单:
# Ubuntu/Debian$ sudo apt install nginx -y# CentOS/RHEL(需先启用 EPEL)$ sudo yum install epel-release -y$ sudo yum install nginx -y 安装完成后,启动并设置开机自启:
$ sudo systemctl start nginx$ sudo systemctl enable nginx Nginx 默认以 www-data(Debian/Ubuntu)或 nginx(CentOS)用户身份运行。你可以通过以下命令查看:
$ ps aux | grep nginx 输出中你会看到类似 www-data 或 nginx 的用户名。这个用户就是 Nginx 工作进程的身份,它决定了 Nginx 能访问哪些文件。
为了安全,必须严格控制 Nginx 相关目录的权限。以下是几个核心目录及其推荐权限:
root,权限 755root:adm 或 root:nginx,权限 755your_user:www-data(或 your_user:nginx),权限 755(目录)和 644(文件)假设你的网站放在 /var/www/mywebsite,执行以下命令设置权限:
# 创建网站目录$ sudo mkdir -p /var/www/mywebsite# 设置所有者(假设你的用户名是 ubuntu)$ sudo chown -R ubuntu:www-data /var/www/mywebsite # Debian/Ubuntu# 或$ sudo chown -R ubuntu:nginx /var/www/mywebsite # CentOS# 设置目录权限$ sudo chmod -R 755 /var/www/mywebsite# 确保文件权限为 644$ find /var/www/mywebsite -type f -exec chmod 644 {} \; 在 Nginx 配置中,务必阻止访问如 .env、.git、config.php 等敏感文件。编辑你的站点配置文件(通常位于 /etc/nginx/sites-available/):
server { listen 80; server_name example.com; root /var/www/mywebsite; index index.html index.php; # 禁止访问隐藏文件(以 . 开头) location ~ /\. { deny all; } # 禁止访问特定扩展名 location ~* \.(env|git|ini|log|sh|sql|bak)$ { deny all; }} 修改后重载 Nginx 配置:
$ sudo nginx -t # 测试配置是否正确$ sudo systemctl reload nginx root 用户运行 Nginx 工作进程。ufw 或 firewalld)限制不必要的端口访问。777 权限——这是新手常见错误!通过合理的 Nginx安装 和 权限设置,你可以大幅提升服务器的安全性。记住,安全不是一次性任务,而是持续的过程。希望这篇 Nginx配置教程 能帮助你在 Linux服务器安全 的道路上走得更稳!
如果你觉得有用,欢迎分享给更多正在学习运维的朋友!
本文由主机测评网于2025-11-30发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025111365.html