AspNetCore linux下运行

前 言

    首先找一台linux服务器。我是自己99元抢购的一台腾讯云服务器,使用云服务器有个好处,就是省去了自己安装的麻烦,即时释放,即时安装,作为测试机还是很方便的。

     接着找一个可以远程登录linux服务器的ssh登录工具。借用前辈的对比说明。点这里 如下图所示:

 

 各位可以自行下载对应的工具。

接下来安装donet运行环境。打开打开https://dotnet.microsoft.com/download网址,找到对应的

linux页签。

 

 

 点击Install NETCore 按钮弹出对于的https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-ubuntu-1910 这个页面,选择对于的OS版本

 

 

 上面说的很清楚,如果开发使用安装SDK,如果运行使用,安装运行时。

第一步,添加 Microsoft 存储库密钥和源

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

第二步,安装 .NET Core SDK或者安装 ASP.NET Core 运行时

sudo yum install dotnet-sdk-3.1

sudo yum install aspnetcore-runtime-3.1

 备注:安装 .NET Core 运行时

sudo yum install dotnet-runtime-3.1

查看命令

dotnet --list-sdks 和 dotnet --list-runtimes 

dotnet --info

这是我安装的

 

 

实  践

    我们需要把我们发布好的程序部署到我们刚才的服务器中。

  建议上传到/var目录/var/www/dotnet,上传到root目录需要访问权限。

然后在linux中切换到.net目录上,cd /var/www/dotnet,然后运行dotnet xxxx.dll

 

出现以上画面,你就成功了,如果有误,你先在你本地window下dotnet  xxx.dll看看有没有错误,一般在你本地上没问题,在服务器也是没问题的。

对了,第一次运行时还出现什么XML的提示,不太懂,第二次运行就没有了。

请注意,现在外网还不能访问你的5000端口的,为什么?

第一,看我上面的listening on http://localhost:5000,我这个dotnet默认只监听本地的5000端口,所以外网无法访问,解决方法就是在命令后面加上参数urls

dotnet xxxx.dll --urls http://*:5000 

 

第二 Centos的防火墙默认是开启的,所以端口还得把防火墙关了,或在防火墙里添加个端口

//以下操作二选一
systemctl status firewalld // 查看防火墙状态 systemctl stop firewalld //关闭防火墙 firewall-cmd --zone=public --add-port=5000/tcp --permanent // permanent参数是永远存在,不然的话,重启后就没有了
firewall-cmd --reload // 重启防火墙 ,添加端口后记得执行此命令

一般来说,现在就你可以通过外网地址加5000的端口访问你的网站了。

 

另外就是安装nginx,做反向代理。到指定端口,这个网上一大堆资料。就不多说了。

 

posted @ 2021-01-07 10:39  小羽信息  阅读(380)  评论(0编辑  收藏  举报