配置Nginx访问的时候出现404 Not Found,403 Forbidden
我们在Linux中配置nginx的时候总是会遇到很多问题,这次我就遇到了,安装后,访问文件不存在,我明明将文件放入到哪个文件夹了,搞得我很难受。
一、清楚的知道自己安装的路径以及软件的配置文件的位置
我安装的位置是 :/home/nginx-1.17.5/
配置文件的路径是:/home/nginx-1.17.5/conf/nginx.conf
启动文件的位置是:/usr/local/nginx/sbin
之前还有浏览器无法浏览,就是地址输入后,浏览器无法访问,这个应该就是防火墙的问题,按照下面三步执行之后就可以了
二、解决404,访问不了的问题
这些操作是需要管理员的,当前用户不是管理员账户的话,使用下面命令,直接复制就好了,如果是管理员,不复制前面的sudo就好了
-
允许http通信 sudo firewall-cmd --permanent --zone=public --add-service=http 允许https通信 sudo firewall-cmd --permanent --zone=public --add-service=https 重启防火墙 sudo firewall-cmd --reload
三、403 Forbidden的解决方法
我试过很多种方法去解决这个问题,最后发现好多还是不可用
第一种修改启动用户(修改后发现没有用)
根据自己的安装位置进行修改配置文件

修改之后

第二种修改发布项目的目录操作权限(修改后发现没有用)
chmod -R 777 /home/toutiao/web
//:/home/toutiao/web是你发布项目的位置
依旧是对我的403没有任何改变
第三种、SELinux设置为开启状态(enabled)的原因
1.查看当前的SELinux的状态
/usr/sbin/sestatus

2.将SELINUX=enforcing 修改为 SELINUX=disabled 状态。
vi /etc/selinux/config

3.重启
reboot
第四种:在配置文件中添加
autoindex on;
下面的操作都是在/usr/local/nginx/sbin中操作的
关闭nginx服务
./nginx -s stop
开启服务并加载配置文件
/usr/local/nginx/sbin/nginx -c /home/nginx-1.17.5/conf/nginx.conf
之后就可以访问了
在测试的时候可以直接先使用第四种,测试,如果不行的话,再看前面几种给,可能我的不可以,你的就可以了
四、加载文件是nginx默认的页面,不是自己发布的项目时
这里有一个小问题,如果我们发布的文件用的配置文件是/home/nginx-1.17.5/conf/nginx.conf,那么我们每次启动之后见到的界面是下面这个

如果我们想将发布的项目直接显示的话,需要修改/usr/local/nginx/conf中的nginx.conf文件,因为虚拟机默认启动加载的是这个里面的配置文件。
如果不想更改配置文件的话,我们只能是每次启动时使用下面这个命令
/usr/local/nginx/sbin/nginx -c /home/nginx-1.17.5/conf/nginx.conf
这样再次加载出来的就是我们自己发布的项目了。
本文主要介绍了在Linux环境下配置Nginx时遇到404 Not Found和403 Forbidden错误的解决方法。包括确认软件安装路径和配置文件位置、解决404问题、403 Forbidden的四种解决方案,特别是针对SELinux状态的调整。同时提到了当加载文件显示为Nginx默认页面时如何切换到自定义项目。

被折叠的 条评论
为什么被折叠?



