环境切换

正式开发中分为不同的环境(开发环境、测试环境、生产环境),我们需要根据不同的情景来切换各种环境
pm2通过在配置文件中通过env_xx来声明不同环境的配置,然后在启动应用时,通过--env参数指定运行的环境

环境配置定义,在应用中,可以通过process.env.REMOTE_ADDR等来读取配置中生命的变量:

"env": {
"NODE_ENV": "production",
"REMOTE_ADDR": "http://www.example.com/"
},
"env_dev": {
"NODE_ENV": "development",
"REMOTE_ADDR": "http://wdev.example.com/"
},
"env_test": {
"NODE_ENV": "test",
"REMOTE_ADDR": "http://wtest.example.com/"
}

启动指定的环境:pm2 start app.js --env development

 
附上:

pm2会自动在process.env 设置一些参数,比如process.env.name 就是pm2启动的appname

其他参数参考如下:

{

  YARN_VERSION: '1.6.0',

  HOSTNAME: '952779b5ff4e',

  PWD: '/app/yunsiweiservice',

  HOME: '/root',

  NODE_VERSION: '10.1.0',

  'affinity:container': '=bd260641c08bb00736d69b225ec0977ddf3fbed3604bda36d593e2eb29890469',

  TERM: 'xterm',

  SHLVL: '1',

  PATH: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',

  _: '/usr/local/bin/pm2',

  PM2_USAGE: 'CLI',

  PM2_HOME: '/root/.pm2',

  SILENT: 'true',

  windowsHide: 'true',

  username: 'root',

  instance_var: 'NODE_APP_INSTANCE',

  exec_mode: 'cluster_mode',

  watch: 'false',

  treekill: 'true',

  autorestart: 'true',

  automation: 'true',

  pmx: 'true',

  vizion: 'true',

  instances: '1',

  name: 'yunsiweiservice',

  args: '-f,-P,8052,-p,/app/yunsiweiservice',

  node_args: '',

  pm_exec_path: '/usr/local/lib/node_modules/visop/bin/visop-start',

  env: '[object Object]',

  pm_cwd: '/app/yunsiweiservice',

  exec_interpreter: 'node',

  pm_out_log_path: '/root/.pm2/logs/yunsiweiservice-out-11.log',

  pm_err_log_path: '/root/.pm2/logs/yunsiweiservice-error-11.log',

  pm_pid_path: '/root/.pm2/pids/yunsiweiservice-11.pid',

  km_link: 'false',

  vizion_running: 'false',

  NODE_APP_INSTANCE: '0',

  status: 'launching',

  pm_uptime: '1529724769233',

  axm_actions: '',

  axm_monitor: '[object Object]',

  axm_options: '[object Object]',

  axm_dynamic: '[object Object]',

  created_at: '1529724769233',

  pm_id: '11',

  restart_time: '0',

  unstable_restarts: '0',

  _pm2_version: '2.10.4'

}

PM2用法简介【命令行启动 --env 参数设置使用问题】的更多相关文章

  1. Apache Commons CLI官方文档翻译 —— 快速构建命令行启动模式

    昨天通过几个小程序以及Hangout源码学习了CLI的基本使用,今天就来尝试翻译一下CLI的官方使用手册. 下面将会通过几个部分简单的介绍CLI在应用中的使用场景. 昨天已经联系过几个基本的命令行参数 ...

  2. Apache Commons CLI命令行启动

    今天又看了下Hangout的源码,一般来说一个开源项目有好几种启动方式--比如可以从命令行启动,也可以从web端启动.今天就看看如何设计命令行启动... Apache Commons CLI Apac ...

  3. 记一次使用命令行启动部署在tomcat上的应用

    在Eclipes进行程序开发完成后,一般都会直接在Eclipse部署启动,其中的一些启动参数设置都会在其中进行,若用命令行启动,则需要手动配置. 程序开发完成后打成的war包,需要部署到Tomcat应 ...

  4. 转载:使用命令行启动VirtualBox虚拟机

    使用命令行启动VirtualBox虚拟机 装上VirtualBox就琢磨着如何让它开机自动启动,又或者能够通过命令行的形式直接启动指定的虚拟机. 看了下VirtualBox的官方文档,发现有一个命令可 ...

  5. vmware 命令行启动虚拟机

    在redhat enterprise 5.3安装了vmware workstation,如何用vmware 命令行启动指定虚拟机?/usr/bin/vmware[root@node0 ~]# /usr ...

  6. UWP: 通过命令行启动 UWP 应用

    最近在开发应用的过程中,我遇到了如标题所述的需求,其实主要是为了能够快捷启动应用,正像我们可以在"运行"对话框中可以输入一些可执行程序的名称后,就能够直接启动它:这样做,可以增加 ...

  7. 让.Net程序支持命令行启动

    很多时候,我们需要让程序支持命令行启动,这个时候则需要一个命令行解析器,由于.Net BCL并没有内置命令行解析库,因此需要我们自己实现一个.对于简单的参数来说,自己写一个字符串比较函数来分析args ...

  8. Oracle安装完成后,如何用命令行启动和关闭数据库?

    Oracle安装完成后,如何用命令行启动和关闭数据库? 解答: 打开:STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ dat ...

  9. scrapy 源码解析 (一):启动流程源码分析(一)命令行启动

    前言 虽然爬虫的入门级编写并不难,但要让爬虫真正稳定可靠的运行起来,真不是一件容易的事.首先,要用到scrapy,就必须要读懂scrapy这个爬虫框架,如果连这个框架的执行逻辑都搞不懂,那么爬虫也很难 ...

随机推荐

  1. DNS服务——域名解析转发 和 条件转发

    前言 有一台Linux机器作为DNS服务器,查看这台机器上的DNS文件,发现指向互联网上的DNS服务器. [root@ziqiang named]# cat /etc/resolv.conf # Ge ...

  2. grafana忘记登陆密码

    找到grafana的数据文件grafana.db find / -name "grafana.db" ps:默认的安装路径为/var/lib/grafana/grafana.db ...

  3. Redis4.0之持久化存储

    一,redis概述与实验环境说明 1.1 什么是redis redis是一种内存型的NoSQL数据库,优点是快,常用来做缓存用  redis存储数据的方法是以key-value的形式  value类型 ...

  4. FontLab

    FontLab 字体制作软件

  5. [原创]extjs htmleditor增加截图快速粘贴功能 插件

    因客户需求,需要QQ截图后,能直接粘贴到htmleditor编辑器中,不要保存本地文件再上传,再插入到编辑器,太过麻烦. 常规做法:QQ截图-->选择保存路径-->确定保存文件--> ...

  6. GITHUB下载源码方式

    从昨天开始就想着从GitHub上下载一个开源的Vue的实战项目,希望能从中学习更多的Vue的实用内容,结果搞了半天好不容易下载了,不知道怎么弄.然而,今天终于成功了,激动地我赶紧来记录一下.如何从Gi ...

  7. http---返回网页(普通,多进程,多线程,协程方式实现)

    代码: import socket import re import multiprocessing import threading import gevent from gevent import ...

  8. django安装tinymce

    1. pip install django-tinymce 2. 运行:python manage.py collectstatic 3. 编辑 settings.py 4. TINYMCE_JS_U ...

  9. redis 发展史 应用场景

    引言 在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用, 原因是因为那时候Web站点基本上访问和并发不高.交互也较少. 而在后来,随着访问量的提升,使用关系型数据库的Web站点多多少 ...

  10. 064_将 Linux 系统中 UID 大于等于 1000 的普通用户都删除

    #!/bin/bash#先用 awk 提取所有 uid 大于等于 1000 的普通用户名称#再使用 for 循环逐个将每个用户删除即可 user=$(awk -F: '$3>=1000{prin ...