专栏首页Python解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法

解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法

我是在在本地用虚拟机中通过yum安装nginx的,安装一切正常,但是访问时报403,

于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permission denied,详细报错如下:

2018/11/28 11:39:40 [error] 41772#41772: *130 "/home/hc/dists/autoAweme/dist/index.html" is forbidden (13: Permission denied), client: 192.168.3.139, server: 192.168.3.139, request: "GET / HTTP/1.1", host: "192.168.3.139"

原因一:由于启动用户和nginx工作用户不一致所致

1 查看nginx的启动用户

命令:

ps aux | grep "nginx: worker process" | awk  '{print $1}'
[root@localhost hc]# ps aux | grep "nginx: worker process" | awk  '{print $1}'
nginx
root

发现是nginx,而不是用root启动的

2. 将nginx.conf的user改为和启动用户一致

将nginx.conf文件中的 user 对应的nginx 改为 root ,改完后重启

[root@localhost hc]# vim /etc/nginx/nginx.conf
[root@localhost hc]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost hc]# nginx -s reload

二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。

server {
listen 80;
server_name localhost;
index index.php index.html;
root / var/www;
}

如果在/ var/www下面没有index.php,index.html的时候,直接访问域名,找不到文件,会报403 forbidden。

三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

chmod -R 755 / var/www

四、SELinux设置为开启状态(enabled)的原因

首先查看本机SELinux的开启状态,如果SELinux status参数为enabled即为开启状态

/usr/sbin/ sestatus -v

或者使用getenforce命令检查

如何关闭 SELinux 呢

1.临时关闭(不用重启)

setenforce  0

2. 永久关闭(需要重启)

修改配置文件 /etc/ selinux/config,将SELINUX=enforcing改为SELINUX=disabled

    vi /etc/selinux/config
 

   #SELINUX=enforcing

   SELINUX=disabled

重启生效。

reboot

参考:https://blog.csdn.net/onlysunnyboy/article/details/75270533

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • centos7 nginx安装 及MySQL-python

    用户1214487
  • linux每日命令(26):Linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。具体情况如下:

    用户1214487
  • centos7 ping: www.baidu.com: Name or service not known

    用户1214487
  • day108&day109部分-Linux安装和配置nginx

    少年包青菜
  • 盘点Linux运维常用工具(二)-web篇之nginx

    #查看地址:https://w3techs.com/technologies/overview/web_server/all

    老油条IT记
  • centOS7.4+nginx 1.12.2负载均衡

    一:安装 nginx  1:下载nginx rpm 包 ]# wget http://nginx.org/packages/centos/7/noarch/...

    拓荒者
  • nginx入门学习——编译安装 原

    Nginx是一款高性能的Web服务器、邮件服务器和反向代理服务器,由俄罗斯人Igor Sysoev(伊戈尔·赛索耶夫)开发的。

    阿dai学长
  • [docker]Nginx安装部署

    4.在浏览器访问ip:8081端口则可以成功访问Nginx的欢迎界面 5.开始部署Nginx,先创建文件夹用来存放对应的文件

    贰叁壹小窝
  • linux彻底删除nginx

    人生不如戏
  • LINUX安装nginx详细步骤

    将端口号改成8089,因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。

    DencyCheng

扫码关注云+社区

领取腾讯云代金券