如何在同一台服务器起多个pm2进程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在同一台服务器起多个pm2进程相关的知识,希望对你有一定的参考价值。

PM2是一个带有负载均衡功能的Node应用的进程管理器。PM2可以利用服务器上的所有CPU,并保证进程永远都活着,0秒的重载,部署管理多个Node项目。PM2是Node线上部署完美的管理工具。PM2安装npm install -g pm2
PM2用法$ pm2 start app.js -i 4 #后台运行pm2,启动4个app.js,也可以用’max’参数,进程数目依赖于Cpu的核心数目$ pm2 start app.js –name my-api # 命名进程$ pm2 restart 0 # 重启指定的进程$ pm2 restart all # 重启所有进程$ pm2 reload all # 0秒停机重载进程 (用于NETWORKED进程)$ pm2 stop 0 # 停止指定的进程$ pm2 stop all # 停止所有进程$ pm2 startup # 产生init脚本,保持进程活着$ pm2 delete 0 # 杀死指定的进程$ pm2 delete all # 杀死全部进程$ pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)$ pm2 list # 列出由pm2管理的所有进程信息。$ pm2 monit # 监视每个node进程的CPU和内存的使用情况。$ pm2 logs # 显示所有进程日志$ pm2 kill # 杀死pm2进程$ pm2 info 0 # 描述指定项目或者进程信息$ pm2 logs # 实时集中log处理
参考技术A 你是64位系统吧,我的64位win7也这样,装回XP就没事

如何在同一台机器上安装多个MySQL的实例(转)

  最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MySQL的实例)。

  先说下,什么是mysql的多实例,简单的来说就是一台机器上安装了多个mysql的服务,通过不同的端口(如3307,3308)来向外界提供服务,这些进程通过不同的socket来监听不同的服务端口来提供个字的服务。

  做个比喻:MySQL的多实例相当于房子的相当于多个卧室一样,每个实例可以看做是一个卧室,整个服务器就是一个房子,服务器的硬件资源(cpu,mem,disk)就是共享的资源,相当于房子的卫生间,厨房,客厅一样,是房子的公共资源,北漂蜗居在一起,可定是要公用上述的资源的。

  好处:

    当公司资金紧张,可以节约服务器的资源。

  坏处:

    当某个服务并发很高或者有慢查询的时候,整个实例会消耗整个服务器更多的内存,cpu和各种资源,导致服务器上的其他的实例提供的服务质量下降。这就相当于大家住在一个房子的不同卧室一样,早晨起来刷牙,洗脸等,这样卫生间就会长期占用,其他人需要等一样的道理。

下面记录下装一个3307的MySQL的实例的步骤:

一. 基本的需求和出现的问题

  当MySQL出现故障或者需要加入一个新的MySQL的实例的时候,需要重新初始化MySQL的数据库,也就是需要重新生成新的数据库的文件。

  Linux环境中,安装编译好MySQL之后,还是不能直接启动MySQL,需要初始化Mysql的一些基本东西,包括:

  初始化表日志,基本的数据库信息等一些基本的必须文件。

二.安装的步骤:

  (1). 假设已经存在一个MySQL的实例,端口号为3306,现在需要重新添加一个端口号为3307端口的MySql的实例。

     假设MySQl安装的路径是/usr/local/mysql/下面,找一个数据磁盘比较的地方,比如/data1/目录下,在这个目录下面创建数据文件夹:

1  mkdir  -p /data1/mysql_3307/data2  chown  -R mysql::mysql /data1/mysql_3307

  (2). 复制之前的MySQl的配置文件,到/data1/mysql_3307/目录下面,并且进行编辑:

    vim  /data1/mysql_3307/my.cnf

    基本的配置如下:

    技术分享图片

    注:上面的路径可能与上面的数据库文件的存放路径有点出入,但这个不是重点,可以自行替换一下!

(3).确保配置文件无误,然后开始初始化数据库:

     /usr/local/mysql/scripts/mysql_install_db --defaults-file=/data1/mysql_3307/my.cnf --datadir=/data1/mysql/ --basedir=/usr/lcoal/mysql
  完成后,新的mysql 3307数据库已经初始化好了,如果有报错,则看下报错的日志,一般是由于mysql的配置文件导致的,修改即可!

 (4).启动新的MySQL的实例服务:

  在上面的初始化配置确保无误的情况下,就可以开始启动MySQL的又一个实例了。

1 /usr/local/mysql/bin/mysqld_safe --defaults-file=/data1/mysql_3308/my.cnf &2  检查是否启动:3     ps -aux | grep mysql4  如有3308的端口   则表示成功

(5).新的 mysql没有设置root密码,可以通过如下 的设置:

/usr/local/mysl/bin/mysqladmin     -S /tmp/mysql_3308.sock -uroot passwd new-paswd;

  如上面的步骤,即可完成一个机器上多个MySQL实例的安装与运行。

 当然了,可以将MySQL_server这个脚本放入到/rt/rc.local这个目录下面,随着服务器启动。

(6).如果想登陆的时候,需要指定MySQL的端口号,使用-P3307来指定登录到哪台数据库上即可。

 总结:

  自己在安装这个数据库的时候,以为是需要再次下载一个新的数据库的源码包,但是其实是不用的,使用一个MySQL的源码包,是可以安装多个MySQL的实例的。

以上是关于如何在同一台服务器起多个pm2进程的主要内容,如果未能解决你的问题,请参考以下文章

如何在同一台机器上安装多个MySQL的实例(转)

在同一台机器上启动多个tomcat服务

如何在同一台机器上安装多个MySQL的实例 转

当有多个实例时如何与.net进程通信

你有想过在同一台服务器中,同时多开几个tomcat吗

PM2的基本使用