Linux设置项目依次启动和开机启动

 

Linux服务器有三个项目,分别是网站前端show_sir_nuxt、网站后端show-cms、数据接口gosh

Linux的目录如下:

show_sir_nuxt和show-cms是Nuxt项目,通过pm2守护进程启动

gosh是springboot项目jar包,通过nohup守护进程启动

一、设置所有项目按顺序依次启动

1、创建启动项目脚本start_all.sh,脚本内容如下

#!/bin/bash
echo "=============start=================="
#启动Nuxt项目
cd /usr/local/laoxu_zh/project_run/show_sir_nuxt/ && pm2 start npm --name "show_sir_nuxt" -- run start
cd /usr/local/laoxu_zh/project_run/show-cms/ && pm2 start npm --name "show-cms" -- run start

#启动springboot项目
cd /usr/local/laoxu_zh/project_run/gosh/
JAVA_OPTS="-Dfile.encoding=utf-8 -Xms1024m -Xmx1024m -XX:+PrintGCDetails -Xloggc:/var/log/gc.log -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/heap.bin -Duser.timezone=Asia/Shanghai"
nohup java $JAVA_OPTS -jar gosh-service-1.0-gosh.jar --server.port=8080 >info.log 2>error.log &
echo "=============end===================="

2、项目启动,进入启动项目脚本所在目录,执行如下命令

[root@localhost project_run]# ./start_all.sh 

3、依次检查,所有项目启动成功

 

二、设置项目开机启动

1、执行如下脚本

[root@localhost gosh]# cd /etc/rc.d/
[root@localhost init.d]# ls -rlt
[root@localhost init.d]# vi rc.local

在 rc.local 文件中添加如下内容(截图中圈定的内容)

kk_start_all.sh 内容如下

#!/bin/bash
echo "================start=================="
#启动redis集群
cd /usr/local/laoxu_zh/redis_down/redis-3.2.4/
redis-server redis_cluster/7000/redis.conf
redis-server redis_cluster/7001/redis.conf
redis-server redis_cluster/7002/redis.conf

#设置全局环境变量
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#启动springboot项目
cd /usr/local/laoxu_zh/project_run/gosh/
JAVA_OPTS="-Dfile.encoding=utf-8 -Xms1024m -Xmx1024m -XX:+PrintGCDetails -Xloggc:/var/log/gc.log -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/heap.bin -Duser.timezone=Asia/Shanghai"
nohup java $JAVA_OPTS -jar gosh-service-1.0-gosh.jar --server.port=8080 >info.log 2>error.log &
echo "================end==================="

特别注意:设置全局环境变量这个步骤不能省,因为开机时在 /etc/profile 配置的java环境变量可能还未生效

2、赋可执行权限,Centos7中 rc.local 默认没有执行权限,赋予执行权限后,Linux开机会自动执行文件内容

[root@localhost init.d]# chmod +x kk_start_all.sh

3、重启Linux服务器

特别注意:如果使用 pm2 进行进程守护,执行一次  pm2 startup (# 创建开机自启动命令),即可开机启动,但是pm2进行的进程守护,即使执行了 pm2 delete all 删除了所有进程,但是如果系统重启,依然会恢复,这也pm2开机启动不好的地方

[root@localhost init.d]# shutdown -r now

4、依次检查,所有项目启动成功

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值