详解ASP.NET Core部署项目到Ubuntu Server(2)

6、重新启动supervisor来应用配置!然后试着用本机访问下ubuntu server的IP,看下网站是否如你所愿的展示在了你的面前!如果和上面的步骤9一致,那么整个部署流程已经暂时告一段落,这样一来即使你重启了服务器,网站依旧可以访问。到这里我终于算是松了一口气。

sudo service supervisor restart

四、进阶

接下来我就把我之前在IIS上搭好的项目:“ASP.NET Core:使用Dapper和SwaggerUI来丰富你的系统框架”也部署到Ubuntu Server上去,其中需要准备一个远程登录工具:Putty,用来将我们本机的发布文件传输到服务器上,同时你还可以像在Ubuntu中一样进行一些命令操作。

1、在Ubuntu Server上安装OpenSSH Server并启动该SSH服务(默认端口22即可)

sudo apt-get install openssh-server sudo /etc/init.d/ssh start

2、启用防火墙配置ufw(默认是待用的,同时也是为了安全),然后打开SSH服务的22端口。

sudo ufw default deny sudo ufw enable sudo ufw allow ssh

详解ASP.NET Core部署项目到Ubuntu Server

注:第一条命令表示所有端口默认关闭,除非被指定打开。至于红框内的,就不用我过多解释了吧(笑而不语~)。

3、打开Putty,输入Ubuntu Server的IP地址,端口为22,连接类型为SSH,你可以把这个配置保存下来,命名为:ubuntu即可,下次直接双击打开就行了,挺方便的。

详解ASP.NET Core部署项目到Ubuntu Server

4、出现下面这个提示时,选择“是”即可

详解ASP.NET Core部署项目到Ubuntu Server

5、然后输入服务器的用户名和密码进行登录,如果没问题,你会看到如下画面

详解ASP.NET Core部署项目到Ubuntu Server

5、小试牛刀:打开windows的命令提示窗口,输入以下命令,表示复制一个test.txt(E盘下)文件到ubuntu服务器上test文件夹下

pscp test.txt jack@192.168.1.105:test

随后切换至Putty上进行查看

6、重新发布我们的项目,指定runtime为ubuntu.16.10-x64,如需更多,请点击这里进行查看。

复制代码 代码如下:

dotnet publish --framework netcoreapp1.1 --runtime ubuntu.16.10-x64 --output "E:\Publish\Light.Api-Ubuntu" --configuration Release

详解ASP.NET Core部署项目到Ubuntu Server

但是不幸的是出现了一个大大的报错:“project.assets.json don't have a target for ‘.NETCoreApp,Version=v1.1/ubuntu.16.10-x64'”,网上一查,发现是项目文件csproj中没有此依赖,添加之后重新运行发布命令,如果出现最后一个画面,说明你就成功了!

<RuntimeIdentifiers>ubuntu.16.10-x64</RuntimeIdentifiers>

详解ASP.NET Core部署项目到Ubuntu Server

同时将我们的监听端口设置为6000,否则的话将无法启动,因为5000端口已经被测试项目test占用了。而其中的UseIISIntegration方法可以拿掉,因为我们是要发布到Ubuntu服务器上,用不着IIS,但是这样的话你的本机也将会无法访问。

详解ASP.NET Core部署项目到Ubuntu Server

7、到了最重要的一环:使用PSFTP,主要命令为open和put,将我们刚才发布的Light.Api项目Copy到Light.Api-Publish下,你会看到很多的复制记录

详解ASP.NET Core部署项目到Ubuntu Server

8、复制完成之后,切换到服务器的该目录下,如果能启动,说明没问题

9、接下来就不用多说了,Ctrl+Art+F2切换到第二个管理页面,把nginx的监听端口改成6000并重启nginx

详解ASP.NET Core部署项目到Ubuntu Server

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdpjsg.html