PM2用法简介【命令行启动 --env 参数设置使用问题】
环境切换
正式开发中分为不同的环境(开发环境、测试环境、生产环境),我们需要根据不同的情景来切换各种环境
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 参数设置使用问题】的更多相关文章
- Apache Commons CLI官方文档翻译 —— 快速构建命令行启动模式
昨天通过几个小程序以及Hangout源码学习了CLI的基本使用,今天就来尝试翻译一下CLI的官方使用手册. 下面将会通过几个部分简单的介绍CLI在应用中的使用场景. 昨天已经联系过几个基本的命令行参数 ...
- Apache Commons CLI命令行启动
今天又看了下Hangout的源码,一般来说一个开源项目有好几种启动方式--比如可以从命令行启动,也可以从web端启动.今天就看看如何设计命令行启动... Apache Commons CLI Apac ...
- 记一次使用命令行启动部署在tomcat上的应用
在Eclipes进行程序开发完成后,一般都会直接在Eclipse部署启动,其中的一些启动参数设置都会在其中进行,若用命令行启动,则需要手动配置. 程序开发完成后打成的war包,需要部署到Tomcat应 ...
- 转载:使用命令行启动VirtualBox虚拟机
使用命令行启动VirtualBox虚拟机 装上VirtualBox就琢磨着如何让它开机自动启动,又或者能够通过命令行的形式直接启动指定的虚拟机. 看了下VirtualBox的官方文档,发现有一个命令可 ...
- vmware 命令行启动虚拟机
在redhat enterprise 5.3安装了vmware workstation,如何用vmware 命令行启动指定虚拟机?/usr/bin/vmware[root@node0 ~]# /usr ...
- UWP: 通过命令行启动 UWP 应用
最近在开发应用的过程中,我遇到了如标题所述的需求,其实主要是为了能够快捷启动应用,正像我们可以在"运行"对话框中可以输入一些可执行程序的名称后,就能够直接启动它:这样做,可以增加 ...
- 让.Net程序支持命令行启动
很多时候,我们需要让程序支持命令行启动,这个时候则需要一个命令行解析器,由于.Net BCL并没有内置命令行解析库,因此需要我们自己实现一个.对于简单的参数来说,自己写一个字符串比较函数来分析args ...
- Oracle安装完成后,如何用命令行启动和关闭数据库?
Oracle安装完成后,如何用命令行启动和关闭数据库? 解答: 打开:STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ dat ...
- scrapy 源码解析 (一):启动流程源码分析(一)命令行启动
前言 虽然爬虫的入门级编写并不难,但要让爬虫真正稳定可靠的运行起来,真不是一件容易的事.首先,要用到scrapy,就必须要读懂scrapy这个爬虫框架,如果连这个框架的执行逻辑都搞不懂,那么爬虫也很难 ...
随机推荐
- DNS服务——域名解析转发 和 条件转发
前言 有一台Linux机器作为DNS服务器,查看这台机器上的DNS文件,发现指向互联网上的DNS服务器. [root@ziqiang named]# cat /etc/resolv.conf # Ge ...
- grafana忘记登陆密码
找到grafana的数据文件grafana.db find / -name "grafana.db" ps:默认的安装路径为/var/lib/grafana/grafana.db ...
- Redis4.0之持久化存储
一,redis概述与实验环境说明 1.1 什么是redis redis是一种内存型的NoSQL数据库,优点是快,常用来做缓存用 redis存储数据的方法是以key-value的形式 value类型 ...
- FontLab
FontLab 字体制作软件
- [原创]extjs htmleditor增加截图快速粘贴功能 插件
因客户需求,需要QQ截图后,能直接粘贴到htmleditor编辑器中,不要保存本地文件再上传,再插入到编辑器,太过麻烦. 常规做法:QQ截图-->选择保存路径-->确定保存文件--> ...
- GITHUB下载源码方式
从昨天开始就想着从GitHub上下载一个开源的Vue的实战项目,希望能从中学习更多的Vue的实用内容,结果搞了半天好不容易下载了,不知道怎么弄.然而,今天终于成功了,激动地我赶紧来记录一下.如何从Gi ...
- http---返回网页(普通,多进程,多线程,协程方式实现)
代码: import socket import re import multiprocessing import threading import gevent from gevent import ...
- django安装tinymce
1. pip install django-tinymce 2. 运行:python manage.py collectstatic 3. 编辑 settings.py 4. TINYMCE_JS_U ...
- redis 发展史 应用场景
引言 在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用, 原因是因为那时候Web站点基本上访问和并发不高.交互也较少. 而在后来,随着访问量的提升,使用关系型数据库的Web站点多多少 ...
- 064_将 Linux 系统中 UID 大于等于 1000 的普通用户都删除
#!/bin/bash#先用 awk 提取所有 uid 大于等于 1000 的普通用户名称#再使用 for 循环逐个将每个用户删除即可 user=$(awk -F: '$3>=1000{prin ...