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. Google Maps Embed API & JavaScript API

    前言 很多年前写过一篇 Google Map 谷歌地图, 这篇算是翻新版本. Google Map Registration Google Maps Platform 是整个 Google Map 的 ...

  2. 搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门系列

    搭建高效攻防靶场vulfocus与Docker仓库管理实战:从听说到入门系列 vulfocus 简介 vulfocus,作为一款前沿的漏洞集成平台,它巧妙地将多种最新的CVE漏洞环境封装于Docker ...

  3. 浏览器原生组件 shadow DOM(已完成)

    https://developer.mozilla.org/zh-CN/docs/Web/Web_Components/Using_shadow_DOM Web components 的一个重要属性是 ...

  4. 利用AutoGpt将任何模型支持o1模型的推理实现

    利用AutoGpt将任何模型支持o1模型的推理实现 相信大家都对于OpenAI最新出的o1模型都非常关注,它已经能通过推理让回复的效果更加理想, 但是目前o1的限制太大,而且使用o1至少也是需要购买O ...

  5. Servlet——Request请求转发

    Request请求转发       特点:     

  6. 数据库运维实操优质文章文档分享(含Oracle、MySQL等) | 2024年8月刊

    本文为大家整理了墨天轮数据社区2024年8月发布的优质技术文章/文档,主题涵盖Oracle.MySQL.PostgreSQL等主流数据库系统以及国产数据库的技术实操,从基础的安装配置到复杂的故障排查, ...

  7. 墨天轮访谈 | IvorySQL王志斌—IvorySQL,一个基于PostgreSQL的兼容Oracle的开源数据库

    分享嘉宾:王志斌 瀚高IvorySQL产品经理 整理:墨天轮社区 导读 大家好,我是瀚高IvorySQL产品经理王志斌,IvorySQL是基于PostgreSQL的衍生开源项目. 我今天分享的内容主要 ...

  8. vue的计算属性computed和监视属性waatch的区别

    共同的:都是用于监听数据变化的属性: 计算属性:必须有返回值return ,依赖其它属性值,其它属性值发生变化的时候就会重新计算 : 监视属性:每当数据变化的时候就会触发执行,watch有两个新值和旧 ...

  9. permission 文件 - 后台管理 element-admin 模板 作用-前置路由守卫

    import router from "./router"; import { getToken } from "./utils/auth"; import N ...

  10. 5.flask 源码解析:请求

    目录 一.flask 源码解析:请求 1.1 简介 1.2 请求 Flask 源码分析完整教程目录:https://www.cnblogs.com/nickchen121/p/14763457.htm ...