Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nginx server block #87

Closed
ghost opened this issue Nov 7, 2016 · 2 comments
Closed

nginx server block #87

ghost opened this issue Nov 7, 2016 · 2 comments

Comments

@ghost
Copy link

ghost commented Nov 7, 2016

Could you please provide server block config for nginx ? Since you gave only the .htaccess file for oldschool apache which is not used that often anymore.

@ellisonpatterson
Copy link

http://jedistirfry.co.uk/blog/2013-02/symfony-nginx/

That worked for me. Just modify to your nginx config and change this:

  location / {
    index app.php;
    try_files $uri $uri/ /app.php?$query_string;
  }

to this:

  location / {
    index app_dev.php;
    try_files $uri $uri/ /app_dev.php?$query_string;
  }

for development purposes.

@ErikMinekus
Copy link
Member

Here is the official Symfony Nginx config: https://symfony.com/doc/current/setup/web_server_configuration.html#web-server-nginx

And this is the one I'm using with Docker:

server {
    listen 80;

    server_name sourcebans.dev;
    root /var/www/sourcebans/web/public_html;

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

    # This rule should only be placed on your development environment
    # In production, don't include this and don't deploy app_dev.php or config.php
    location ~ ^/(app_dev|config)\.php(/|$) {
        fastcgi_pass php-fpm:9000;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;

        # 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;
    }

    location ~ ^/app\.php(/|$) {
        fastcgi_pass php-fpm:9000;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;

        # 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/app.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/sourcebans_error.log;
    access_log /var/log/nginx/sourcebans_access.log;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants