访问nginx显示未找到站点

一、您的请求在Web服务器中没有找到对应的站点

当我们在安装好nginx准备访问80端口时,突然出现您的请求在Web服务器中没有找到对应的站点。这时就纳闷了,明明跟着步骤一步步进行安装的,怎么就访问不到呢。

二、分析问题所在

1.首先进入管理员root权限
sudo su
2.查看nginx.service的服务状态
systemctl status nginx.service

这里明明显示nginx服务是 active (running),正在运行的,可就是访问不了。

三、解决方案

1.cd来到来到我们当时安装nginx时下的sbin目录
cd /usr/local/nginx/sbin
2.查看我们当前启动nginx的进程有哪些
ps -ef|grep nginx

可以看到这里有三个进程在占用我们的80端口,如果这个时候我们启动nginx服务,会有下面的效果,说明当前我们的nginx所要使用的80端口是正在被占用的。

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

3.杀死所有正在使用nginx的进程
kill -9 进程号(所有)

拿这里的情况举例,在终端输入kill -9 14186 14187 14188 14985,将所有正在使用nginx的进程杀死。进程号是左边的数字号。

4.启动nginx服务
./nginx

如果在启动nginx服务过程中没有任何的报错,说明启动成功。

启动成功后,我们再次查看nginx.service的服务状态

systemctl status nginx.service

5.访问我们的localhost

nginx成功启动,并且服务状态没问题之后,我们访问localhost或者自己的域名或者外网ip

,产看返回页面结果。

curl localhost

这里已经成功访问到nginx服务页面,显示Welcome to nginx!

6.在浏览器访问nginx服务

在浏览器输入我们的域名或者服务器的外网ip就能成功访问到nginx页面,问题成功解决。

希望能对大家有所帮助。

### 解决 Nginx 返回 403 Forbidden 错误的方法 #### 修改文件和目录权限 当遇到403 Forbidden错误时,可能是由于Nginx没有足够的权限去访问所需的文件或目录。通过调整这些资源的权限可以解决问题。 对于位于`/opt/html/`下的网站根目录及其子项,可以通过赋予更宽松的权限来允许Nginx读取它们: ```bash chmod -R 755 /opt/html/ ``` 这会给予所有者完全控制权(读、写、执行),而群组和其他人都只有读取和进入该目录的权利[^2]。 #### 更改所有权至Nginx运行账户 另一种方式是改变整个站点文件夹的所有者为Nginx服务使用的用户账号,比如通常默认的是`www-data`或者配置中指定的其它用户名字: ```bash chown -R www-data:www-data /opt/html/ ``` 完成更改后记得重启Nginx使设置生效[^1]。 #### 检查并修正特殊权限情况 有时即使设置了适当的标准Unix/Linux文件系统权限仍然会发生403错误。这是因为某些情况下可能存在额外的安全机制影响着实际可用的操作权利。例如SELinux策略可能阻止了预期的行为;又或是之前处理过的压缩包解压后的文件继承了一些严格的ACLs (Access Control Lists),像这样drwx------形式显示出来的权限就表明除了所有者外没有任何人能够查看里面的内容[^3]。 针对这种情况应该仔细审查相关路径上的每一个组成部分直到找到最底层的原因所在,并针对性地做出相应调整以满足需求而不至于过度开放不必要的风险敞口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值