我遇到过几个演示如何使用 Nginx 设置多个域的示例,但我的 URL 提供的资源与网页域不同。
这些场景之间的配置要求是否存在差异?
答案1
Nginx 对每个域都有配置,正如我建议的那样,复制默认配置并更改域的参数(服务器块)作为示例
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/yourdomain.com
现在打开新配置并设置您的参数:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / { try_files $uri $uri/ =404;
}
}
Root is your directory
root /var/www/yourdomain.com/html;
Each statement need end with ;
Servername is your domain name
server_name your domain.com www.yourdomain.com;
最后,需要配置您的服务器块链接并重新启动 nginx
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/secounddomain.com /etc/nginx/sites-enabled/
我们可以通过简单地删除符号链接来禁用默认服务器块文件。它仍然可以在站点可用目录中供参考,但 Nginx 在启动时不会读取它:
sudo rm /etc/nginx/sites-enabled/default
我们还需要在默认的 Nginx 配置文件中快速调整一个设置。输入以下命令打开它:
sudo nano /etc/nginx/nginx.conf
我们只需要取消注释一行即可。找到并删除此评论:
server_names_hash_bucket_size 64;
现在,我们准备重新启动 Nginx 以启用您的更改。您可以通过键入以下内容来做到这一点:
sudo service nginx restart
最后你需要在操作系统中设置你的主机名
sudo nano /etc/hosts
127.0.0.1 localhost
127.0.0.1 guest-desktop
111.111.111.111 yourdomain.com
111.111.111.111 secounddomain.com
在浏览器中测试您的域名 http://yourdomain.com 如果您遇到问题,请检查 nginx 日志并发送错误或启动日志