设为首页 收藏本站
查看: 1505|回复: 0

[经验分享] CentOS学习笔记--Tomcat安装

[复制链接]

尚未签到

发表于 2015-8-9 09:00:00 | 显示全部楼层 |阅读模式
Tomcat安装
  通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了。其中最大的一个问题就是Tomcat执行权限。普通方式配置的Tomcat是以root超级管理员的身份运行的,显然,这是非常危险的,可想而知,一但网站被挂马,您的整个服务器都可以被黑客控制了。而通过编译或在线(例如redhat系列的yum, debian系列的apt-get)的方式安装,一个服务器上又只能装一个tomcat的服务,如果将多个网站放到同一个tomcat服务中,一但某一个网站出问题导致tomcat服务被卡死,则服务器上所有的网站都打不开了,无法满足各网站程序独享tomcat的需求。为了解决这些问题,我们需要配置Tomcat以指定的身份运行,且一台服务器上可以安装任意多个tomcat服务。
  
       测试机器环境:
  VMware Workstation 10 虚拟机
  内存:1G
  Linux版本:CentOS MinimalCD 6.5
  JAVA:JAVA_HOME=/opt/jdk
      一、先在 Linux系统上配置好JDK环境(CentOS学习笔记--JDK安装)
  假设您已经在Linux系统上正确安装了JDK开发环境,且JDK安装的位置在: /opt/jdk/
  二、下载并解压最新版本的Tomcat,http://tomcat.apache.org,将其下载下来(我下到的是apache-tomcat-6.0.41.tar.gz)放到Linux系统的/opt/目录下,运行命令解压(并将解压出来的目录更名为tomcat):
  
tar xzvf apache-tomcat-6.0.41.tar.gz
mv apache-tomcat-6.0.41/ tomcat
  三、编译安装tomcat daemon服务守候程序:




cd /opt/tomcat/bin/
tar xvzf commons-daemon-native.tar.gz
1、解压后会生成一个commons-daemon-1.0.15-native-src目录,cd到这个目录的Linux子目录:


cd commons-daemon-1.0.10-native-src/unix
2、注释:安装gcc(默认Mini版本没有安装gcc)


yum -y install gcc
3、执行编译配置


./configure  #(注意:需要先安装好make,gcc等编译工具)
./configure --with-java=/opt/jdk 如果提示没有jdk,使用这个命令。主要是java目录未写入系统目录
4、运行完成后会提示如下信息说明操作成功:


...
*** All done ***
Now you can issue "make"
5、执行make:


make
6、执行make后会生成一个jsvc的文件,将其复制到tomcat的bin目录。


cp jsvc /opt/tomcat/bin/
  7、在tomcat/bin目录里面有一个daemon.sh 这个文件就是启动和关闭tomcat的服务守候程序。
  注意:之前的一些tomcat版本,例如tomcat 6.0.x, 可能没有这个文件, 其实这个文件就是放在commons-daemon-x.x.x-native-src/unix/samples/Tomcat7.sh这儿的(此目录还有一个Tomcat5.sh),只不过新版本的tomcat把它移动到了bin目录下,并取名为daemon.sh了。所以,如果您使用的是tomcat 6,那就把这个Tomcat7.sh文件复制到bin目录下,并取名为daemon.sh即可。
  8、修改daemon环境变量 :
  用文本编辑器(vi或emacs等)编辑它,找到类似下面这样配置段:



test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
# JAVA_HOME=/opt/jdk-1.6.0.22
  9、修改TOMCAT_USER=tomcat为您要指定身份运行的linux账号用户名,此处指定用户名为tomcat。
  并把JAVA_HOME=...前面的注释(即“#”号)去掉,并设置为jdk的安装目录路径,最后,修改好后的配置段变成如下:


test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
# Set JAVA_HOME to working JDK or JRE
JAVA_HOME=/opt/jdk
10、现在修改/opt/tomcat目录的所有者为tomcat(即您要指定身份运行的linux帐号):


useradd -M tomcat #创建没有主目录的tomcat用户
chsh tomcat -s /sbin/nologin  #禁止tomcat登陆操作,类似于windows的系统账户
chown -R tomcat /opt/tomcat   #将/opt/tomcat下的所有档案与子目录进行相同的拥有者变更为tomcat用户
11、为tomcat/bin/目录下的*.sh添加相应的x权限位:


chmod +x /opt/tomcat/bin/*.sh
12、现在,可以测试一下daemon是否可以启动运行,启动方式如下:


/opt/tomcat/bin/daemon.sh  start
curl http://localhost:8080   #测试一下是否启动

  (如果出错,重点查验tomcat的bin目录下的*.sh是否有x可执行权限、linux帐号是否有tomcat目录的读写权限,是否有tomcat/logs日志目录的写权限等等。)如无错误,则tomcat的daemon守候程序已经设置成功了。
  13、这时本机可以访问tomcat了,远程机器访问不了,是防火墙的问题,在 /etc/sysconfig/iptables添加


-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT   #8080是tomcat的访问端口
重启iptable


service iptables restart

  这样就可以访问了。
  14、停止tomcat, 对应的命令为:


/opt/tomcat/bin/daemon.sh  stop
15、添加tomcat为Linux的服务,这时就简单了,只需要创建一个软链到/etc/init.d/目录中即可


ln  -s  /opt/tomcat/bin/daemon.sh  /etc/init.d/tomcat
16、现在就可以用它启动/关闭tomcat了:


/etc/init.d/tomcat  start #启动tomcat
service tomcat start      #启动tomcat
/etc/init.d/tomcat  stop  #关闭tomcat
service tomcat stop       #关闭tomcat
17、设置tomcat服务开机启动,需要在daemon.sh中增加以下的语句:


#!/bin/sh      #这句是原文件里有的,下面的2句是要添加的
# chkconfig: 2345 90 15
# description: Tomcat-en Manager
18、再运行 chkconfig命令增加tomcat服务,而达到自启动:


chkconfig --add  tomcat

  重启机器,测试一下。

  四、如果想再创建一个tomcat服务,只需要将/opt/tomcat这个目录复制一份,例如:


cp /opt/tomcat /opt/tomcat1

  再修改一下tomcat1的端口号(/opt/tomcat/opt/tomcat1/conf/server.xml中的端口号不能与其它的服务重复)。最后从上面所述第8步开始,创建另一个服务即可。
  通过这种方式,您就可以为一台Linux服务器创建任意多个tomcat服务了。最后只需要安装一个前端服务器(例如Nginx或Apache),将不同域名的请求转发到不同的tomcat服务程序就可以了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-96235-1-1.html 上篇帖子: Tomcat 6下配置使用Proxool的JNDI 连接池 下篇帖子: Install Tomcat 6 on CentOS or RHEL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表