nginx 上一个 IP 地址上有多个网站

nginx 上一个 IP 地址上有多个网站

我查看了nginx 上有多个网站,一个 IP但我的情况有点不同。

我想在同一台服务器(相同 IP 地址)但在不同的子域上托管三个网站(一个用于 thelounge,另外两个是 ASP.NET Core Web 应用程序,分别监听不同的端口(5002,分别是 5003))。

因此,我从 namecheap 购买了域名,并为休息室配置了域名,如图所示:

在此处输入图片描述

我一步一步地遵循了 Thomas Ward 的回答,但我不知道 .net core web 应用程序会监听不同的端口。我在 /etc/systemd/system/myapp.service 中为 .net core 应用创建了服务,即 kestrel 服务

[Unit]
Description=my app

[Service]
WorkingDirectory=/home/anuser
ExecStart=/usr/bin/dotnet /home/anuser/MyApp.Web.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=info-editor
User=anuser
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

我激活了上述服务并运行了它。一切正常,网站已上线。

当尝试访问 editor.xxx.xxx 时,它会重定向到第一个网站(休息室)。

thelounge 的 nginx 配置(chat.xxxxx.conf):

server {
server_name chat.xxxxx.xxxxx;

set $upstream 127.0.0.1:9000;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;

...
}

以及.net core web 应用程序(editor.xxxxx.conf)

server {
server_name editor.xxxxx.xxxx

set $upstream 127.0.0.1:5002;
location / {
proxy_pass_header Authorization;
proxy_pass http://$upstream;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Connection “”;
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
}
listen 80;
}

当然,我使用ln命令来建立到 /sites-enabled 的符号链接

我也重启了 nginx。但仍然重定向到 thelounge

相关内容