.Net Core项目发布到虚拟机(三)

在上一集我们说到 已经做好项目并连接到本地的mysql可以进行增删改了,接下里我们将这个项目发布到我们的虚拟机上运行...

 

ps:简单给出一张view视图页面,并用jquery发出请求

注意:1.在项目文件夹里找到.csproj结尾的文件右键记事本打开,

删除,否则发布后没有jquery文件

<ItemGroup>
  <Content Remove="wwwroot\js\jquery-3.2.1.min.js" />
</ItemGroup>

添加,否则发布后没有Views文件夹

<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>

效果如下......

2.添加这个项目的新端口8001,因为8000已被上上集的项目占用了。打开program.cs,添加端口做以下修改......

3.右键发布项目

4.把发布的项目放进我们的虚拟机里,这一步在第一集已说到不在赘述,别忘上传后执行Linux命令行cd /xxxx,和dotnet xxx.dll ,看到 

  Hosting environment: development
  Content root path: /xxx
  Now listening on: http://localhost:xxx
  Application started. Press Ctrl+C to shut down.

  就可以下一步了。

5.到此,你已经可以让项目在虚拟机的火狐浏览器输入8001端口可以跑起来了,接下来我们让他在本地浏览器里也能跑起来,没错就是nginx

还是那个文件/etc/nginx/conf.d,修改如下,添加了反向代理服务器的81端口

6.为了可以让我们关闭5001的那个页面也可以使网页运行,我们还需要添加新项目的配置守护服务

打开/etc/supervisor/conf.d/,添加新项目配置文件,文件名随便我这里是CodeFirstCore

并在该文件写下如下内容,注意路径啥的自己改。

linux输入命令行,让守护服务重新加载

 

 supervisord -c /etc/supervisor/supervisord.conf

ps -ef | grep CodeFirstCore #【注意】CodeFirstCore 是上面 program:CodeFirstCore  的命名

supervisorctl reload #重新加载

 7.到此时,本地浏览器浏览网站还是不行,还差最后一步,打开本地81端口,因为此端口已被防火墙屏蔽了。

命令行如下......

firewall-cmd --zone=public --add-port=81/tcp --permanent #(开放80端口)

systemctl restart firewalld #(重启防火墙以使配置即时生效)

8.本地浏览器打开login页面时,报出环境需改为development模式而不是publish模式。

  原因为Linux默认为publish页面,请自行百度修改。

 

到这里就宣布Core之旅结束了.......

The End