使用 Nginx 在 Digital Ocean 服务器上配置虚拟主机子域

使用 Nginx 在 Digital Ocean 服务器上配置虚拟主机子域

所以我刚刚在我的 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。

相关内容