君玉自牧 君玉自牧
首页
  • Linux
  • Nginx
  • MySQL
  • Redis
  • Kafka
  • Docker
  • Jenkins
  • Oneindex
  • Bitwarden
  • Confluence
  • Photogallery
  • 智能手机
  • 上古卷轴
  • 健身记录
  • 站点相关
  • 未完待续
GitHub (opens new window)
首页
  • Linux
  • Nginx
  • MySQL
  • Redis
  • Kafka
  • Docker
  • Jenkins
  • Oneindex
  • Bitwarden
  • Confluence
  • Photogallery
  • 智能手机
  • 上古卷轴
  • 健身记录
  • 站点相关
  • 未完待续
GitHub (opens new window)
  • 技术架构

  • 桌面维护

  • 网络工程

  • 系统运维

    • Linux

      • CentOS 初始化 & 环境准备
      • Linux SSH 服务 & 免密登录
      • Linux 用户权限 & 防火墙
      • Linux 磁盘挂载及交换分区
      • Linux 编辑器:vi & vim
      • Linux 软件包管理
      • Linix 文件共享:FTP、NFS、Samba
      • Linux 定时任务:crontab
      • Linux 系统日志基本管理
      • Linux 系统 Shell 命令
      • 使用 nohup 启动守护进程
      • 使用 pm2 启动守护进程
        • NodeJS
          • 修改镜像
        • PM2
          • 在线安装
          • 离线安装
          • 软连接
        • 开始使用
          • 命令
          • 实例
      • 使用 Ansible 自动化运维
      • 使用 Puppet 自动化运维
    • Apache

    • Nginx

    • MySQL

    • Redis

    • MQ

    • ELK

    • Nacos

    • PostgreSQL

    • MongoDB

  • 环境搭建

  • 容器编排

  • 持续集成

  • 监控告警

  • 项目实践

  • 脚本开发

  • 前端开发

  • 后端开发

  • 效率工具

目录

使用 pm2 启动守护进程

守护进程,英文名:“daemon”,是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出;就是常说的后台运行。 常见的相应工具有Supervisor和nohup,而pm2相对于Supervisor没有配置,不用输很长的命令、相对于nohup管理进程方便。

# NodeJS

pm2是一个高级的NodeJS进程管理工具,使用pm2需要安装NodeJS,详细操作见下文: Node.JS 环境搭建

# 修改镜像

修改成阿里云镜像

#设置
npm config set registry https://registry.npmmirror.com
#验证
npm config get registry
#返回 https://registry.npmmirror.com 表示成功
1
2
3
4
5

# PM2

# 在线安装

安装完NodeJS就可以使用npm命令了

npm i pm2 -g
ln -s /usr/local/nodejs/bin/pm2 /usr/bin/
1
2

# 离线安装

进入模块文件夹:/usr/local/node/lib/node_modules,压缩

cd /usr/local/node/lib/node_modules
tar -czvf pm2.tar.gz pm2
1
2

将压缩包拷贝到离线设备 /usr/local/node/lib/node_modules 目录下

cd /usr/local/node/lib/node_modules
tar -zxvf pm2.tar.gz
1
2

解压完成后,尝试运行

/usr/local/node/lib/node_modules/pm2/bin/pm2
1

# 软连接

这样我们可以直接使用 pm2 全局命令

#配置 node 变量
ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2  /usr/local/node/bin/pm2
ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2-dev  /usr/local/node/bin/pm2-dev
ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2-docker  /usr/local/node/bin/pm2-docker
ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2-runtime  /usr/local/node/bin/pm2-runtime

#配置全局变量
ln -s /usr/local/node/bin/pm2 /usr/local/bin/pm2
1
2
3
4
5
6
7
8

# 开始使用

# 命令

命令 说明
pm2 update 更新版本
pm2 list 显示所有进程状态
pm2 startup 产生 init 脚本,保持进程后台运行
pm2 monit name 监视指定(所有)进程,查看进程的资源消耗情况等
pm2 log name 显示指定(所有)日志
pm2 stop name(all) 停止指定(所有)进程
pm2 restart name(all) 重启指定(所有)进程
pm2 reload name(all) 0 秒停机重载进程 (用于 NETWORKED 进程)
pm2 selete name(all) 删除指定(所有)进程

# 实例

背景:用 .NET Core 搭建了个小应用,可以部署的闲置服务器系统是 Linux,于是先部署了相应的运行环境 Linux 搭建 .NET 环境 (opens new window) 直接将发布后的文件上传到服务器,进入到应用所在目录,执行一下语句即可

.NET Core 应用程序需要 runtimeconfig.json 文件

pm2 start "dotnet test.dll" --name test
pm2 monit test
1
2
网页编辑 (opens new window)
最近提交: 2023/03/22, 11:52:35
使用 nohup 启动守护进程
使用 Ansible 自动化运维

← 使用 nohup 启动守护进程 使用 Ansible 自动化运维→

Theme by Vdoing | Copyright © 2011-2023 | 君玉自牧
粤ICP备15057965号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式