Nginx虚拟主机无法正常工作

时间:2018-04-30 19:39:08

标签: php linux nginx

我在我的localhost上托管了一个PHP系统,我在index.php创建了/var/www/html,如下所示:

// /var/www/html/index.php
<?php
phpinfo();

当我访问localhost:80时,它会显示我的PHP配置信息。

但是当我将/etc/nginx/sites-available/default克隆到/etc/nginx/sites-available/superstore并更改server_name时,它sudo service nginx restart之后无法正常工作,即使sudo service nginx status正在恢复成功。< / p>

我的nginx配置(/etc/nginx/sites-available/superstore)是这样的:

server {
    listen 80;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name superstore.dev;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

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

我的PHP版本: PHP version

重启后的Nginx状态: Nginx status after restart

我将此虚拟主机添加到我的/etc/hosts,如下所示:

127.0.0.1   superstore.dev

但是当我尝试访问superstore.dev时,它会将此错误返回给我: This site can't be reached error print screen

我通过在Ubuntu 16上执行以下命令安装了PHP和Nginx:

sudo apt install nginx php7.0-fpm -y

我确定我已将符号链接的superstore配置文件添加到sites-enabled文件夹。

为什么我的虚拟主机无法正常工作?

1 个答案:

答案 0 :(得分:0)

与Apache配置方案类似,文件夹sites-available应该包含您的所有配置文件,即使是您不想运行的配置文件。

还有第二个文件夹sites-enabled,其中包含要运行的配置文件的符号链接。

创建符号链接运行ln -s /etc/nginx/sites-available/superstore /etc/nginx/sites-enabled/然后service nginx reload

有关详情,请参阅回答https://serverfault.com/a/424456/240702