自動部署tomcat,並以普通使用者身份執行 for centos6

三角形發表於2017-03-21

 

 

 1 #!/bin/bash
 2 
 3 ########    install jdk    
 4 
 5 install_jdk () {
 6 rpm -e ‘rpm -qa |grep jdk’
 7 
 8 wget \
 9     --no-check-certificate \
10     --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" \
11     http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
12 
13 tar zxf jdk-8u102-linux-x64.tar.gz -C /usr/local/src/
14 
15 ln -s /usr/local/src/jdk1.8.0_102 /usr/local/jdk
16 
17 sed -i '$a \
18 JAVA_HOME=/usr/local/jdk \
19 CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \
20 PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \
21 export JAVA_HOME \
22 export PATH \
23 export CLASSPATH' /etc/profile
24 
25 source /etc/profile
26 
27 java -version && echo 'JDK 安裝成功 '|| echo 'JDK 安裝失敗 '
28 
29 }
30 
31 ########    install tomcat
32 
33 install_tomcat () {
34 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
35 
36 tar zxf apache-tomcat-7.0.76.tar.gz -C /usr/local/
37 
38 ln -s /usr/local/apache-tomcat-7.0.76 /usr/local/tomcat
39 }
40 
41 ########    install jsvc
42 
43 install_jsvc () {
44 
45 cd /usr/local/tomcat/bin/
46 tar xf commons-daemon-native.tar.gz
47 cd `find . -type d -name 'commons-daemon*'`
48 cd unix
49 ./configure --with-java=/usr/local/jdk
50 make
51 cp jsvc /usr/local/tomcat/bin/
52 echo "JAVA_HOME=/usr/local/jdk
53 TOMCAT_USER=tomcat
54 JSVC_OPTS='-jvm server'
55 JAVA_OPTS=
56 " >/usr/local/tomcat/bin/setenv.sh
57 useradd -s /sbin/nologin -M tomcat
58 chown -R tomcat /usr/local/tomcat
59 ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
60 sed -i '1a \
61 # chkconfig: - 86 14\
62 # description: Tomcat7 daemon\
63 # processname: tomcat
64 ' /usr/local/tomcat/bin/daemon.sh
65 
66 chkconfig --add tomcat
67 service tomcat start
68 }
69 
70 install_jdk
71 install_tomcat
72 install_jsvc

 

 

 

  1 [root@4sztj ~]# sh -x in.sh |tee a.log
  2 + install_jdk
  3 + rpm -e $'\342\200\230rpm' -qa
  4 + grep $'jdk\342\200\231'
  5 + wget --no-check-certificate --no-cookies --header 'Cookie: oraclelicense=accept-securebackup-cookie' http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
  6 --2017-03-21 00:40:53--  http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
  7 Resolving download.oracle.com... 80.239.178.64, 80.239.178.88
  8 Connecting to download.oracle.com|80.239.178.64|:80... connected.
  9 HTTP request sent, awaiting response... 302 Moved Temporarily
 10 Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz [following]
 11 --2017-03-21 00:40:53--  https://edelivery.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
 12 Resolving edelivery.oracle.com... 104.77.43.178, 2600:1417:9:28c::2d3e, 2600:1417:9:287::2d3e
 13 Connecting to edelivery.oracle.com|104.77.43.178|:443... connected.
 14 HTTP request sent, awaiting response... 302 Moved Temporarily
 15 Location: http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1490028175_14998b431b1fff4df93acf9fec0dc9ac [following]
 16 --2017-03-21 00:40:54--  http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1490028175_14998b431b1fff4df93acf9fec0dc9ac
 17 Connecting to download.oracle.com|80.239.178.64|:80... connected.
 18 HTTP request sent, awaiting response... 200 OK
 19 Length: 181435897 (173M) [application/x-gzip]
 20 Saving to: “jdk-8u102-linux-x64.tar.gz”
 21 
 22 100%[=============================================================================================>] 181,435,897 1.93M/s   in 98s     
 23 
 24 2017-03-21 00:42:33 (1.76 MB/s) - “jdk-8u102-linux-x64.tar.gz” saved [181435897/181435897]
 25 
 26 + tar zxf jdk-8u102-linux-x64.tar.gz -C /usr/local/src/
 27 + ln -s /usr/local/src/jdk1.8.0_102 /usr/local/jdk
 28 + sed -i '$a \
 29 JAVA_HOME=/usr/local/jdk \
 30 CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \
 31 PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \
 32 export JAVA_HOME \
 33 export PATH \
 34 export CLASSPATH' /etc/profile
 35 + source /etc/profile
 36 ++ '[' -x /usr/bin/id ']'
 37 ++ '[' -z 0 ']'
 38 +++ id -un
 39 ++ USER=root
 40 ++ LOGNAME=root
 41 ++ MAIL=/var/spool/mail/root
 42 ++ '[' 0 = 0 ']'
 43 ++ pathmunge /sbin
 44 ++ case ":${PATH}:" in
 45 ++ pathmunge /usr/sbin
 46 ++ case ":${PATH}:" in
 47 ++ pathmunge /usr/local/sbin
 48 ++ case ":${PATH}:" in
 49 +++ /bin/hostname
 50 ++ HOSTNAME=4sztj
 51 ++ HISTSIZE=1000
 52 ++ '[' ignoredups = ignorespace ']'
 53 ++ export HISTCONTROL=ignoredups
 54 ++ HISTCONTROL=ignoredups
 55 ++ export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
 56 ++ '[' 0 -gt 199 ']'
 57 ++ umask 022
 58 ++ for i in '/etc/profile.d/*.sh'
 59 ++ '[' -r /etc/profile.d/colorls.sh ']'
 60 ++ '[' hxB '!=' hxB ']'
 61 ++ . /etc/profile.d/colorls.sh
 62 ++ for i in '/etc/profile.d/*.sh'
 63 ++ '[' -r /etc/profile.d/cvs.sh ']'
 64 ++ '[' hxB '!=' hxB ']'
 65 ++ . /etc/profile.d/cvs.sh
 66 ++ for i in '/etc/profile.d/*.sh'
 67 ++ '[' -r /etc/profile.d/glib2.sh ']'
 68 ++ '[' hxB '!=' hxB ']'
 69 ++ . /etc/profile.d/glib2.sh
 70 ++ for i in '/etc/profile.d/*.sh'
 71 ++ '[' -r /etc/profile.d/lang.sh ']'
 72 ++ '[' hxB '!=' hxB ']'
 73 ++ . /etc/profile.d/lang.sh
 74 ++ for i in '/etc/profile.d/*.sh'
 75 ++ '[' -r /etc/profile.d/less.sh ']'
 76 ++ '[' hxB '!=' hxB ']'
 77 ++ . /etc/profile.d/less.sh
 78 ++ for i in '/etc/profile.d/*.sh'
 79 ++ '[' -r /etc/profile.d/qt.sh ']'
 80 ++ '[' hxB '!=' hxB ']'
 81 ++ . /etc/profile.d/qt.sh
 82 ++ for i in '/etc/profile.d/*.sh'
 83 ++ '[' -r /etc/profile.d/vim.sh ']'
 84 ++ '[' hxB '!=' hxB ']'
 85 ++ . /etc/profile.d/vim.sh
 86 ++ for i in '/etc/profile.d/*.sh'
 87 ++ '[' -r /etc/profile.d/which2.sh ']'
 88 ++ '[' hxB '!=' hxB ']'
 89 ++ . /etc/profile.d/which2.sh
 90 ++ unset i
 91 ++ unset -f pathmunge
 92 ++ JAVA_HOME=/usr/local/jdk
 93 ++ CLASSPATH=/usr/local/jdk/lib/dt.jar:/usr/local/jdk/lib/tools.jar
 94 ++ PATH=/usr/local/jdk/bin:/usr/local/jdk/jre/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
 95 ++ export JAVA_HOME
 96 ++ export PATH
 97 ++ export CLASSPATH
 98 + java -version
 99 java version "1.8.0_102"
100 Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
101 Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
102 + echo 'JDK 安裝成功 '
103 + install_tomcat
104 + wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
105 JDK 安裝成功 
106 --2017-03-21 00:42:43--  http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
107 Resolving mirrors.tuna.tsinghua.edu.cn... 166.111.206.177, 2402:f000:1:416:166:111:206:177
108 Connecting to mirrors.tuna.tsinghua.edu.cn|166.111.206.177|:80... connected.
109 HTTP request sent, awaiting response... 200 OK
110 Length: 8957288 (8.5M) [application/octet-stream]
111 Saving to: “apache-tomcat-7.0.76.tar.gz”
112 
113 100%[=============================================================================================>] 8,957,288   16.8M/s   in 0.5s    
114 
115 2017-03-21 00:42:44 (16.8 MB/s) - “apache-tomcat-7.0.76.tar.gz” saved [8957288/8957288]
116 
117 + tar zxf apache-tomcat-7.0.76.tar.gz -C /usr/local/
118 + ln -s /usr/local/apache-tomcat-7.0.76 /usr/local/tomcat
119 + install_jsvc
120 + cd /usr/local/tomcat/bin/
121 + tar xf commons-daemon-native.tar.gz
122 ++ find . -type d -name 'commons-daemon*'
123 + cd ./commons-daemon-1.0.15-native-src
124 + cd unix
125 + ./configure --with-java=/usr/local/jdk
126 *** Current host ***
127 checking build system type... x86_64-unknown-linux-gnu
128 checking host system type... x86_64-unknown-linux-gnu
129 *** C-Language compilation tools ***
130 checking cached host system type... ok
131 checking for gcc... gcc
132 checking for C compiler default output file name... a.out
133 checking whether the C compiler works... yes
134 checking whether we are cross compiling... no
135 checking for suffix of executables... 
136 checking for suffix of object files... o
137 checking whether we are using the GNU C compiler... yes
138 checking whether gcc accepts -g... yes
139 checking for gcc option to accept ANSI C... none needed
140 checking for ranlib... *** Host support ***
141 ranlib
142 checking for strip... strip
143 checking C flags dependant on host system type... *** Java compilation tools ***
144 ok
145 checking JAVA_HOME... /usr/local/jdk
146 checking for JDK os include directory...  linux
147 gcc flags added
148 checking how to run the C preprocessor... gcc -E
149 checking for egrep... grep -E
150 checking for ANSI C header files... yes
151 checking for sys/types.h... yes
152 checking for sys/stat.h... yes
153 checking for stdlib.h... yes
154 checking for string.h... yes
155 checking for memory.h... yes
156 checking for strings.h... yes
157 checking for inttypes.h... yes
158 checking for stdint.h... yes
159 checking for unistd.h... yes
160 checking sys/capability.h usability... no
161 checking sys/capability.h presence... configure: WARNING: cannot find headers for libcap
162 *** Writing output files ***
163 no
164 checking for sys/capability.h... no
165 configure: creating ./config.status
166 config.status: creating Makefile
167 config.status: creating Makedefs
168 config.status: creating native/Makefile
169 *** All done ***
170 Now you can issue "make"
171 + make
172 (cd native; make  all)
173 make[1]: Entering directory `/usr/local/apache-tomcat-7.0.76/bin/commons-daemon-1.0.15-native-src/unix/native'
174 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c jsvc-unix.c -o jsvc-unix.o
175 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c arguments.c -o arguments.o
176 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c debug.c -o debug.o
177 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c dso-dlfcn.c -o dso-dlfcn.o
178 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c dso-dyld.c -o dso-dyld.o
179 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c help.c -o help.o
180 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c home.c -o home.o
181 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c java.c -o java.o
182 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c location.c -o location.o
183 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c replace.c -o replace.o
184 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c locks.c -o locks.o
185 gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes   -I/usr/local/jdk/include -I/usr/local/jdk/include/linux -c signals.c -o signals.o
186 ar cr libservice.a arguments.o debug.o dso-dlfcn.o dso-dyld.o help.o home.o java.o location.o replace.o locks.o signals.o
187 ranlib libservice.a
188 gcc   jsvc-unix.o libservice.a -ldl -lpthread -o ../jsvc
189 make[1]: Leaving directory `/usr/local/apache-tomcat-7.0.76/bin/commons-daemon-1.0.15-native-src/unix/native'
190 + cp jsvc /usr/local/tomcat/bin/
191 + echo 'JAVA_HOME=/usr/local/jdk
192 TOMCAT_USER=tomcat
193 JSVC_OPTS='\''-jvm server'\''
194 JAVA_OPTS=
195 '
196 + useradd -s /sbin/nologin -M tomcat
197 + chown -R tomcat /usr/local/tomcat
198 + ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
199 + sed -i '1a \
200 # chkconfig: - 86 14\
201 # description: Tomcat7 daemon\
202 # processname: tomcat
203 ' /usr/local/tomcat/bin/daemon.sh
204 + chkconfig --add tomcat
205 + service tomcat start
206 [root@4sztj ~]# 

 

相關文章