Home >Backend Development >PHP Tutorial >nginx 虚拟主机配置指向不同目录,访问的时候全部指向网站跟目录

nginx 虚拟主机配置指向不同目录,访问的时候全部指向网站跟目录

WBOY
WBOYOriginal
2016-06-06 20:33:351653browse

在win8下配置nginx虚拟主机
host文件:

<code>127.0.0.1 z.vilay.com
127.0.0.1 v.vilay.com
</code>

nginx.conf文件:

<code>#user nobody; 
worker_processes 1; 
#error_log logs/error.log; 
#error_log logs/error.log notice; 
#error_log logs/error.log info; 
#pid logs/nginx.pid; 
events { 
worker_connections 64; 
} 
http { 
    include mime.types; 
    default_type application/octet-stream; 
    sendfile on; 
    keepalive_timeout 65; 
    #gzip on; 
    include vhost/*.conf; 
} 
</code>

nginx/vhost下两个文件v.conf,default.conf
v.conf文件:

<code>server {
        listen       80;
        server_name  v.vilay.com;
        root   F:/www/vtest;

        #charset koi8-r;

        access_log  logs/v.access.log;

        location / {

            index  index.html index.htm index.php;
        }

        #error_page  404              /404.html;

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

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # 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;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }
</code>

default.conf文件:

<code>    server {
        listen       80;
        server_name  z.vilay.com;
        root   F:/www;

        #charset koi8-r;

        access_log  logs/default.access.log;

        location / {

            index  index.html index.htm index.php;
        }

        #error_page  404              /404.html;

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

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # 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;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }
</code>
<code>nginx重启访问的时候全部指向了网站根目录F:/www底下
</code>

回复内容:

在win8下配置nginx虚拟主机
host文件:

<code>127.0.0.1 z.vilay.com
127.0.0.1 v.vilay.com
</code>

nginx.conf文件:

<code>#user nobody; 
worker_processes 1; 
#error_log logs/error.log; 
#error_log logs/error.log notice; 
#error_log logs/error.log info; 
#pid logs/nginx.pid; 
events { 
worker_connections 64; 
} 
http { 
    include mime.types; 
    default_type application/octet-stream; 
    sendfile on; 
    keepalive_timeout 65; 
    #gzip on; 
    include vhost/*.conf; 
} 
</code>

nginx/vhost下两个文件v.conf,default.conf
v.conf文件:

<code>server {
        listen       80;
        server_name  v.vilay.com;
        root   F:/www/vtest;

        #charset koi8-r;

        access_log  logs/v.access.log;

        location / {

            index  index.html index.htm index.php;
        }

        #error_page  404              /404.html;

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

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # 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;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }
</code>

default.conf文件:

<code>    server {
        listen       80;
        server_name  z.vilay.com;
        root   F:/www;

        #charset koi8-r;

        access_log  logs/default.access.log;

        location / {

            index  index.html index.htm index.php;
        }

        #error_page  404              /404.html;

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

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # 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;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }
</code>
<code>nginx重启访问的时候全部指向了网站根目录F:/www底下
</code>

目测这里有问题

<code>fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
</code>

可以改成这样试试

<code>fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
</code>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn