Nginx页面显示而非主页(Digital Ocean - LEMP)

6

我最近购买了DigitalOcean账户,正在尝试设置我的网站。但是,每当我输入我的网站IP地址时,会出现以下页面:


欢迎使用nginx!

如果您看到此页面,则说明nginx Web服务器已成功安装并运行。需要进行进一步的配置。

请参阅nginx.org获取在线文档和支持。nginx.com提供商业支持。

谢谢您使用nginx。


我已经搜索了答案,但没有找到适合我的内容。我正在运行Ubuntu LEMP 14.04,并使用一键安装。我计划将我的页面/文件放入"usr/share/nginx/html"文件夹中,我已经将其声明为根目录。

以下是"etc/nginx/available-sites/default.conf"文件,希望可以满足这个需求:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

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

    # Make site accessible from http://localhost/
    server_name localhost unaviamedia.ca;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }

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

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

    .........

}

然而,当我通过IP访问我的网站时,仍然只能看到Nginx欢迎页面,这让我很烦恼。如何展示主页?

编辑:更新了代码以匹配我的最新尝试。另外,对于那些想知道的人,我已经多次重启了nginx。


如果需要添加其他内容,请告诉我。谢谢!


抱歉问一下,你重新加载了nginx吗? - Pixou
@Pixou,看到问题已经编辑过了(是的,我已经重启了nginx - 我想这就是你的意思)。 - Kendall
ipv6only=on,那么这是否发生在ipv4和ipv6上?启用错误日志的调试功能,日志文件显示文件从哪里提供? - itpp13
2个回答

7

简化

创建一个"Hello world"的index.html文件并将其复制到项目的根目录下*。

分而治之

我建议你将你的nginx.conf文件精简到像下面这样非常简单的形式。

server {
  listen 80 default;
  server_name yourdomainname.com;
  root /home/your_app_name/public;

  try_files $uri/index.html $uri ;

  error_page 500 502 503 504 /500.html;
  client_max_body_size 4G;
  keepalive_timeout 10;
}

组织

*我建议您不要将index.html放在nginx目录中。使用特定于项目的根目录,如上面的示例。在那里放置您的“Hello World”索引页面。

重新启动

现在重新加载NGINX并查看是否正在加载您简单的“Hello World”index.html。如果是,请逐个添加复杂性组件。

文件权限

基于Unix的操作系统上的#1陷阱是文件权限。重要的是查看NGINX错误日志,以查看是否正在通过用户/组块来ping文件和目录。如果NGINX无权读取index.html,则游戏结束。


Digital Ocean将其工具称为“一键安装”,这是误导性的。我有几个DO VPS设置,因此我知道它们的安装方式并不完整,正如您所期望的那样。回到逐个安装组件并确认每个组件是否工作的最佳方法。


哦,我不是所有者的问题。 - Jonatas Walker
1
@Valerie 谢谢你。事实证明,问题是由于DNS传播时间比平常长引起的。然而,我确实按照你的建议解决了其他几个错误。我想我也会考虑你的一键安装建议。我安装了LEMP,然后不得不安装phpMyAdmin,惊讶于它有多么容易。我认为这将成为我的默认操作。再次感谢! - Kendall
很高兴能帮到你。祝你好运! - Elvn

0

只需在您的IP地址前加上https://,而不是仅输入您的IP地址。 例如:https://198.168.5.158 这对我有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接