需要 nginx 能够检查根目录之外的目录

需要 nginx 能够检查根目录之外的目录

我有一个 Laravel 应用程序,运行时运行良好,php artisan serve但是当尝试使用 nginx 作为前端时,我遇到了各种各样的麻烦,无法让它正常工作。

我基本上有这样的结构:

root@server:/var/www/html# tree -d -L 4
.
`-- app
    |-- C4
    |   `-- www
    |       |-- sites
    |       `-- site-assets
    `-- prod
        |-- app
        |-- bootstrap
        |-- config
        |-- database
        |-- public
        |-- resources
        |-- routes
        |-- storage
        `-- vendor

prodLaravel 应用程序位于哪里

我可以打开主应用程序,但是有一个脚本prod/public/js会检查其中是否C4/www/sites/存在不起作用的目录,我怀疑我的 nginx 配置是罪魁祸首。

以下是我的 nginx 配置:

server {
    listen 0.0.0.0:80;
    listen [::]:80;
    root /var/www/html/app/prod/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

免责声明:我不是这个应用程序的开发者。我只是一名帮忙的系统工程师。开发人员没有使用 nginx 的经验

编辑:添加我看到的一些错误/var/log/nginx/error.log

2023/02/07 22:25:17 [error] 91535#91535: *23 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.x.x, server: , request: "GET /checksite/domain.com HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm.sock:", host: "192.168.x.x"

更新:将根目录更改为/var/www/html/app/prod/public并将索引更改为index.php。网站加载,但运行一些脚本,检查根目录之外的目录是否存在,如果不存在,则创建它。现在发生的情况是,该目录正在 laravel 应用程序内的公共目录中创建。

更新 2:我在浏览器控制台中看到 jQuery 错误

Uncaught SyntaxError: Unexpected non-whitespace character after JSON at position 2

我将在早上与开发人员讨论这个问题,看看他们是否可以帮忙调试。

相关内容