自动部署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构 ...
随机推荐
- ASP.NET MVC与WebForm对比
MVC优点:1.分离更彻底,分层清晰,易于维护和扩展.2.验证更加方便快捷.3.无ViewState,页面更加干净4.路由更容易定义url,对SEO比较好.5.强类型VIEW实现,更安全高效. Web ...
- CMake--Set用法
CMake中的set用于给一般变量,缓存变量,环境变量赋值. cmake官方文档set set(<variable> <value> [[CACHE <type> ...
- centos7切换gnome3桌面与gnome经典桌面
登陆界面选择设置按钮,选择gnome,进行登陆
- BOM嵌套简单写法
WITHTREE AS( SELECT a.FItemID cfitemid,b.FItemID pfitemid FROM dbo.ICBOMChild a,dbo.ICBOM b WHERE a. ...
- delphi property read writer 如何使用
type TMyClass = class(TObject) private FMyName: string; FMyAge: Integer; procedure SetAge(age: Integ ...
- 闭包自由变量引用对象的问题 http://bbs.pythontab.com/thread-4266-1-1.html
- Linux 4.20内核得到更新,英特尔CPU 性能降低50%
根据HKEPC的报道,Linux近日发布了 4.20 内核的一些漏洞修复更新,更新后可能会出现50% 的性能损失,是今年内所有安装Spectre/Meltdown 修补程式中效能跌幅最大的一次. 据报 ...
- POJ3259(Wormholes) 判断负环
题意: 农夫john发现了一些虫洞,虫洞是一种在你到达虫洞之前把你送回目的地的一种方式,FJ的每个农场,由n块土地(编号为1-n),M 条路,和W个 虫洞组成,FJ想从一块土地开始,经过若干条路和虫洞 ...
- Linux 下 wordpress 无法安装插件
修改目录权限mkdir -p wp-content/tmpchown -R www:www wp-contentchmod -R 777 wp-content 配置修改wp-config.php搜索 ...
- 删除linux下的指定文件
要求:删除linux下2天前的指定文件 find 文件问题:在 tmp 目录下有大量包含 picture_* 的临时文件,每天晚上 2:00 对一天前的文件进行清理.之前在 crontab 下跑如下脚 ...