我正在安装Nginx.以下是我遵循的步骤:
>将index.html文件放在/ root目录中
>编辑/etc/Nginx/Nginx.conf.编辑后,它看起来像这样:
user Nginx;
worker_processes 1;
error_log /var/log/Nginx/error.log;
...
http {
...
server {
listen 80 default_server;
server_name my_domain_name.com;
root /root;
...
}
>在this问题后,我放弃了权限:
gpasswd -a Nginx root
chmod g+x /root
(抱歉,无法正确格式化为代码)
>我重启了服务器:
service Nginx restart
我访问了my_domain_name.com并收到403错误. /var/log/Nginx/error.log内容:
"/root/index.html" is forbidden (13: Permission denied),client: 117.211.86.108,server: my_domain_name.com,request: "GET / HTTP/1.1",host: "my_domain_name.com"
最佳答案
哦!请don’t disable SELinux.
首先 – 你真的需要从/ root提供文件吗?这实际上是root用户的主目录,并不意味着是Web根目录.这实际上是一个非常糟糕的主意.相反,使用/ var / www / html或(我的偏好)/ srv / www.如果您使用/ root,请确保您没有公开ssh密钥或authorized_keys文件,数据库密码或类似的东西.这真是一个坏主意.
其次,您应该正确配置SELinux,而不是禁用selinux(在这种情况下,保护您不会做出危险的事情).在Fedora中,SELinux策略的设计使得Nginx与其他Web服务器共享,因此,使用/ srv / www / yoursite作为根,
chcon -R -t httpd_sys_content_t /srv/www/yoursite
应该这样做.