- A+
所属分类:linux问题解决
403一般代表没有权限访问。
出现问题:更改nginx默认root目录后出现403
解决思路:
1.sellinux作怪,常见,也容易忽略。可以getenforce 查看当前sellinux状态
解决办法:
a.临时:
1 2 |
[root@web2 www]# setenforce 0 |
b.永久:
1 2 3 4 5 |
[root@web2 www]# vim /etc/selinux/config SELINUX=enforcing 修改为 SELINUX=disabled 然后重启生效 |
2.没有设置默认首页文件导致,可以通过访问绝对路径查看是否有问题,如打开www.iyunw.cn/index.htm试试,如果可以就代表是此问题,前提网站目录需要有index.htm文件
解决办法:
1 2 3 4 5 |
location / { root /data/www; index index.html index.htm index.php; } |
3.文件权限不对
yum 安装nginx默认运行用户是nginx,我们需要给网站目录更改为nginx用户的权限,如下范例在/data/www下文件
解决办法:
1 2 |
[root@web2 www]# chown -R nginx.nginx /data |
4.运行静态文件没有问题,但是发现打开php就出现403,php配置已经加载
这种问题一般是php运行用户yum安装是apache,由于apache用户无法对nginx用户的文件操作,需要修改php配置文件,将用户改为nginx,或者开放文件夹和文件权限给apache用户。
我的解决办法,php-fpm用户为nginx:
1 2 3 4 5 6 7 8 9 |
[root@web2 www]# vim /etc/php-fpm.d/www.conf user = apache group = apache 改为 user = nginx group = nginx 重启php-fpm |
这只是我遇到的常见问题,如果有其他问题也可以按照这种思路查看。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫