内容如下:
{
"name": "yhtAdmin",
? "script": "java",
? "args": [
? ? ? "-jar",
? ? ? "background-0.0.1-SNAPSHOT.jar"
? ],
?"error_file":"./log/err.log",
? "out_file":"./log/out.log",
? "exec_interpreter": "",
? "exec_mode": "fork"
}
说明如下:
script 执行进程名称,本文为java
args 传给执行进程的参数,多个参数以数组单元分割
exec_interpreter NodeJs解析器,本文不适用
out_file为日志输出位置
exec_mode 执行模式[cluster|fork]这个针对NodeJs应用的配置,非NodeJs应用统一fork
且能够负载均衡、能够帮助应用在崩溃后、指定时间(cluster model)和超出最大内存限制
等情况下实现自动重启.
查看版本好,确定是否安装成功
示例:
多个应用程序
启动第一个应用程序
启动第而个应用程序
启动是否能正常运行程序
我们发现两个进程都可以正常访问,我们会发现两个进程都叫app,甚至都不太好区分谁是谁
所以呢我们在启动程序的时候,可以自定义命名
上面土嘎嘎给出的例子源码中,两个进程都是同一个名字,都不太好区分,启动第三个程序时修改进程名称
结果:
现在可以停止进程
通过进程名关闭进程
通过进程id关闭进程
结果
all是关闭所有的进程
访问结果:
restart命令同时杀死并重启所有进程.短时间内服务不可用.生成环境推荐使用reload
重新启动所有进程,始终保持至少一个进程在运行
通过进程名删除进程
通过进程id删除进程
查看进程状态
查看进程日志
Introduce
在开发模式的时候,我们常用 nodemon 和 webpack 热更新nodejs项目(如express)和前端项目(如vue),但需要部署的时候我们就不能再用开发环境的配置了,需要改成生产环境配置.为了使得项目可以稳健的运行在服务端,node可以使用nohup启动,前端项目可以使用nginx代理.
nohup(不推荐使用)
作用:不挂断地运行命令.
启动后通过 ps -ef 可以查看进程和 pid,如果需要停止,输入
需要特别注意的是,退出远程时,要使用 exit 退出,直接关闭远程工具将会导致后台静默进程停止.
尽管nohup是内置工具,但万一服务抛异常,对外没有反应,表现为无端停止服务,对维护不友好.
其中 name 代表进程别名,script 代表需要执行的命令,env 是注入到服务中的变量.
最后修改 package.json 的 start 命令(项目为 express )为
停止或重启服务使用
自动启动
执行后会输出
执行后输出
再也不用担心重启后服务不起了.
nginx
作为一个高性能的http和反向代理服务,在linux上不免要选用它.
安装教程
代理教程
常规配置
代理配置
上面就是linux上部署项目的教程(后续介绍 docker部署 ).
首先在输入命令echo $PATH 拿到当前系统环境变量
OUTPATH=/home/cutLogsDate
mkdir -p $OUTPATH
INPUTPATH=$CURPATH/logs
reloadProcessLogs(){
logFilesGame="${INPUTPATH}/$1"
logOfLastDay=$OUTPATH/$yesterday.log
mv $logFilesGame $logOfLastDay
touch $logFilesGame
echo "切割$1成功"
reloadProcessLogs 'game-out-0.log' 'game_out'
①找到全局环境PATH路径
输入命令: echo $PATH
回车后: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
你的路径和我的可能不一样,但没关系,你可以选择任何一个以:隔开的路径做为系统环境路径,我通常会选 /usr/local/bin
就重要的一步要开始了,睁大你的双眼.
OK,搞定,此时此刻呢验证一把...
回车...
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!