自动部署tomcat,并以普通用户身份运行 for centos6
#!/bin/bash
######## install jdk
install_jdk () {
rpm -e ‘rpm -qa |grep jdk’
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
tar zxf jdk-8u102-linux-x64.tar.gz -C /usr/local/src/
ln -s /usr/local/src/jdk1..0_102 /usr/local/jdk
sed -i '$a \
JAVA_HOME=/usr/local/jdk \
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \
export JAVA_HOME \
export PATH \
export CLASSPATH' /etc/profile
source /etc/profile
java -version && echo 'JDK 安装成功 '|| echo 'JDK 安装失败 '
}
######## install tomcat
install_tomcat () {
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
tar zxf apache-tomcat-7.0..tar.gz -C /usr/local/
ln -s /usr/local/apache-tomcat-7.0. /usr/local/tomcat
}
######## install jsvc
install_jsvc () {
cd /usr/local/tomcat/bin/
tar xf commons-daemon-native.tar.gz
cd `find . -type d -name 'commons-daemon*'`
cd unix
./configure --with-java=/usr/local/jdk
make
cp jsvc /usr/local/tomcat/bin/
echo "JAVA_HOME=/usr/local/jdk
TOMCAT_USER=tomcat
JSVC_OPTS='-jvm server'
JAVA_OPTS=
" >/usr/local/tomcat/bin/setenv.sh
useradd -s /sbin/nologin -M tomcat
chown -R tomcat /usr/local/tomcat
ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
sed -i '1a \
# chkconfig: - \
# description: Tomcat7 daemon\
# processname: tomcat
' /usr/local/tomcat/bin/daemon.sh
chkconfig --add tomcat
service tomcat start
}
install_jdk
install_tomcat
install_jsvc
[root@4sztj ~]# sh -x in.sh |tee a.log
+ install_jdk
+ rpm -e $'\342\200\230rpm' -qa
+ grep $'jdk\342\200\231'
+ 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
---- ::-- http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
Resolving download.oracle.com... 80.239.178.64, 80.239.178.88
Connecting to download.oracle.com|80.239.178.64|:... connected.
HTTP request sent, awaiting response... Moved Temporarily
Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz [following]
---- ::-- https://edelivery.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz
Resolving edelivery.oracle.com... 104.77.43.178, :::28c::2d3e, :::::2d3e
Connecting to edelivery.oracle.com|104.77.43.178|:... connected.
HTTP request sent, awaiting response... Moved Temporarily
Location: http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1490028175_14998b431b1fff4df93acf9fec0dc9ac [following]
---- ::-- http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1490028175_14998b431b1fff4df93acf9fec0dc9ac
Connecting to download.oracle.com|80.239.178.64|:... connected.
HTTP request sent, awaiting response... OK
Length: (173M) [application/x-gzip]
Saving to: “jdk-8u102-linux-x64.tar.gz” %[=============================================================================================>] ,, 1.93M/s in 98s -- :: (1.76 MB/s) - “jdk-8u102-linux-x64.tar.gz” saved [/] + tar zxf jdk-8u102-linux-x64.tar.gz -C /usr/local/src/
+ ln -s /usr/local/src/jdk1..0_102 /usr/local/jdk
+ sed -i '$a \
JAVA_HOME=/usr/local/jdk \
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \
export JAVA_HOME \
export PATH \
export CLASSPATH' /etc/profile
+ source /etc/profile
++ '[' -x /usr/bin/id ']'
++ '[' -z ']'
+++ id -un
++ USER=root
++ LOGNAME=root
++ MAIL=/var/spool/mail/root
++ '[' = ']'
++ pathmunge /sbin
++ case ":${PATH}:" in
++ pathmunge /usr/sbin
++ case ":${PATH}:" in
++ pathmunge /usr/local/sbin
++ case ":${PATH}:" in
+++ /bin/hostname
++ HOSTNAME=4sztj
++ HISTSIZE=
++ '[' ignoredups = ignorespace ']'
++ export HISTCONTROL=ignoredups
++ HISTCONTROL=ignoredups
++ export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
++ '[' -gt ']'
++ umask
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/colorls.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/colorls.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/cvs.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/cvs.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/glib2.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/glib2.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/lang.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/lang.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/less.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/less.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/qt.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/qt.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/vim.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/vim.sh
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/which2.sh ']'
++ '[' hxB '!=' hxB ']'
++ . /etc/profile.d/which2.sh
++ unset i
++ unset -f pathmunge
++ JAVA_HOME=/usr/local/jdk
++ CLASSPATH=/usr/local/jdk/lib/dt.jar:/usr/local/jdk/lib/tools.jar
++ 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
++ export JAVA_HOME
++ export PATH
++ export CLASSPATH
+ java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) -Bit Server VM (build 25.102-b14, mixed mode)
+ echo 'JDK 安装成功 '
+ install_tomcat
+ wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
JDK 安装成功
---- ::-- http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.76/bin/apache-tomcat-7.0.76.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn... 166.111.206.177, :f000::::::
Connecting to mirrors.tuna.tsinghua.edu.cn|166.111.206.177|:... connected.
HTTP request sent, awaiting response... OK
Length: (8.5M) [application/octet-stream]
Saving to: “apache-tomcat-7.0..tar.gz” %[=============================================================================================>] ,, 16.8M/s in .5s -- :: (16.8 MB/s) - “apache-tomcat-7.0..tar.gz” saved [/] + tar zxf apache-tomcat-7.0..tar.gz -C /usr/local/
+ ln -s /usr/local/apache-tomcat-7.0. /usr/local/tomcat
+ install_jsvc
+ cd /usr/local/tomcat/bin/
+ tar xf commons-daemon-native.tar.gz
++ find . -type d -name 'commons-daemon*'
+ cd ./commons-daemon-1.0.-native-src
+ cd unix
+ ./configure --with-java=/usr/local/jdk
*** Current host ***
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
*** C-Language compilation tools ***
checking cached host system type... ok
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for ranlib... *** Host support ***
ranlib
checking for strip... strip
checking C flags dependant on host system type... *** Java compilation tools ***
ok
checking JAVA_HOME... /usr/local/jdk
checking for JDK os include directory... linux
gcc flags added
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/capability.h usability... no
checking sys/capability.h presence... configure: WARNING: cannot find headers for libcap
*** Writing output files ***
no
checking for sys/capability.h... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating Makedefs
config.status: creating native/Makefile
*** All done ***
Now you can issue "make"
+ make
(cd native; make all)
make[]: Entering directory `/usr/local/apache-tomcat-7.0./bin/commons-daemon-1.0.-native-src/unix/native'
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
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
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
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
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
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
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
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
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
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
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
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
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
ranlib libservice.a
gcc jsvc-unix.o libservice.a -ldl -lpthread -o ../jsvc
make[]: Leaving directory `/usr/local/apache-tomcat-7.0./bin/commons-daemon-1.0.-native-src/unix/native'
+ cp jsvc /usr/local/tomcat/bin/
+ echo 'JAVA_HOME=/usr/local/jdk
TOMCAT_USER=tomcat
JSVC_OPTS='\''-jvm server'\''
JAVA_OPTS=
'
+ useradd -s /sbin/nologin -M tomcat
+ chown -R tomcat /usr/local/tomcat
+ ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat
+ sed -i '1a \
# chkconfig: - \
# description: Tomcat7 daemon\
# processname: tomcat
' /usr/local/tomcat/bin/daemon.sh
+ chkconfig --add tomcat
+ service tomcat start
[root@4sztj ~]#
自动部署tomcat,并以普通用户身份运行 for centos6的更多相关文章
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- 使用Maven自动部署Tomcat 6和Tomcat 7下Web应用
使用Maven自动部署Tomcat 6和Tomcat 7下Web应用 开启Tomcat远程管理权限 在tomcat的config目录下的tomcat-users.xml文件, <role rol ...
- linux下实现自动部署tomcat的脚本
linux下实现自动部署tomcat的脚本 由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务.备份war包.上传新的war包.启动服务.索性就写了一个自动部署的脚本. 脚本如下a ...
- 自动部署tomcat 脚本
自动部署tomcat 脚本 . /etc/init.d/functions #调用系统函数 yum -y install java >/dev/null TAR="apache-tom ...
- jekins自动部署tomcat注意事项、连接tomcat报错
jekins自动部署tomcat注意事项 千万不要用下面插件推送,报错很多, 要用脚本,一篇博客说的:“我们都是用的脚本,插件报错太多,也不完善” Deploy to container Plugin ...
- 以不同用户身份运行程序,/savecred只需要输入一次密码(GetTokenByName取得EXPLORER.EXE的令牌,然后调用CreateProcessAsUser,而且使用LoadUserProfile解决另存文件的问题)good
http://blog.sina.com.cn/s/blog_65977dde0100s7tm.html ----------------------------------------------- ...
- Linux 下以其他用户身份运行程序—— su、sudo、runuser
本文综合分析了Linux系统下,如何使用runuser命令.su命令和sudo命令以其他用户身份来运行程序,以及这三个命令的运行效率比较. 一.su 命令临时切换用户身份 SU:( Switch ...
- maven自动部署Tomcat错误排除
转自:https://blog.csdn.net/wuha0/article/details/18658113 在Maven与Tomcat配合部署过程中,最常见的错误有三种,折腾了半天,终于找到三种错 ...
- jenkins自动部署tomcat
关于部署的3种思路: 远程部署(jenkins编译部署到远程服务器): 安装ssh插件 ssh插件配置 添加远程jenkins服务器节点: 本地部署(与jenkins在同一服务器): 关于maven构 ...
随机推荐
- 彻底弄懂jsonp原理及实现方法
一. 同源策略 所有支持Javascript的浏览器都会使用同源策略这个安全策略.看看百度的解释: 同源策略,它是由Netscape提出的一个著名的安全策略. 现在所有支持JavaScript 的浏览 ...
- [转自知乎]飞腾国产CPU的部分知识
1. 作者:常成链接:https://www.zhihu.com/question/48948852/answer/113595308来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- php 中instanceof的使用
转载:https://www.cnblogs.com/tengjian/p/7999107.html 作用:(1)判断一个对象是否是某个类的实例,(2)判断一个对象是否实现了某个接口. 第一种用法: ...
- SAP入行就业
就大局势来说, 缺乏人最多的模块有abap 还有就是FICO 和MM. 如果您 英语水平特别高的话,建议您学习FICO HR 或BW. 如果您想追求高薪,那就是FICO无疑了.想快速就业或者有编程基础 ...
- using 的三种使用方式
using 关键字有两个主要用途: 作为指令:用于为命名空间创建别名或导入在其他命名空间中定义的类型. 作为语句:用于定义一个范围,在此范围的末尾将释放对象. 此外,使用 using 静态指令可定义一 ...
- panda迭代
1.注意 - 不要尝试在迭代时修改任何对象.迭代是用于读取,迭代器返回原始对象(视图)的副本,因此更改将不会反映在原始对象上. 2.itertuples()方法将为DataFrame中的每一行返回一个 ...
- fix
rounds the elements of A toward zero, resulting in an array of integers. For complex A, the imaginar ...
- Square Root
Square RootWhen the square root functional configuration is selected, a simplified CORDIC algorithm ...
- [资源]--IOS捷径大全,众多实用小功能
一.实用工具 1.支付助手3.0(新) (扫一扫.微信扫码.微信收款.支付宝扫码.Apple Pay.AA付款.查快递.蚂蚁森林.蚂蚁庄园.彩票.股票.运动.淘票票.乘车码.生活缴费.火车票等等): ...
- 洛谷UVA12995 Farey Sequence(欧拉函数,线性筛)
洛谷题目传送门 分数其实就是一个幌子,实际上就是求互质数对的个数(除开一个特例\((1,1)\)).因为保证了\(a<b\),所以我们把要求的东西拆开看,不就是\(\sum_{i=2}^n\ph ...