PM2部署DotNet应用程序
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应用程序的更多相关文章
- IIS上部署DotNet Core程序
1.安装托管捆绑包 https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-2.1 ...
- ubuntu上部署windows开发的dotnet core程序
目标:完成windows上开发的dotnet core程序部署至linux服务器上(Ubuntu 14.04) windows上开发dotnet core很简单,安装好VS2017,建立相关类型的项目 ...
- 手把手教你用Jenkins自动发布dotnet core程序
Jenkins部分 首先,我们要有个Jenkins咯,下载链接:https://jenkins.io/download/ 我们安装官网教程安装好jenkins,安装教程略.... 嗯?不是说好手把手么 ...
- .Net Core 在Linux服务器下部署程序--(3). 部署.net Core程序
确认第二步中的软件已安装完成 lrzsz文件上传下载软件 zip与unzip压缩包软件 net core 相关软件 确认上述软件安装完成之后,开始部署程序 创建部署文件夹 我的习惯是在usr文件夹下新 ...
- 一种简单的生产环境部署Node.js程序方法
最近在部署Node.js程序时,写了段简单的脚本,发觉还挺简单的,忍不住想与大家分享. 配置文件 首先,本地测试环境和生产环境的数据库连接这些配置信息是不一样的,需要将其分开为两个文件存储 到conf ...
- pm2部署node应用
背景: 很早就知道了pm2的强大功能,部署,多进程部署,负载均衡等等,但是一直没有取尝试使用,每次写完代码就没关心部署的事了.最近有空就想着把pm2的部署流程走一遍,顺便整理出来. 环境: 1.本地: ...
- 国产中标麒麟Linux部署dotnet core 环境并运行项目 (一) 安装dotnet core
背景 根据我之前写的文章 将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目,我们将公司内部最核心的ORM框架迁移到net core 上面,并在win ...
- nginx+ssl+pm2 部署 nodejs 服务
nginx+pm2 部署 nodejs 服务 最近在 centos 上部署 nodejs 服务,记下来步骤: 注意都是使用 root 用户. 下载 nvm: curl -o- https://raw. ...
- Docker部署NETCORE应用程序
Docker部署NETCORE应用程序 创建.netcore项目,本文以ASP.NET Core2.2 版本为例 设置Dockerfile属性始终复制 编辑Dockerfile内容 FROM micr ...
- 部署Dotnet Core应用到Kubernetes(一)
最近闲了点,写个大活:部署Dotnet应用到K8s. 写在前边的话 一直想完成这个主题.但这个主题实在太大了,各种拖延症的小宇宙不时爆发一下,结果就拖到了现在. 这个主题,会是一个系列.在这个 ...
随机推荐
- RxJS 系列 – Error Handling Operators
前言 前几篇介绍过了 Creation Operators Filter Operators Join Creation Operators 这篇继续介绍 Error Handling Operato ...
- CSS – Icon
前言 Icon 并不容易搞. 市场有许多平台支持 Icon, 有些收费有些免费. 有些 icon 很丰富, 有些很缺失. 尤其是在做网站的时候寻找 icon 是一个挺累的事情. 这篇就来聊聊 icon ...
- 大模型应用开发初探 : 通用函数调用Planner
大家好,我是Edison. 上一篇,我们了解了什么是AI Agent以及如何用Semantic Kernel手搓一个AI Agent.有朋友留言说,自动函数调用对大模型有较高的要求,比如Azure O ...
- Linux板子与ubuntu交互,NFS配置
第0步:保证你的ubuntu能上网,可以选择NAT方式让ubuntu上网. 第一步:安装NFS服务 sudo apt-get install nfs-kernel-server portmap 第二步 ...
- Nuke导出视频缺失 H.246格式 的解决办法
同事在使用Nuke导出视频时报错,报错提示:缺失 H.246格式 后来经过我的研究发现,Quicktime Player 在标准安装时,默认不关联一些格式(具体是哪些格式不清楚) Quicktime ...
- Autodesk 3d Max2020 初始化闪退
事件起因:给同事安装完 Autodesk 3d Max2020 版本之后,软件初始化就闪退,后来在网上查了资料后解决. 解决办法如下:services.msc --> Autodesk 开头的服 ...
- 2023年1月中国数据库排行榜:OceanBase 持续两月登顶,前四甲青云直上开新局
一元复始,万象更新. 国产数据库在经历过耕获菑畲的一年后,产品.生态.人才队伍建设等都取得了重大的进展.2023年1月 墨天轮中国数据库流行度排行 火热出炉,本月排行榜"属性"列新 ...
- 神经网络之卷积篇:详解经典网络(Classic networks)
详解经典网络 首先看看LeNet-5的网络结构,假设有一张32×32×1的图片,LeNet-5可以识别图中的手写数字,比如像这样手写数字7.LeNet-5是针对灰度图片训练的,所以图片的大小只有32× ...
- DiTAC:不知如何提升性能?试试这款基于微分同胚变换的激活函数 | ECCV'24
非线性激活函数对深度神经网络的成功至关重要,选择合适的激活函数可以显著影响其性能.大多数网络使用固定的激活函数(例如,ReLU.GELU等),这种选择可能限制了它们的表达能力.此外,不同的层可能从不同 ...
- 云原生周刊:Docker 推出 Docker Build Cloud
开源项目推荐 Kube-Vip Kube-Vip 旨在为 Kubernetes 集群提供高可用性和负载均衡功能.它提供了一个可插拔的 VIP(虚拟 IP)管理器,可以为集群中的服务分配一个虚拟 IP ...