配置完成后,点击保存按钮,然后要记得重启一下Nginx,在宝塔面板中点击软件商店,在软件商店页面中点击“已安装”按钮,在已安装的软件列表中找到Nginx,点击“设置”,在弹出来的Nginx管理窗口中,点击“重启”按钮即可。
为了方便查找,可以在已安装的软件列表中将Nginx设置为首页显示,然后在首页上就可以找到它。
(5)通过终端运行已发布的网站(MvcExample是我这里已编译的网站dll)
dotnet MvcExample.dll然后打开浏览器访问网站看看是否成功:
我们的站点已发布成功,但这里有一个问题,我们在终端执行命令dotnet xxx.dll 运行 .NET Core 应用程序时,如果我们关闭终端结束会话,那么我们的程序也会结束运行,我们关闭终端再来浏览发布的站点看看:
如上图,页面显示“502 Bad Gateway”,这个不是我们想看到的,那如何才能当我们关闭终端结束会话后,站点仍然运行呢?这里就需要引进守护进程。
守护进程,英文名:“daemon",它是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出。我们使用Linux的命令可以实现守护进程,但是比较麻烦,即然咱们安装了宝塔面板,我们还是希望可以通过面板来配置就可以实现这个功能。在宝塔的软件商店中找到了两款守护进程的工具:supervisor和pm2。 supervisor
supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具。可以很方便的监听、启动、停止、重启一个或多个进程。用 supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重启,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。
以上是摘自网络上对supervisor的介绍,我们可以通过宝塔面板中的软件商店找到它并安装:
安装完成后,在已安装的软件列表中找到supervisor管理器,点击设置会弹出Supervisor管理器窗口
然后点击右上角的“添加守护进程”
启动用户可以选择默认用户,运行目录选择你发布的站点目录,我这里是“/www/wwwroot/AppDemo”,启动命令“dotnet xxx.dll”,xxx.dll是站点名称,如果无法识别dotnet命令,则给出命令的完整路径,如:“/usr/local/dotnet/dotnet xxx.dll”,进程数就默认1,点击“确定”按钮完成守护进程的添加。
我们再次打开浏览器,站点又正常运行了,当前已经不再需要使用终端去运行“dotnet xxx.dll”了。 PM2