所以我刚刚在我的 Digital Ocean Ubuntu 18.04 实例上安装并配置了 Nginx 1.20.2。我通过 Namecheap 购买了一个域名,我们将其命名为 testdomain.io。我希望能够通过访问该域名来访问我的 Digital Ocean 实例,因此我将其配置为使用 Digital Ocean 的名称服务器并添加了适当的 A 记录以使其工作。一切都很好。我现在想弄清楚的是如何在我的 Digital Ocean 服务器上托管不同的子域,这样如果我访问 app.testdomain.io,它会带我到一个站点,而 test.testdomain.io 会带我到另一个站点。现在我已经运行了 Nginx,我尝试配置适当的 sites-available 配置文件并将它们符号链接到 sites-enabled,但目前当我访问任何子域时,它们都只指向我主域的 index.html。这是我的配置文件
/etc/nginx/sites-available/app.testdomain.io
server {
listen 80;
root /var/www/nginx/app;
index index.html index.htm;
# If no server_name is defined in a server block then
server_name app.testdomain.io;
location / {
# Return a 404 error for instances when the server receives
try_files $uri $uri/ =404;
}
}
/etc/nginx/sites-available/test.testdomain.io
server {
listen 80;
root /var/www/nginx/test;
index index.html index.htm;
# If no server_name is defined in a server block then
server_name test.testdomain.io;
location / {
# Return a 404 error for instances when the server receives
try_files $uri $uri/ =404;
}
}
我的主要配置文件:
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /var/www/nginx/;
index index.html index.htm;
}
}
无论我何时访问 app.testdomain.io、test.testdomain.io 还是 testdomain.io,它们都会访问主根 index.html。