PM2(Process Manager 2 )是具有内置负载均衡器的Node.js应用程序的生产运行时和进程管理器。 它允许您永久保持应用程序活跃,无需停机即可重新加载它们,并促进常见的Devops任务。
以上介绍来自网络,pm2虽然是node进程管理工具,但作为进程管理工具.net core仍然适用,PM2需要node环境,但我们直接通过宝塔面板来安装可以省很多事情,在软件商店中找到他,直接点击安装即可
安装过程不再描述,完成后点击“设置”弹出PM2管理器:
通过终端命令方式来启动PM2的命令如下: pm2 start "dotnet xxx.dll" --name xxx
对照命令,我们大概可以猜到PM2管理器面板如何添加进程,项目所在目录直接选择发布站点的目录即可,启动文件名称应该就是命令:“dotnet xxx.dll”了,项目名称对应的是name名称,可以根据个人喜好起一个,然后点击“添加”按钮,但这里出现了一个问题,点击“添加”按钮一直提示"指定文件不存在",无奈最后通过终端运行pm2命令来添加了一个进程,再回到宝塔面板的PM2管理器窗口中查看,倒是新增了一条记录,正是通过终端添加的,但可惜的是在管理器上无法查看具体配置,然后通过管理器去启动和暂停这个进程都是没问题的,后来经过分析,通过宝塔面板运行PM2时是以“www”用户的身份去运行的,估计这个用户有点特殊,通过“www”用户无法识别“dotnet”命令所造成的,暂时作罢。
supervisor与PM2比较这两个工具从网上了解使用相当普遍,查了一下资料,supervisor适用于开发环境,它会监视你对代码的改动,自动启动,比较方便;PM2内建负载均衡(使用 Node cluster 集群模块),0 秒停机重载,维护升级时不需要停机,稳定,适合于正式运行环境;从宝塔面板控制的便捷性来看supervisor配置起来要方便很多,可以指定运行用户,而PM2通过管理面板未能配置起来,只能通过后台终端来添加,但添加完成后可以用面板来管理。选用哪一款见仁见智吧!我们也可以结合使用,在开发测试时使用supervisor,正式发布使用PM2。
小结在麒麟v10操作系统下安装WEB服务器耗费了大量的时间,最新版本的宝塔无法安装,Nginx安装不成功,正好麒麟官方网站又在维护,无法访问官方的源,一路曲折。当前安装的是基于国产的另一个操作系统:统信UOS ARM64专业版,其基于Debian8.3版本,安装还算顺利,但麒麟v10操作系统下的WEB服务器还是得配置,坑还是得填上无法绕过,计划等官网维护完成后再试试。
当前在统信UOS下的WEB服务器已配置完成,我们可以通过如下步骤来发布咱们的站点:
1、通过宝塔面板的网站管理创建站点。
2、将待发布的网站项目发布到本地文件系统。
3、通过宝塔面板的文件管理上传发布版本到指定站点目录。
4、配置站点设置反向代理。
5、使用进程守护工具添加运行 .NET Core 应用程序(测试运行环境可以使用supervisor,正式发布环境使用PM2,使用PM2时,通过终端运行来添加进程,后面管理可以直接通过宝塔面板来操作)。