nginx访问时报403,

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

1.    open() "/data/www/1.txt" failed (13: Permission denied), client: 192.168.1.194, server: www.web1.com, request: "GET /1.txt HTTP/1.1", host: "www.web1.com"

没有权限?于是找了不少资料,可以通过下面四步排查解决此问题。你可能只是其中之前配置有问题,不一定四个步骤都用上。

一、由于启动用户和nginx工作用户不一致所致

1.1查看nginx的启动用户,发现是nobody,而为是用root启动的

命令:ps aux | grep "nginx: worker process" | awk'{print $1}'

1.2将nginx.config的user改为和启动用户一致,

命令:vi conf/nginx.conf

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

1.    server {

2.      listen       80;

3.      server_name  localhost;

4.      index  index.php index.html;

5.      root  /data/www/;

6.    }

如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。

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

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

1.    chmod -R 777 /data

2.    chmod -R 777 /data/www/

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

4.1、查看当前selinux的状态。

1.    /usr/sbin/sestatus

4.2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。

1.    vi /etc/selinux/config

2.

3.    #SELINUX=enforcing

4.    SELINUX=disabled

4.3、重启生效。reboot。

1.    reboot

参考 https://blog.csdn.net/qq_35843543/article/details/81561240

最新文章

  1. POJ 2186 Popular Cows(Targin缩点)
  2. 【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分
  3. .net 之缓存
  4. 16 IO操作文件读写
  5. ajax提交表单
  6. oracle 清除当前用户的回收站
  7. 分布式MySQL集群方案的探索与思考
  8. ArcGIS 坐标系统文件
  9. 抽象工厂在ADO.Net中的应用
  10. URL和DNS解析
  11. python 数据结构
  12. poj 3158kickdown
  13. jquery初步总结
  14. 华科机考:N阶楼梯上楼
  15. [dedecms]隐藏栏目不生成静态页面
  16. C7.cpp
  17. K - Subarrays OR Gym - 102152K (思维)
  18. php模拟数据请求
  19. git使用(2)
  20. [POI2008] BLO

热门文章

  1. 每日一问:LayoutParams 你知道多少?
  2. python 使用nmap 模块
  3. BeanPostProcessor
  4. 冰多多团队Gamma阶段项目展示
  5. Asp.Net 服务器控件下使用Jquery.validate.js
  6. c#比较器辅助类
  7. 2 Linux性能优化--工具图
  8. NOI-动规题目集锦
  9. python安装 hanlp +使用 坑坑坑。。。填填填。。。
  10. 决策树(下)-Xgboost