配置Nginx访问的时候出现404 Not Found,403 Forbidden

it2023-05-09  75

配置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

这样再次加载出来的就是我们自己发布的项目了。

最新回复(0)