如何更改 Nginx 默认文件夹?

Ido*_*o B 3 linux ubuntu nginx

我用 Nginx 设置了一个服务器,并将我的 Public_HTML 设置为 -

/home/user/public_html/website.com/public
Run Code Online (Sandbox Code Playgroud)

它总是重定向到 -

/usr/local/nginx/html/
Run Code Online (Sandbox Code Playgroud)

我怎样才能改变这个?

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/*;
}
Run Code Online (Sandbox Code Playgroud)

/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;
                               }
                    }
Run Code Online (Sandbox Code Playgroud)

/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;
                                    }
          }
Run Code Online (Sandbox Code Playgroud)

我得到的错误信息是

致命错误:require_once() [function.require]:无法打开所需的'/usr/local/nginx/html/202-config/functions.php'

服务器尝试在 Nginx 文件夹中而不是在我的 Public_Html 中找到该文件

Mic*_*ton 5

您已将root指令放在一个location块中,但它属于server它外面的块。这是一个非常常见的 nginx 配置错误

一旦你将它移动到正确的位置,你应该会发现你的脚本开始工作。

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

    location / {
Run Code Online (Sandbox Code Playgroud)

  • 您可以在需要更改的每个位置更改它。 (3认同)
  • 我希望那里的所有教程都提到了这一点...... (2认同)