从头部署jetty比较麻烦,这里写了一个安装jetty的脚本,可以比较快速的部署jetty。
主要功能
- 创建用户及组
- 解压jetty
- 配置程序与工作目录分离
- 自动复制配置文件及需要信息到工作目录
- 添加服务到自启动(centos系统,ubuntu等系统需自己改,很简单)
自己配置
- 端口等配置须自己设置
- 防火墙各个系统的不一样,须自己开端口
脚本主体
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
#!/bin/bash
echo "安装jetty"
##################################################
# 参数设置
##################################################
# 安装目录
installPath=/opt/apps/jetty
# 工作目录
JETTY_BASE=/opt/jettyWebs
USER=jetty
GROUP=jetty
# 压缩包路径,tar.gz包
JettyPath=jetty-distribution-9.4.6.v20170531.tar.gz
##################################################
# 公共方法
##################################################
function exitInfo()
{
echo "退出 : $1"
exit 0
}
function createUser()
{
egrep "^$GROUP" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
echo "添加用户组$GROUP"
groupadd $GROUP
fi
egrep "^$USER" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
echo "添加用户$USER"
useradd -g $GROUP $USER
fi
}
function deleteFolder()
{
if [ -d "$1" ]; then
rm -rf "$1"
echo "删除文件夹: $1"
fi
}
function createFolder()
{
if [ ! -d "$1" ]; then
mkdir -p "$1"
echo "创建文件夹: $1"
fi
}
##################################################
# jetty相关方法
##################################################
function createJettyDic()
{
createFolder "$installPath"
createFolder "$JETTY_BASE"
}
function unzipJetty()
{
jettyFile=${JettyPath##*/}
jettyFileName=${jettyFile/%.tar.gz/}
tar -xzvf "$JettyPath" -C "$installPath" 1>/dev/null 2>&1
echo "解压到 $installPath"
lnsPath=$installPath/current
rm -f $lnsPath
ln -s "$installPath/$jettyFileName" "$lnsPath"
if [ ! -f "$JETTY_BASE/start.ini" ]; then
cp "$lnsPath"/start.ini "$JETTY_BASE"
fi
createFolder "$JETTY_BASE"/temp
createFolder "$JETTY_BASE"/work
createFolder /var/run/jetty
cp "$lnsPath"/demo-base/* "$JETTY_BASE"
chown -R "$USER":"$GROUP" "$installPath"
chown -R "$USER":"$GROUP" "$JETTY_BASE"
chown -R "$USER":"$GROUP" /var/run/jetty
usermod -d $JETTY_BASE $USER
cp -f "$lnsPath"/bin/jetty.sh /etc/init.d/jetty
chmod 700 /etc/init.d/jetty
echo -e "JETTY_HOME=$lnsPath\nJETTY_BASE=$JETTY_BASE\nTMPDIR=$JETTY_BASE/temp\nJETTY_USER=$USER" > /etc/default/jetty
# centos自启,其他系统改这里
chkconfig jetty on
}
if [ "$(whoami)" != "root" ]
then
exitInfo "请用root用户或用 sudo 安装"
fi
#添加用户
createUser
# 添加文件夹
createJettyDic
# 解压jetty
unzipJetty
|