为什么nginx将根文件夹设置到错误的位置?

时间:2016-01-18 20:35:12

标签: nginx configuration

我想在我的机器上有两台服务器,一台是私有的,只能在127.0.0.1上本地访问,另一台在LAN上可见(它的根文件夹是私有服务器的子文件夹)。所以我在站点中制作了两个配置文件,并将它们链接到启用站点的文件夹。档案accessible

server {
        listen 80;

        root /usr/share/nginx/html/accessible/;
        index index.php index.html index.htm;

        server_name accessible;

        location / {
                try_files $uri $uri/ =404;
        }

        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html/accessible/;
        }

        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}

和档案localhost

server {
        listen 127.0.0.1:80;
        listen [::1]:80;

        root /usr/share/nginx/html;
        index index.php index.html index.htm;

        server_name localhost;

        location / {
                try_files $uri $uri/ =404;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html;
        }

        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}

之后我更新了/ etc / hosts,以便将http://accessible/转发到127.0.0.1:127.0.0.1 accessible就行了。

现在当我尝试连接到http://localhost/时,一切正常,我按预期得到/usr/share/nginx/html/index.html。但是当我尝试连接到http://accessible/时,会显示相同的文件/usr/share/nginx/html/index.html。怎么可能?根文件夹显然已设置。

1 个答案:

答案 0 :(得分:0)

问题是本地主机服务器在我配置的相同IP上运行,可访问被重定向到显然不可能(或者至少我不知道如何)。 我重定向可访问127.0.0.2(在/ etc / hosts中更改为127.0.0.2 accessible)这是本地计算机服务的另一个地址,并且在允许所有LAN IP地址的nginx配置文件accessible中稍作更改后(allow 192.168.1.0/32;)一切正常(对我本地机器和网络上的计算机而言)。