启用NGINX服务器块,但网站返回404错误

时间:2020-03-12 04:59:11

标签: nginx ubuntu-18.04 nginx-location nginx-config php-7.2

我已经设置了运行Ubuntu Server 18.0.4的Virtual Box来宾计算机。我正在尝试在本地系统上为在LEMP堆栈上运行的Wordpress网站设置测试环境。在网上关注了一些文章,并设置了php7.2-fpm和nginx服务器以及mysql社区版。我已经使用包含phpinfo函数的测试文件验证了LEMP的设置,这似乎很好。为了测试目的,已在虚拟机客户机上配置了一个虚拟静态IP地址。

NGINX中有两个服务器块-默认为phpinfo,而Knowhow.com则指向预期的Wordpress网站。符号链接位于启用站点的目录中,而Knowhow.com文件位于可用站点的目录中。但是,当我尝试使用/knowhow.com访问Wordpress网站时,出现404未找到错误。

进行了一些挖掘,发现Knowhow.com配置文件中的某些重写规则可能不正确。对于正确的格式,我一无所知。我想访问我的网站。因此,理想情况下,所有请求都应转到index.php。下面提供了Knowhow.com配置文件的内容。有人可以帮忙吗?

# Default server configuration
#
server {
    listen 80;
    listen [::]:80;

    root /var/www/knowhow.com/html;

    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm index.nginx-debian.html;

    server_name knowhow.com www.knowhow.com;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        #try_files $uri $uri/ =404;
                try_files $uri $uri/ /index.php?q=$uri&$args;
    }

    # pass PHP scripts to FastCGI server
    #
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
    #
    #   # With php-fpm (or other unix sockets):
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    #   # With php-cgi (or other tcp sockets):
    #   fastcgi_pass 127.0.0.1:9000;
    }

}

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题!实际上,这从来就不是问题。配置文件定义正确。只是,访问该网站的方法不正确。我试图从我的本地主机(vm外部)以static-ip-address / knowhow.com访问该站点。我应该只是以Knowhow.com或www.knowhow.com的身份访问该网站。由于服务器阻止文件(knowhow.com)将自动将Web请求重定向到目标服务器上相应的网站根路径,因此使用ip地址是错误的。我已经更新了/ etc / hosts文件,使其指向Knowhow.com和www.knowhow.com的静态IP地址。傻我! ?

很抱歉给您带来的困惑。我的设置按预期工作。干杯! ??