zzt3313066737 2024-05-29 16:58 采纳率: 33.3%
浏览 11

Nginx站点访问基础问题

我用yum源下载了最新版本的nginx,并用浏览器访问成功了80端口,但是我在里面添加了另一站点并配置81端口,访问文件地址也改成了我创建的一个文件这里没问题,然后重启成功,我用浏览器访问81端口里面我命名为p1.png的文件,但是出现了403,这是为什么啊,我防火墙关掉了,是不是权限问题,可是那个80端口还可以访问啊,我把图片放去80端口那个文件目录下都可以加载出来没什么问题。

  • 写回答

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配置文件部分,以便我能进一步分析。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月29日

悬赏问题

  • ¥15 QQ邮箱过期怎么恢复?
  • ¥15 登录他人的vue项目显示服务器错误
  • ¥15 (标签-android|关键词-app)
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)