小鱼塘--自说自话的地方

  • 小玩意
  • 小想法
记录自己技术和想法地方
  1. 首页
  2. nodejs
  3. 正文

宝塔启动node项目脚本研究

30 1 月, 2024 1140点热度 0人点赞 0条评论
内容目录

背景

几个服务器项目用node js,自己开发直接用node xx.js就可以了,但在linux 服务器部署的时候,就必须用nohup ,但如果多个项目就会导致分不了,除非xx.js每个项目不一样,这个时候查看 /proc/pid/cwd 看运行的目录才能知道具体的项目,这样子会导致重启项目很麻烦

解决方案

  1. forever 启动运行
  2. 采用pm 管理node项目
  3. 采用宝塔的node项目管理

宝塔的node项目管理

直接用宝塔web操起来非常方便,启动、停止、重启非常方便,同时可以设置各种web设置

研究一下宝塔的node项目启动脚本

PATH=/www/wwwroot/项目名字/node_modules/.bin:/www/server/nodejs/v14.17.6/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

export NODE_PROJECT_NAME="项目名字"
cd /www/wwwroot/项目名字
nohup node index.js 2>&1 >> /www/wwwlogs/nodejs/项目名字.log &
echo $! > /www/server/nodejs/vhost/pids/项目名字.pid
  1. 设置path路径变量,方便找依赖库和指定对应node版本,这样子你多个版本也可以指定。
  2. 工程名字貌似也没有用
  3. 切换当前目录
  4. 后台运行命令
  5. 输出上一个执行进程的id,这个就是我运行的命令 - $! 可调用上一个进程的进程ID

上面大概就是脚本逻辑,然后结合python功能,执行脚本以www用户执行这个脚本(默认情况,这样子更加安全,以前我自己没有注意)

可以手动以www 执行

sudo -H -u www ./项目名字.sh

这个原理运行项目pid写在文件里面,然后停止读取整个pid,杀敌指定进程即可

所以按照这个逻辑可以写非常方便脚本运行

标签: 暂无
最后更新:30 1 月, 2024

小鱼儿

爱研究技术,爱玩LOL

点赞
< 上一篇

COPYRIGHT © 2022 小鱼塘. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

湘ICP备18005349号