我跟随this tutorial将我的asp.net应用程序部署到Ubuntu上。我使用this帖子在我的Ubuntu机器上安装了.Net core 2.0。这篇优秀的文章没有问题。
我的VM配置是:
user@instance-2:~/dev/mywebsite$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
我已确认.Net核心安装正确。
user@instance-2:~/dev/mywebsite$ dotnet --info
.NET Command Line Tools (2.0.0)
Product Information:
Version: 2.0.0
Commit SHA-1 hash: cdcd1928c9
Runtime Environment:
OS Name: ubuntu
OS Version: 16.04
OS Platform: Linux
RID: ubuntu.16.04-x64
Base Path: /usr/share/dotnet/sdk/2.0.0/
Microsoft .NET Core Shared Framework Host
Version : 2.0.0
Build : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d
接下来,我使用以下命令
创建了新的dot net web应用程序dotnet new web
设置ASPNETCORE_URLS环境变量
export ASPNETCORE_URLS=http://+:5123
确认其设置正确。
user@instance-2:~/dev/mywebsite$ echo $ASPNETCORE_URLS
http://+:5123
使用dotnet run来运行我的应用程序。可以在控制台上看到以下消息。
user@instance-2:~/dev/mywebsite$ dotnet run
Hosting environment: Production
Content root path: /home/hemant_shelar/dev/mywebsite
Now listening on: http://[::]:5123
Application started. Press Ctrl+C to shut down.
预计:我应该可以使用IP地址从互联网浏览此网站
像:http://35.185.21.120:5123/但我无法从外部访问此网站。导致ERR_CONNECTION_TIMED_OUT
错误。
注意:35.185.21.120是我在谷歌云中的Ubuntu机器的IP地址。
我错过了任何配置吗?
更新1: 我使用下面的命令
打开端口5123sudo ufw enable
sudo ufw allow 5123
已验证使用以下命令打开端口:
hemant_shelar@instance-2:~/dev/mywebsite$ sudo ufw status
Status: active
To Action From
-- ------ ----
5123 ALLOW Anywhere
5123 (v6) ALLOW Anywhere (v6)
但仍然是同样的问题。
更新2 我将环境变量ASPNETCORE_URLS设置为http://+:80
hemant_shelar@instance-2:~/dev/mywebsite$ echo $ASPNETCORE_URLS
http://+:80
hemant_shelar@instance-2:~/dev/mywebsite$ sudo dotnet run
Hosting environment: Production
Content root path: /home/hemant_shelar/dev/mywebsite
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
但是当我在网站5000上运行网站列表时。有没有其他方法可以在端口80上公开网站?例如在IIS中,我们使用http主机头在端口80上打开多个站点。