Linux部署服务常用命令和脚本

前端和后端项目部署到 Linux 服务器上的常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Tab键 打出名字前几位按Tab自动补全完整名字

# 返回上两级目录
cd ..

# 进入指定目录
cd /xx/xx/xx

# 查看目录
ls

# 查看目录(列表)
ll

# 创建文件夹
mkdir 文件名

# 运行.sh脚本
./xxx.sh

# 查看日志的最后100行 xxx.log是服务器日志的名字
tail -100f xxx.log

# 备份项目:原名称.bak 或者原名称.bak+时间
xxxxx-1.0-SNAPSHOT.jar.bak

# 查看正在运行的java程序
ps -ef|grep java

# 查看sh脚本
cat xxx.sh

# 编辑脚本 i 进入编辑 : 进入退出 q 退出 qw 退出并保存 q! 强制退出不保存
vim xxx.sh

# 清屏
Ctrl + l

# 停止程序
Ctrl + c

# 删除文件
rm -rf 文件名

# 部署前端项目到xx目录下 (前端项目需要先删除旧的项目后部署)
\cp -rf /xx/xx/xx/文件名 ./

# 前端项目打包
npm run build

后端部署项目启动/停止 .sh 脚本

停止正在运行的项目,脚本名称 shutdown-你的项目名称.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh
#停止xx目录下的项目
projectDir="/xx/xx/xx/"

#项目的名字
jarName="xxxxx-1.0-SNAPSHOT.jar"

count=$(ps -ef |grep ${jarName} |grep -v "grep" |wc -l)

if [ ${count} -gt 0 ]; then
echo "已存在${count}${jarName}程序在运行"
jarPid=$(ps x |grep ${jarName} | grep -v grep | awk '{print $1}')
echo ${jarPid}
kill -9 ${jarPid}
output=`echo "正在关闭${jarName}程序,进程id${jarPid}"`
echo ${output}
else
echo "没有对应的程序在运行"
fi

启动项目,脚本名称 start-你的项目名称.sh

1
2
3
4
5
6
#!/bin/bash

#启动目录下的jar包 --server.port=端口号
nohup java -jar /xx/xxx/xxx/xxxxx-1.0-SNAPSHOT.jar --server.port=49002 >/dev/null 2>&1 &

echo "startup form ok"