无法看到VirtualBox NGINX站点



我试图在Oracle VM VirtualBox内运行在Debian Linux下的NGINX服务器上设置几个网站。

版本:Oracle VM VirtualBox: 4.3.10, Debian: Wheezy, NGINX: 1.2.1

/etc/nginx/nginx.conf文件:
user www-data;
worker_processes 1;
pid /var/run/nginx.pid;
events {
    worker_connections 768;
    # multi_accept on;
}
http {
    autoindex on;
    index index.html index.htm index.php;
    sendfile off;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 30;
    types_hash_max_size 2048;
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    error_page 404 = /usr/share/nginx/www/404.html;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log warn;
    gzip on;
    gzip_disable "msie6";
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}
/etc/nginx/sites-available/default文件:
server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    root /usr/share/nginx/www;
    server_name vmhost;
    location / {
        try_files $uri $uri/ /index.htm /index.html =404;
    }
    error_page 404 /404.html;
    location ~ .php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
   location ~* /(images|cache|media|logs|tmp)/.*.(php|pl|py|jsp|asp|sh|cgi)$ {
      return 403;
      error_page 403 /403_error.html;
   }
    location ~ /.ht {
        deny all;
    }
}
/etc/nginx/sites-available/testsitea文件:
server {
    listen 80;
    listen [::]:80;
    server_name mytest;
    root /usr/share/nginx/www/testfolder/public;
    location / {
        try_files $uri $uri/ /index.html;
    }
}

符号链接:

root@debian-nginx:/etc# ls -l /etc/nginx/sites-enabled
total 0
lrwxrwxrwx 1 root root 34 Mar 17 13:47 default -> /etc/nginx/sites-available/default
lrwxrwxrwx 1 root root 36 Mar 25 14:30 testsitea -> /etc/nginx/sites-available/testsitea

当我将浏览器发送到http://192.168.1.45/时,我看到了预期的"欢迎使用nginx!"如果我将浏览器地址设置为http://192.168.1.45/vmhost,我也会看到"欢迎来到nginx!"

当我将浏览器指向http://192.168.1.45/mytest时,我期望看到的是我的测试站点的静态index.html文件。我实际上看到的是"Welcome to nginx!"文件。

error.log文件只显示"signal process started "。我确认文件夹权限设置为755,文件权限设置为644。

你能看到我的错误在哪里吗?

由于您的两个配置文件都被配置为侦听相同的端口(80),因此请求被发送到其中标记有default_server的服务器配置,即根目录位于/usr/share/nginx/www/etc/nginx/sites-available/default配置。

要获得预期的行为,您可以遵循以下选项之一:

  1. 将testsitea服务器配置标记为default_server,并将其从默认配置文件中删除。
  2. 更改testsitea配置的监听端口,并尝试使用指定的端口连接到testsitea。
  3. 在你试图连接的系统的/etc/hosts文件中添加这些条目:

192.168.1.45 mytest

192.168.1.45 vmhost

并连接到http://mytesthttp://vmhost的网站,如之前建议的@alexeyten

您定义了服务器mytest,但是从默认服务器请求页面 /mytest

你必须添加字符串

192.168.1.45    mytest

指向您的/etc/hosts文件,并将浏览器指向http://mytest/

最新更新