centos7上Apache+Tomcat 环境搭建

简介:

一、系统环境: Centos7 1406

所需软件:

apache-tomcat-7.0.61.tar.gz
httpd-2.2.29.tar.gz 
mod_jk-1.2.31-httpd-2.2.x.so 
jdk-7u67-linux-x64.rpm

下载mod_jk 对应httpd版本http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/

下载jdkhttp://www.Oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html

二、安装httpd服务 

1
2
3
4
#   tar xzvf httpd-2.2.29.tar.gz   
#   cd httpd-2.2.29   
#   ./configure --prefix=/usr/local/apache2 -enable-so -enable-rewrite  
#   make && make install

三、安装配置jdk开发环境  

1.先看看OpenJDK的安装包

$ rpm -qa |grep java
tzdata-java-2013b-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.x86_64
java-1.7.0-openjdk-1.7.0.19-2.3.9.1.el6_4.x86_64

2.检查OpenJDK版本
$ java -version
java version "1.7.0_19"
OpenJDK Runtime Environment (rhel-2.3.9.1.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

3.卸载Openjdk
用root用户登录终端

$ su root

1
2
3
# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.19-2.3.9.1.el6_4.x86_64
# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.x86_64# rpm -e --nodeps tzdata-java-2013b-1.el6.noarch
# rpm -ivh jdk-7u67-linux-x64.rpm

修改/etc/profile文件,添加JAVA开发环境需要的变量设置。  

export JAVA_HOME=/usr/java/jdk1.7.0_67
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

保存退出

1
# source /etc/profile

验证:

1
#java -version

提示:

java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

四、安装tomcat   

1
2
3
4
tar  zxvf apache-tomcat-7.0.61. tar .gz -C  /usr/local/
ln  -sf  /usr/local/apache-tomcat-7 .0.61/  /usr/local/tomcat   
ln  -sf  /usr/local/tomcat/bin/startup .sh  /usr/bin/tomcat-on  备注:快捷启动    
ln  -sf  /usr/local/tomcat/bin/shutdown .sh  /usr/bin/tomcat-off     快捷关闭

修改/etc/profile文件,设置Tomcat服务需要使用的变量CATALINA_HOME。

  export $CATALINA_HOME=/usr/local/tomat
  export
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/servlet-api.jar

修改tomcat-users.xml文件,添加管理员账户“tomcat”设置。

1
2
3
4
5
6
7
] # vim /usr/local/tomcat/conf/tomcat-users.xml 
<?xml version= '1.0'  encoding= 'utf-8' ?> 
<tomcat- users
<role rolename= "manager-gui" />  
<role rolename= "admin-gui" />  
<user username= "tomcat"  password= "tomcat"  roles= "manager-gui,admin-gui" /> 
< /tomcat-users >

启动:

1
2
3
4
5
6
7
# tomcat-on
Using CATALINA_BASE:    /usr/local/tomcat
Using CATALINA_HOME:    /usr/local/tomcat
Using CATALINA_TMPDIR:  /usr/local/tomcat/temp
Using JRE_HOME:         /usr/java/jdk1 .7.0_67
Using CLASSPATH:        /usr/local/tomcat/bin/bootstrap .jar: /usr/local/tomcat/bin/tomcat-juli .jar
Tomcat started.
1
2
] # netstat -anpt | grep java
tcp6       0      0 127.0.0.1:8005          :::*
          LISTEN      18313/java 
tcp6       0      0 :::8009                 :::*             LISTEN      18313/java
tcp6       0      0 :::8080                 :::*             LISTEN      18313/java

另外如果不用apache做WEB服务,在防火墙上做如下操作:

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080
或者:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

五、 将Tomcat服务与Apache服务进行连接    

     Tomcat可以独立作为Web服务器运行,但Tomcat的Web功能没有Apache强大。在实际使用中,通过mod_jk连接器(Connectors)将Apache和Tomcat整合在一起。

    调用Tomcat服务的工作由Apache来完成,而用户只需要访问Apache服务。

(1) 安装mod_jdk模块。(下载下来文件直接改名)    

1
2
3
4
5
6
7
8
    ] # cp mod_jk-1.2.31-httpd-2.2.x.so  /usr/local/apache2/modules/mod_jk.so
    
   方法2:官网下载mod_jk源码,下载地址:http: //archive .apache.org /dist/tomcat/tomcat-connectors/jk/source/jk-1 .2.31/
   tomcat-connectors-1.2.31-src. tar .gz 进行编译
      . /configure  --with-apxs= /usr/local/apache2/bin/apxs
        make
        make  install
        chmod  755  /usr/local/apache2/modules/mod_jk .so

(2) 调整Apache服务、Tomcat服务的相关配置,并重启tomcat、httpd服务。 修改http.conf配置文件,添加mod_jk调用配置。      

1
2
3
  ] # vi /usr/local/apache2/conf/httpd.conf
  增加如下内容:(或直接在下面介绍的文件中增加)
  LoadModule    jk_module  modules /mod_jk .so

(3)在Apache的conf目录新建立两个文件。

      mod_jk.conf和workers.properties文件。

      mod_jk.conf的内容是jk的配置文件,包括装载模块和日志信息以及指定解析的工作器和目录。   

      workers.properties是Tomcat wokers的配置文件。  

(4)在mod_jk.conf里加入以下内容(mod_jk.conf文件是方便管理,而不需要把配置都写在httpd.conf里)          

#加载jk模块,名字要对应          

 LoadModule jk_module modules/mod_jk.so

 # 加载刚才新建的workers.properties文件          

     JkWorkersFile conf/workers.properties

# Jk日志文件          

     JkLogFile logs/mod_jk.log

# Jk日志的级别,参数有[debug/error/info]          

     JkShmFile logs/mod_jk.shm           JkLogLevel info

# Jk日志的数据格式          

    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# Jk的一些配置选项 indicate to send SSL KEY SIZE,          

    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# Jk请求日志的格式        

  JkRequestLogFormat "%w %V %T"

#JSP do Servlet文件交由Tomcat处理         

JkMount /servlet/* ajp13              
JkMount /*.jsp ajp13           
JkMount /*.do ajp13

# JkMount 表示使用Tomcat来解析, JkUnMount则相反            

#  一般是jsp和servlet程序交由tomcat处理就可以了,静态文件图片等仍然由Apache处理            

#JkAutoAlias /usr/local/apache2/htdocs*

#该文件夹下所有的静态文件自动交由Apache处理 

   (5) 添加tomcat配置文件,并建立Web应用目录链接

1
2
3
4
5
6
] # vi /usr/local/apache2/conf/workers.properties 
worker.list=work1 
worker.work1.port=8009 
worker.work1.host=xfsbuy 
worker.work1. type =ajp13 
worker.work1.lbfactor=1
1
2
3
] # cd /usr/local/tomcat
] # mv webapps webapps.bak
] # ln -sf /usr/local/apache2/htdocs webapps

(6) 重启 apache 和tomcat服务。

1
2
3
] # tomcat-off
] # tomcat-on 
] # /usr/local/apache2/bin/apachectl restart

(7) 测试  创建显示系统时间的JSP测试网页。

1
2
3
4
~] # mkdir /usr/local/apache2/htdocs/webs/ 
~] # vi /usr/local/apache2/htdocs/webs/showtime.jsp 
<%@page language= "java"  import = "java.util.*" %>
Now,the  time & date  is : <%out.println(new Date());%>

测试:  http://172.16.0.13/webs/showtime.jsp , 应在网页中显示当前的系统时间

参考:http://www.linuxidc.com/Linux/2012-11/74474.htm

       http://blog.csdn.net/v1v1wang/article/details/6128565


六 将应用部署到Tomcat根目录的目的是可以通过“http://[ip]:[port]”直接访问应用,而不是使用“http://[ip]:[port]/[appName]”上下文路径进行访问。


方法一:

    删除原webapps/ROOT 目录下的所有文件,将应用下的所有文件和文件夹复制到ROOT文件夹下。


方法二:

    删除原 webapps/ROOT 目录下的所有文件,修改文件“conf/server.xml”,在Host节点下增加如下Context的内容配置:

1
2
3
4
5
     <Host name= "localhost"   appBase= "webapps"  unpackWARs= "true"  autoDeploy= "true"
     xmlValidation= "false"  xmlNamespaceAware= "false" >
     ......
     <Context path= ""  docBase= "/usr/local/apache2/htdocs/shop/www.war" >< /Context >
     < /Host >

注意:

    1)path 的值设置为空;

    2)应用不要放到tomcat的webapps目录下(如上述配置是放到自定义的文件夹shop内的),否则访问时路径很有问题;

    3)docBase指定到绝对路径。

    如此设置后重启tomcat,如果docBase指向的是war文件,会自动将war解压到 webapps/ROOT 目录;如果docBase指向的是应用已解压好的目录,如 docBase="/usr/local/apache2/htdocs/shop/",tomcat不会生成webapps/ROOT目录(这种情 况下之前可以不用删除webapps/ROOT目录,但webapps/ROOT目录内的内容是无法访问的),访问时将直接使用docBase指定的目录。


方法三:

    与方法二类似,但不是修改全局配置文件“conf/server.xml”,而是在“conf/Catalina/localhost”目录下增加新的文件"ROOT.xml"(注意大小写哦),文件内容如下:

1
2
<?xml version= "1.0"  encoding= "UTF-8" ?>
<Context path= ""  docBase= "/usr/local/apache2/htdocs/shop/www.war" >< /Context >









本文转自 lcpljc 51CTO博客,原文链接:http://blog.51cto.com/lcpljc/1633237,如需转载请自行联系原作者

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
1046 1
|
XML Java 应用服务中间件
在centos7.x上安装配置tomcat
本指南介绍了在Linux系统中部署Tomcat服务器的完整流程,包括关闭防火墙与SELinux、安装JDK、下载及解压Tomcat、启动和关闭Tomcat服务,以及配置Tomcat管理功能。同时,详细描述了如何导入项目到Tomcat的webapps目录、修改配置文件,并测试项目访问。通过这些步骤,您可以成功搭建并运行一个基于Tomcat的Web应用环境。
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
270 4
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
341 1
centos7及Tomcat8Dockerfile
centos7及Tomcat8Dockerfile
|
Ubuntu Java 应用服务中间件
在Ubuntu 16.04上安装Apache Tomcat 8的方法
在Ubuntu 16.04上安装Apache Tomcat 8的方法
309 0
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
815 0
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
|
12月前
|
Java 应用服务中间件 Linux
在Java 12环境中配置和部署Apache Tomcat的步骤。
这段部署Tomcat的冒险旅程充满技术挑战,但同时也像游戏一样充满乐趣。它需要你提前准备,仔细执行,并随时准备解决意外情况。成功后,你就可以在这匹强壮的网络野马上,带着你的Java应用,冲向Web开发的璀璨星空。
329 56