我试图在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。
你能看到我的错误在哪里吗?
答案 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
。
要获得预期的行为,您可以执行以下选项之一:
default_server
,并从默认配置文件中删除它。 192.168.1.45 mytest
192.168.1.45 vmhost
按照之前由@alexeyten建议的http://mytest
或http://vmhost
连接到网站