web-dev-qa-db-ja.com

Nginxのデフォルトフォルダーを変更する方法

Nginxでサーバーをセットアップし、Public_HTMLを-

/home/user/public_html/website.com/public

そして、常にリダイレクトします-

/usr/local/nginx/html/

どうすればこれを変更できますか?

Nginx.conf-

user www-data www-data;
worker_processes  4;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     off;
    keepalive_timeout  5;

    gzip  on;
    gzip_comp_level 2;
    gzip_proxied any;
    gzip_types      text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    include /usr/local/nginx/sites-enabled/*;
}

/ usr/local/nginx/sites-enabled/default-

 server  {
                listen       80;
                server_name  localhost;

                location /  {
                        root   html;
                        index  index.php index.html index.htm;
                               }

                # redirect server error pages to the static page /50x.html
                error_page   500 502 503 504  /50x.html;
                location = /50x.html
                               {
                                    root   html;
                               }
                    }

/usr/local/nginx/sites-available/website.com-

   server {
                listen 80;
                server_name website.com;
                rewrite ^/(.*) http://www.website.com/$1 permanent;
           }
    server {
                listen 80;
                server_name www.website.com;
                access_log
    /home/user/public_html/website.com/log/access.log;
                error_log
    /home/user/public_html/website.com/log/error.log;
                location / {
                            root
    /home/user/public_html/website.com/public/;
                            index index.php index.html;
                            }
                # pass the PHP scripts to FastCGI server listening on
                # 127.0.0.1:9000
                location ~ \.php$
                                    {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include /usr/local/nginx/conf/fastcgi_params;
                fastcgi_param SCRIPT_FILENAME
    /home/user/public_html/website.com/public/$fastcgi_script_name;
                                    }
          }

私が得るエラーメッセージは

致命的なエラー:require_once()[function.require]:必要なオープンに失敗しました '/usr/local/nginx/html/202-config/functions.php'

サーバーは、Public_HtmlではなくNginxフォルダーでファイルを見つけようとします

3
Ido B

rootディレクティブをlocationブロック内に配置しましたが、それはそのすぐ外側のserverブロックに属しています。これは 非常に一般的なnginxの設定ミス です。

正しい場所に移動すると、スクリプトが機能するようになります。

server {
    #....
    root /home/user/public_html/website.com/public/;

    location / {
3
Michael Hampton