我刚刚开始在 Ubuntu 10.04 上探索 Nginx。我安装了 Nginx,能够在本地主机上获取“欢迎使用 Nginx”页面。但是,即使我在 site-available/default 文件中进行了更改,我也无法添加新的 server_name。尝试重新加载/重新启动 Nginx,但没有任何效果。一个有趣的观察。“http://我的计算机名称“在浏览器中有效。因此,不知何故,某个地方有像‘server_name $hostname’这样的命令覆盖了我的规则。
文件:sites-available/mine.enpass
server {
listen 80;
server_name mine.enpass ;
access_log /var/log/nginx/localhost.access.log;
location / {
root /var/www/nginx-default;
index index.html index.htm;
}
}
文件:nginx.confg
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
答案1
我的建议是通过删除 /etc/nginx/sites-enabled 中的符号链接来删除默认站点:
$ sudo rm /etc/nginx/sites-enabled/default
然后在新文件中创建所需的配置,将其命名为 /etc/nginx/sites-available/your.host.name。假设您的主页位于 /var/www/your.host.name,这是一个非常简单的示例:
server {
listen 80;
server_name your.host.name;
location / {
root /var/www/your.host.name;
index index.html;
}
}
然后在 /etc/nginx/sites-enabled 中创建一个符号链接:
$ sudo ln -s /etc/nginx/sites-available/your.host.name /etc/nginx/sites-enabled/your.host.name
最后重启nginx:
$ sudo /etc/init.d/nginx restart
祝你好运。
答案2
尝试在您的 sites-available/mine.enpass 文件中更改server_name mine.enpass ;
为server_name mine.enpass;
答案3
您是否可能尚未添加mine.enpass
到您的/etc/hosts
文件中?
这是我犯的一个基本错误,在 OSX 上遇到了与 nginx 相同的问题(偶然发现了解决方案这里)