2016-11-02 12 views
0

私は実際にサーバルートディレクトリを/var/wwwから/srv/httpに変更することに依存しています。Ubuntu Nginx - サーバのルートディレクトリを変更する

私が訴える場合ので:

server { 

    server_name www.domain.tld; 
    root /srv/http/project/web; 

    location/{ 
     # try to serve file directly, fallback to app.php 
     try_files $uri /app.php$is_args$args; 
    } 
    # DEV 
    # 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 unix:/var/run/php/php7.1-fpm.sock; 
     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; 
    } 
    # PROD 
    location ~ ^/app\.php(/|$) { 
     fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; 
     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/project_error.log; 
    access_log /var/log/nginx/project_access.log; 
    } 

は動作しません。

システムはUbuntu 16.04とNginxサーバーです。

ご協力いただきありがとうございます。

答えて

1

すべてのルートディレクトリの最初に/srv/http/project/webではなく/var/wwwあり、そして/srv/httpにそれを変更するために、あなたは(同じの3行目である)上記の構成にroot /srv/http/project/web;を見つけ、root /srv/http;に変更しました。 -Thank You:

+0

こんにちは。 これはプロジェクトのパブリックディレクトリへのリンクです。 たとえば、プロジェクトがディレクトリ '/ var/www'にあり、' root/var/www/project/web'を置く方法はすべて役に立ちます ポイントはサーバが '/ var/srv/http' - ありがとうございました – Zemiel

+0

真剣に、私は上で何を意味しているのかわかりませんし、リンクが表示されません – Satys

+0

私のプロジェクトはすべて '/ srv/http /' '/ srv' - 別のディスクパーティション)と前回のシステム(Arch)ではすべてがうまくいきました。 私とは独立した理由から、私はUbuntuに変更する必要がありました。 Ubuntuサーバーの別のディレクトリへのリンク。これは、 '/ var/www'の代わりに'/srv/http'を使用するよう強制することはできません。 – Zemiel

関連する問題