pm2简介

PM2是一个Node.js的进程管理工具,可以帮助开发者简化Node.js应用的部署和运维。它提供了进程守护、负载均衡、日志管理等功能,可以监控应用程序的运行状态,并在发生意外情况时自动重启应用。PM2还支持多种部署方式,包括单机部署、集群模式和Docker容器部署,适用于各种规模的项目。通过PM2,可以更轻松地管理Node.js应用,提高应用的稳定性和可靠性。

安装

如果Node.js和npm 按安装过了直接执行下面命令就进行安装。

sudo npm install pm2 -g

验证pm2是否安装成功。在终端中执行以下命令pm2 -v

如果输出了PM2的版本号,则表示已经成功安装。

安装Node.js和npm

安装Node.js和npm可以通过以下命令在Ubuntu系统中完成:

//1. 更新apt-get:
sudo apt-get update
//2. 安装Node.js和npm:
sudo apt-get install nodejs npm
//3. 验证Node.js和npm是否安装成功:
node -v
npm -v

如果分别输出了Node.js和npm的版本号,则表示安装成功。

部署

需要先cd到文件的目录下面,可以执行 dotnet xxx.dll ,先查看程序的运行情况,然后根据情况执行

建议使用安装Net7版本,Net8的有一部分坑

依赖部署

pm2 start --name xxx dotnet -- xxx.dll
/// xxx 为pm2里面的名字

传递参数 加载命令后面即可 例如:

pm2 start --name wallpapernet dotnet -- Wallpaper.Net.WebApi.dll --urls=https://localhost:5003

配置文件部署【推荐】

新建js或者Json文件。推荐放到项目下面,把属性更改为复制。

{
"apps": {
"name": "miniapi",
"script": "dotnet",
"exec_mode": "fork",
"error_file": "logs/err.log",
"out_file": "logs/out.log",
"merge_logs": true,
"log_date_format": "YYYY-MM-DD HH:mm:ss",
"min_uptime": "60s",
"max_restarts": 30,
"autorestart": true,
"restart_delay": "60",
"args": [
"NetBlog.Web.Entry.dll",
"--urls=http://*:5003"
],
"env": {
"ASPNETCORE_ENVIRONMENT": "Production"
}
}
}

更改name,和传递的参数,cd的项目目录下执行pm2 start 文件名

示例:

pm2 start pm2.json

操作命令

PM2提供了一系列命令用于管理应用程序的启动、停止、重启和监控。以下是一些常用的PM2命令操作:

"app"是你要查看详情的应用程序的名称或者ID

启动应用程序:pm2 start app
停止应用程序 pm2 stop app
重启应用程序 pm2 restart app
查看应用程序状态 pm2 status
监控应用程序日志 pm2 logs app
监听应用程序文件变化并自动重启 pm2 start app --watch
设置应用程序在系统启动时自动启动 pm2 startup
删除应用程序 pm2 delete app
查看应用详情 pm2 show app
列出应用程序 pm2 list
查看监控面板 pm2 monit
查看程序数据 pm2 show app

文档

pm2官方:https://pm2.keymetrics.io/docs/usage/quick-start/

PM2部署DotNet应用程序的更多相关文章

  1. IIS上部署DotNet Core程序

    1.安装托管捆绑包 https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-2.1 ...

  2. ubuntu上部署windows开发的dotnet core程序

    目标:完成windows上开发的dotnet core程序部署至linux服务器上(Ubuntu 14.04) windows上开发dotnet core很简单,安装好VS2017,建立相关类型的项目 ...

  3. 手把手教你用Jenkins自动发布dotnet core程序

    Jenkins部分 首先,我们要有个Jenkins咯,下载链接:https://jenkins.io/download/ 我们安装官网教程安装好jenkins,安装教程略.... 嗯?不是说好手把手么 ...

  4. .Net Core 在Linux服务器下部署程序--(3). 部署.net Core程序

    确认第二步中的软件已安装完成 lrzsz文件上传下载软件 zip与unzip压缩包软件 net core 相关软件 确认上述软件安装完成之后,开始部署程序 创建部署文件夹 我的习惯是在usr文件夹下新 ...

  5. 一种简单的生产环境部署Node.js程序方法

    最近在部署Node.js程序时,写了段简单的脚本,发觉还挺简单的,忍不住想与大家分享. 配置文件 首先,本地测试环境和生产环境的数据库连接这些配置信息是不一样的,需要将其分开为两个文件存储 到conf ...

  6. pm2部署node应用

    背景: 很早就知道了pm2的强大功能,部署,多进程部署,负载均衡等等,但是一直没有取尝试使用,每次写完代码就没关心部署的事了.最近有空就想着把pm2的部署流程走一遍,顺便整理出来. 环境: 1.本地: ...

  7. 国产中标麒麟Linux部署dotnet core 环境并运行项目 (一) 安装dotnet core

    背景 根据我之前写的文章 将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目,我们将公司内部最核心的ORM框架迁移到net core 上面,并在win ...

  8. nginx+ssl+pm2 部署 nodejs 服务

    nginx+pm2 部署 nodejs 服务 最近在 centos 上部署 nodejs 服务,记下来步骤: 注意都是使用 root 用户. 下载 nvm: curl -o- https://raw. ...

  9. Docker部署NETCORE应用程序

    Docker部署NETCORE应用程序 创建.netcore项目,本文以ASP.NET Core2.2 版本为例 设置Dockerfile属性始终复制 编辑Dockerfile内容 FROM micr ...

  10. 部署Dotnet Core应用到Kubernetes(一)

    最近闲了点,写个大活:部署Dotnet应用到K8s.   写在前边的话 一直想完成这个主题.但这个主题实在太大了,各种拖延症的小宇宙不时爆发一下,结果就拖到了现在.   这个主题,会是一个系列.在这个 ...

随机推荐

  1. CSS – W3Schools 学习笔记 (1)

    CSS Color Link to W3Schools 这里讲的是 color 的 value, 它可以用在许多属性上, 比如 background-color, color, border-colo ...

  2. Identity – Authorize Custom Authorization Policy Providers

    前言 上一篇讲完了基本使用 Policy-Based. 这一篇另外说一说怎么动态调用它. 参考: Custom Authorization Policy Providers using IAuthor ...

  3. Axios——异步框架

    Axios--异步框架(简化AJAX代码书写)    Axios 请求方式别名   

  4. [OI] 指针与迭代器

    取地址与解引用 一般来说,我们有一个取地址符 & 可以返回该变量的地址. int main(){ int a; cout<<&a; } 0x6ffe1c 如果我们现在有一个 ...

  5. 【赵渝强老师】Oracle的PGA与数据库连接建立的过程

    首先,我们来了解一下Oracle的内存结构,如下: 关于Oracle的内存结构,详情请查看:[赵强老师]Oracle数据库的内存结构 (一)PGA的组成结构 PGA主要由以下三部分组成: 私有SQL区 ...

  6. c++中的读写锁

    读写锁是一种特殊的锁机制,允许多个线程同时读取共享数据,但在写入共享数据时,只有一个线程可以进行写操作,其他线程必须等待. 这种机制对于读多写少的场景非常有效,可以提高并发性能.以下是通过 share ...

  7. Linux内存管理2.6 -反向映射RMAP(最终版本)

    所谓反向映射是相对于从虚拟地址到物理地址的映射,反向映射是从物理页面到虚拟地址空间VMA的反向映射. RMAP能否实现的基础是通过struct anon_vma.struct anon_vma_cha ...

  8. 树形结构数据 数组对象 按照 sort 字段排序

    export function sortTreeData (data, flag) { let arr = [] if (flag === 1) { arr = data[0].children } ...

  9. Monaco Editor 实现一个日志查看器

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:文长 前言 在 Web IDE 中,控制台中展示日志是至关 ...

  10. Nacos2.3.2在ubuntu中的部署

    Nacos2.3.2 在ubuntu下的部署 下载地址 发布历史 | Nacos 官网 https://download.nacos.io/nacos-server/nacos-server-2.3. ...