我正在尝试将我的 ABP 应用程序部署到 Amazon Lightsail 上的 Ubuntu 20.04 服务器。我使用带有 Blazor UI、EFCore 和 PostgreSQL 的 Abp 作为数据库,它在我的本地 Windows 机器上运行得非常好,带有 IIS Express。
我已按照 this Microsoft guide 将我的应用程序部署到 Ubuntu 服务器。由于 ASP Net Core 运行时安装在远程机器上,我将所有项目发布为依赖于框架。
到目前为止,我已经设法在服务器上运行 Migrator 并使用 Dataseeder 为数据库做种。我还配置了 Nginx 和 Kestrel 服务以在服务器上运行我的 HttpApi.Host
项目。 (澄清:HttpApi.Host
运行得非常好,我可以通过使用 swagger 接口获取查询结果。)
我无法实现的是运行 Blazor UI。将发布的文件复制到服务器并配置 Nginx 后,根 URL 会将我直接重定向到 swagger UI,绕过 Blazor。
我尝试从 Nginx 配置中删除 HttpApi.Host
并将 Blazor UI 设置为唯一 URL(“/”),但是只要 kestrel 服务运行,根 URL 就会自动重定向到 {{1 }}(招摇界面)。然后,我尝试停止并禁用 kestrel 服务,并希望至少能看到 index.html,但这只是 502 Bad Gateway 错误。
问题:
我基本上想在 Ubuntu 20.04 上运行我的 Blazor UI 和 HttpApi.Host。还有哪些步骤需要遵循?我查看了 original abp docs,但没有找到任何关于在 Linux 上部署的资源。
这是我的 Nginx 配置:
HttpApi.Host
这是我的 Kestrel 配置:
server {
listen 80;
server_name example.com *.example.com;
location / {
root /home/ubuntu/myapp/Blazor;
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
答案 0 :(得分:0)
由于没有确切的错误消息,我建议您逐步配置您的 Linux 环境,并确保所有配置和安装都可能: