无法查看VirtualBox NGINX站点

时间:2014-03-25 22:45:13

标签: nginx virtualbox

我试图在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文件。我实际看到的是"欢迎来到nginx!"文件。

error.log文件仅显示" 信号处理已启动。"我已经验证文件夹权限设置为755,文件权限为644。

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

2 个答案:

答案 0 :(得分:0)

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

你必须添加字符串

192.168.1.45    mytest

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

答案 1 :(得分:0)

由于您的配置文件都配置为侦听同一端口(80),因此请求将发送到标记有default_server的服务器配置,这是/etc/nginx/sites-available/default配置的根目录目录位于/usr/share/nginx/www

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

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

    192.168.1.45 vmhost

    按照之前由@alexeyten建议的http://mytesthttp://vmhost连接到网站