• Nginx站点访问基础问题


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 zzt3313066737 2024-05-29 16:58 采纳率: 33.3% 浏览 11 首页/ 运维 / Nginx站点访问基础问题 linuxcentosnginx 我用yum源下载了最新版本的nginx,并用浏览器访问成功了80端口,但是我在里面添加了另一站点并配置81端口,访问文件地址也改成了我创建的一个文件这里没问题,然后重启成功,我用浏览器访问81端口里面我命名为p1.png的文件,但是出现了403,这是为什么啊,我防火墙关掉了,是不是权限问题,可是那个80端口还可以访问啊,我把图片放去80端口那个文件目录下都可以加载出来没什么问题。 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-29 16:58
      关注

      引自免费微信小程序:皆我百晓生

      看起来你遇到了一个常见的Nginx权限问题。当Nginx尝试访问某个文件时返回403错误(Forbidden),通常是因为Nginx运行的用户(通常是nobodywww-data)没有足够的权限读取该文件或其所在的目录。由于80端口的站点可以正常访问,我们可以推测可能的原因是新站点的目录或文件权限设置不同。

      首先,让我们检查一下Nginx运行用户的用户名。在大多数Linux系统中,Nginx默认使用www-data用户运行,但具体取决于你的系统配置。你可以通过查看Nginx主配置文件确定这一点。在 CentOS/RHEL 系统上,这个文件位于 /etc/nginx/nginx.conf,而在 Ubuntu/Debian 系统上,它通常位于 /etc/nginx/sites-available/default/etc/nginx/sites-enabled/default

      接下来,我们执行以下步骤来解决这个问题:

      1. 找到你的新站点配置文件,例如:/etc/nginx/conf.d/mysite.conf
      2. 确定新站点的根目录,例如:root /var/www/html/mysite;
      3. 使用命令行切换到该目录:
        sudo su -
        cd /var/www/html/mysite
        
      4. 检查当前的文件和目录权限:
        ls -l
        
      5. 如果发现Nginx用户(如www-data)没有读取权限,你需要修改权限。将所有者更改为Nginx用户,并赋予适当的权限:
        chown -R www-data:www-data .
        find . -type f -exec chmod 644 {} \;
        find . -type d -exec chmod 755 {} \;
        

      这些命令会将当前目录及其内容的所有权更改为你系统的Nginx用户,并为所有文件设置可读、可执行权限,对所有目录设置可读、可写、可执行权限。确保替换www-data为你的系统中实际的Nginx用户。

      1. 重启Nginx服务以应用新的权限更改:
        systemctl restart nginx
        

      完成上述操作后,你应该能够通过 http://yourdomain.com:81/p1.png 访问到你的图片了。如果你还是遇到问题,可能需要检查Nginx配置文件中的location块是否正确指向了图片文件。确保配置类似于这样:

      server {
          listen 81;
          server_name yourdomain.com;
      
          root /var/www/html/mysite;
          index index.html index.htm index.php;
      
          location / {
              try_files $uri $uri/ =404;
          }
      
          location ~* \.(jpg|jpeg|png|gif|ico)$ {
              expires max;
              access_log off;
          }
      }
      

      这段配置允许Nginx服务器处理静态图像请求。确保将 yourdomain.com 替换为你的域名或IP地址,以及调整 rootlocation 块以匹配你的实际路径。如果问题依然存在,请提供详细的Nginx配置文件部分,以便我能进一步分析。

      展开全部

      评论 编辑记录
    • 阿里嘎多学长 2024-05-29 16:58
      关注

      以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


      【解题思路】:检查81端口配置和防火墙设置。

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    如何处理MindSpore Lite推理精度异常问题
    【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 概述
    qt环境配置
    【ML】自动编码器结合支持向量回归用于回归预测(数据+代码详细教程)
    微信小程序python+nodejs+php+springboot+vue 学习资料销售平台
    学习Bootstrap 5的第十四天
    中国机构票房排行查询易语言代码
    使用Redis优化Java应用的性能
    第二章 计算机算术
    软考 - 网络工程师考试大纲
  • 原文地址:https://ask.csdn.net/questions/8111203