NGINX conf文件不加载静态文件

NGINX conf文件不加载静态文件

使用以下.conf文件,nginx无法加载静态文件:

我的静态文件和 index.php 都位于 /public。我还使用 symfony 5 和 ansible/ansistrano 进行配置和部署。

您知道文件中哪里可能存在错误吗?

server {
    listen 80;

    server_name example.com;
    root /var/www/example.com/current/public;

    location / {
        # try to serve file directly, fallback to index.php
        try_files $uri /index.php$is_args$args;
    }

    # optionally disable falling back to PHP script for the asset directories;
    # nginx will return a 404 error when files are not found instead of passing the
    # request to Symfony (improves performance but Symfony's 404 page is not displayed)
    # location /bundles {
    #     try_files $uri =404;
    # }

   location ~ ^/index\.php(/|$) {
       fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
       fastcgi_split_path_info ^(.+\.php)(/.*)$;
       include fastcgi_params;

       # optionally set the value of the environment variables used in the application
       # fastcgi_param APP_ENV prod;
       # fastcgi_param APP_SECRET <app-secret-id>;
       # fastcgi_param DATABASE_URL "mysql://db_user:db_pass@host:3306/db_name";

       # When you are using symlinks to link the document root to the
       # current version of your application, you should pass the real
       # application path instead of the path to the symlink to PHP
       # FPM.
       # Otherwise, PHP's OPcache may not properly detect changes to
       # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
       # for more information).
       fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
       fastcgi_param DOCUMENT_ROOT $realpath_root;
       # Prevents URIs that include the front controller. This will 404:
       # http://domain.tld/index.php/some-path
       # Remove the internal directive to allow URIs like this
       internal;
   }

    # return 404 for all other php files not matching the front controller
    # this prevents access to other php files you don't want to be accessible.
    location ~ \.php$ {
        return 404;
    }

    error_log /var/log/nginx/example.com_error.log;
    access_log /var/log/nginx/example.com_access.log;
}

当我将根目录从 更改为 时,root /var/www/example.com/current/public;root /var/www/example.com/current;能够加载主页及其静态文件,但无法导航到其他 URL。

如果您需要更多信息,请告诉我。

相关内容