php项目部署至服务器报错403

php项目部署至阿里云服务器,项目采用的框架为thinkPHP,php采用我的是7.2,php与nginx都是采用docker容器的方式启动,访问页面时,报错403,然后图片也没有,请大铑指点。

img

你在nginx给项目配置了个二级目录转发?
你的浏览器地址栏显示的是admin
但是你报错的资源是static打头的

参考gpt:
当在阿里云服务器上部署PHP项目时,出现403错误通常是由于权限配置不正确或文件路径问题引起的。以下是一些常见的解决方法:

  1. 检查文件和目录权限:确保项目文件和目录的权限设置正确。一般来说,PHP文件应该具有可执行权限(一般为644),目录应该具有可读和可执行权限(一般为755)。你可以使用chmod命令来更改文件和目录的权限。
  2. 检查nginx配置:检查nginx的配置文件是否正确配置了服务器块(server block)和相应的位置指令。确保指定了正确的项目根目录和PHP处理方式。
  3. 检查SELinux设置:如果你的服务器启用了SELinux安全模块,确保SELinux设置不会阻止nginx访问你的项目文件。你可以使用semanage或chcon命令来修改SELinux策略。
  4. 检查PHP配置:检查你的PHP配置文件(php.ini),确保正确设置了文件上传路径、目录权限等相关配置。
  5. 查看nginx和PHP日志:查看nginx和PHP的错误日志,通常位于/var/log/nginx/error.log和/var/log/php-fpm.log。日志文件中可能会提供有关403错误的更详细的信息,帮助你确定问题所在。
  6. 尝试访问其他文件:尝试访问一些非PHP文件(如静态HTML文件),看是否也会出现403错误。如果只有PHP文件受影响,可能是PHP解释器或框架配置的问题。
    通过逐步检查和调试上述问题,你应该能够找到引起403错误的具体原因,并采取相应的措施进行修复。如果问题仍然存在,提供相关的错误日志和配置文件内容将有助于更详细地分析和解决问题。

目前看是你的前端js等文件路径不对

尝试以下两种方式
1,nginx配置文件首部增加

user root

2,配置PHP伪静态

  • 这篇博客: docker 配置 nginx和php-fpm 跨服务器运行中的 测试thinkphp运行是否正常 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    1. 修改nginx配置,由于thinkphp需要指定运行目录是public,所以location需要修改。
      在这里插入图片描述
      参考:https://www.kancloud.cn/manual/thinkphp5/177576
    2. 在php-fpm那个服务器下载thinkphp代码
    apk add composer #下载composer
    cd /etc/share/nginx/html
    composer create-project topthink/think=5.0.* ../html  --prefer-dist #将代码下载到html文件夹下
    
    1. 修改代码
      在这里插入图片描述
    2. 查看结果

    在这里插入图片描述

检查一下你的nginx配置和你的tp路由