apache_tomcat整合应用

清除以前编译产生的目标文件 .o的文件清除以前编译产生的目标文件 .o的文件一、创建apache mysql用户 安装启动apache mysql
[[email protected] ~]# netstat -tnlp |grep 80      
tcp        0      0 :::80                       :::*                        LISTEN      1960/httpd
二、单独使用Tomcat(Mysql)
[[email protected] jsp]# rpm -qa |grep java
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
[[email protected] jsp]# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
[[email protected] jsp]# rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.0-1.24.1.10.4.el5
[[email protected] jsp]# rpm -e java-1.6.0-openjdk-1.6.0.0-1.24.1.10.4.el5
[[email protected] jsp]# java -version
-bash: /usr/bin/java: 没有那个文件或目录
安装JDK
[[email protected] jsp]# rpm -ivh jdk-7u11-linux-i586.rpm
[[email protected] jsp]# java -version
java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) Client VM (build 23.6-b04, mixed mode, sharing)
[[email protected] jsp]# ls /usr/java/jdk1.7.0_11
[[email protected] jsp]# vim /etc/profile            
JAVA_HOME=/usr/java/jdk1.7.0_11
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH
[[email protected] jsp]# source /etc/profile  等于命令 . /etc/profile
[[email protected] jsp]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.7.0_11/bin
安装Tomcat
[[email protected] jsp]# tar xvf apache-tomcat-7.0.34.tar.gz -C /usr/local/
[[email protected] jsp]# cd /usr/local/
[[email protected] local]# ln -sv apache-tomcat-7.0.34 tomcat
创建指向“apache-tomcat-7.0.34”的符号链接“tomcat”

定义Tomcat环境变量
[[email protected] local]# vim /etc/profile
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
[[email protected] local]# source /etc/profile
[[email protected] local]# env |grep HOME
CATALINA_HOME=/usr/local/tomcat
JAVA_HOME=/usr/java/jdk1.7.0_11
HOME=/root
[[email protected] local]# /usr/local/tomcat/bin/catalina.sh start    启动服务
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_11
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[[email protected] ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address         Foreign Address         State       PID/Program name
tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      2920/java          
tcp        0      0 :::8009                     :::*                        LISTEN      2920/java          
tcp        0      0 :::8080                     :::*                        LISTEN      2920/java          
tcp        0      0 :::80                       :::*                        LISTEN      2135/httpd          
======================================
System V脚本   可选项
#[[email protected] ~]# vim /etc/init.d/tomcat
#!/bin/bash
# Init file for Tomcat server daemon
#
# chkconfig: 2345 96 14
# description: Tomcat server daemon
JAVA_OPTS=‘-Xms64m -Xmx128m‘
JAVA_HOME=/usr/java/jdk1.7.0_11
CATALINA_HOME=/usr/local/tomcat
export JAVA_OPTS JAVA_HOME CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh $*
[[email protected] ~]# chmod a+x /etc/init.d/tomcat
[[email protected] ~]# chkconfig tomcat --list
tomcat 服务支持 chkconfig,但它在任何级别中都没有被引用(运行“chkconfig --add tomcat”)
[[email protected] ~]# chkconfig --add tomcat
[[email protected] ~]# chkconfig tomcat --list
tomcat          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
[[email protected] ~]# chkconfig tomcat on
[[email protected] ~]# service tomcat stop
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_11
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[[email protected] ~]# service tomcat start
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_11
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
======================================
测试:
http://192.168.2.251:8080/
安装 tomcat-native
[[email protected] ~]# yum groupinstall -y "Development tools" "Development libraries"
[[email protected] ~]# yum -y install openssl-devel apr-devel
[[email protected] jsp]# cd /usr/local/tomcat/bin/
[[email protected] bin]# ls
bootstrap.jar       commons-daemon-native.tar.gz  digest.bat        shutdown.sh           tool-wrapper.bat
catalina.bat        configtest.bat                digest.sh         startup.bat           tool-wrapper.sh
catalina.sh         configtest.sh                 setclasspath.bat  startup.sh            version.bat
catalina-tasks.xml  cpappend.bat                  setclasspath.sh   tomcat-juli.jar       version.sh
commons-daemon.jar  daemon.sh                     shutdown.bat      tomcat-native.tar.gz
[[email protected] bin]# tar xf tomcat-native.tar.gz    
[[email protected] bin]# cd tomcat-native-1.1.24-src/jni/native/
[[email protected] native]# ls
build       build-outputs.mk  include          NMAKEmakefile      srclib
buildconf   config.layout     libtcnative.dsp  NMAKEmakefile.inc  tcnative.dsp
build.conf  configure         libtcnative.dsw  os                 tcnative.pc.in
BUILDING    configure.in      Makefile.in      src                tcnative.spec
报错:
checking
for APR... configure: error: the --with-apr parameter is incorrect. It
must specify an install prefix, a build directory, or an apr-config
file.
解决方案,安装:yum install apr-devel
[[email protected] native]# ./configure --with-apr=/usr/ --with-ssl --with-java-home=/usr/java/jdk1.7.0_11/
[[email protected] native]# make && make install
[[email protected] native]# echo "/usr/local/apr/lib" > /etc/ld.so.conf.d/apr.conf
重新加载库文件
[[email protected] native]# ldconfig
======================================
为查看Tomcat运行状态添加用户:
Tomcat配置文件
/usr/local/tomcat/conf/server.xml  
[[email protected] ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="manager-scripts"/>
<role rolename="manager-status"/>
<user username="tomcat" password="123456" roles="manager-gui,manager-scripts,manager-status,admin-gui"/>
[[email protected] ~]# service tomcat stop
[[email protected] ~]# service tomcat start
=========================================
为Tomcat提供连接Mysql的文件
[[email protected] jsp]# tar xf mysql-connector-java-5.0.8.tar.gz
[[email protected] jsp]# cd mysql-connector-java-5.0.8
[[email protected] mysql-connector-java-5.0.8]# ls
build.xml  COPYING  docs                    mysql-connector-java-5.0.8-bin.jar  README.txt
CHANGES    debug    EXCEPTIONS-CONNECTOR-J  README                              src
[[email protected] mysql-connector-java-5.0.8]# cp mysql-connector-java-5.0.8-bin.jar /usr/local/tomcat/lib/
[[email protected] ~]# service tomcat stop
[[email protected] ~]# service tomcat start
配置Tomcat虚拟主机:JavaCenter_Home
[[email protected] jsp]# ls /usr/local/tomcat/webapps/        
docs  examples  host-manager  manager  ROOT
默认网站的主目录
[[email protected] jsp]# ls /usr/local/tomcat/webapps/ROOT  
asf-logo.png       bg-nav-item.png  favicon.ico        tomcat.gif        WEB-INF
asf-logo-wide.gif  bg-nav.png       index.jsp          tomcat.png
bg-button.png      bg-upper.png     RELEASE-NOTES.txt  tomcat-power.gif
bg-middle.png      build.xml        tomcat.css         tomcat.svg
[[email protected] jsp]#
为新网站建立主目录
[[email protected] jsp]# mkdir /usr/local/tomcat/webapps/blog
tomcat主配置文件
[[email protected] jsp]# vim /usr/local/tomcat/conf/server.xml
      <Host name="www.blog.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
           <Context docBase="blog" path="" />
      </Host>
安装JSP网站
[[email protected] jsp]# unzip JavaCenter_Home_2.0_Source_UTF8.zip
[[email protected] jsp]# cd JavaCenter_Home_2.0_Source_UTF8/source/WebRoot/
[[email protected] WebRoot]# ls
admin        avatar.jsp         data         help.jsp    js.jsp       rss.jsp    userapp.jsp
admincp.jsp  config.properties  do.jsp       image       link.jsp     source     WEB-INF
api          contact.jsp        editor.jsp   index.jsp   magic.jsp    space.jsp  xmlrpc.jsp
app.jsp      cp.jsp             errors       install     META-INF     template
attachment   crossdomain.xml    favicon.ico  invite.jsp  network.jsp  theme
[[email protected] WebRoot]#
[[email protected] WebRoot]# cp -rf * /usr/local/tomcat/webapps/blog/
[[email protected] ~]# service tomcat stop
[[email protected] ~]# service tomcat start
是否支持连接数据库
http://www.blog.com:8080
安装测试网站      
http://www.blog.com:8080/install
三、整合Apache、Tomcat
确定建立了两个虚拟机:
www.126.com        /webroot1/126 默认网站目录        PHP
www.blog.com        /usr/local/tomcat/webapps/blog/    JSP(Tomcat:8080)
[[email protected] ~]# mkdir /webroot
[[email protected] ~]# mkdir /webroot/126
[[email protected] ~]# echo "welcome to 126" > /webroot/126/index.html
[[email protected] ~]#  vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
    DocumentRoot "/webroot/126"
    ServerName www.126.com
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "/usr/local/tomcat/webapps/blog/"
    ServerName www.blog.com
</VirtualHost>
<Directory "/webroot/126">
        Require all granted
</Directory>
<Directory "/usr/local/tomcat/webapps/blog/">
        Require all granted
</Directory>
[[email protected] ~]# service httpd restart
必须确保两个网站都能访问,此时JSP网只能访问到
整合
[[email protected] jsp]# tar xvf  tomcat-connectors-1.2.31-src.tar.gz
[[email protected] jsp]# cd tomcat-connectors-1.2.31-src/native/
[[email protected] native]# ls
aclocal.m4  buildconf.sh  common        docs  Makefile.am  NEWS        scripts
apache-1.3  BUILDING.txt  configure     iis   Makefile.in  nt_service  STATUS.txt
apache-2.0  CHANGES       configure.in  jni   netscape     README.txt  TODO.txt
[[email protected] native]# chmod 755 buildconf.sh
[[email protected] native]# ./buildconf.sh
======================================
[[email protected] ~]# which apxs
/usr/sbin/apxs
[[email protected] ~]#
[[email protected] ~]# rpm -qf /usr/sbin/apxs
httpd-devel-2.2.3-63.el5
场景一:RPM包关联Apache
[[email protected] native]# ./configure --with-apxs=/usr/sbin/apxs
场景二:源码包关联Apache
[[email protected] native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs
[[email protected] native]# make && make install
======================================
编译时产生错误及解决方案
[[email protected] native]# make
Making all in common
make[1]: Entering directory `/root/jsp/tomcat-connectors-1.2.31-src/native/common‘
make[1]: Nothing to be done for `all‘.
make[1]: Leaving directory `/root/jsp/tomcat-connectors-1.2.31-src/native/common‘
Making all in apache-2.0
make[1]: Entering directory `/root/jsp/tomcat-connectors-1.2.31-src/native/apache-2.0‘
/usr/local/apache2/build/libtool
--silent --mode=compile gcc -std=gnu99
-I/usr/local/apache2/include  -DHAVE_CONFIG_H -DUSE_APACHE_MD5 -I
../common -I /usr/java/jdk1.7.0_11/include -I
/usr/java/jdk1.7.0_11/include/unix -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE
-D_LARGEFILE64_SOURCE -g -O2 -pthread
-DHAVE_APR  -I/usr/local/apache2/include
-I/usr/local/apache2/include  -DHAVE_CONFIG_H -g -O2 -pthread -DLINUX=2
-D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -c mod_jk.c -o
mod_jk.lo
mod_jk.c: In function ‘init_ws_service‘:
mod_jk.c:735: error: ‘conn_rec‘ has no member named ‘remote_ip‘
mod_jk.c:999: error: ‘conn_rec‘ has no member named ‘remote_ip‘
mod_jk.c:999: error: ‘conn_rec‘ has no member named ‘remote_ip‘
make[1]: *** [mod_jk.lo] 错误 1
make[1]: Leaving directory `/root/jsp/tomcat-connectors-1.2.31-src/native/apache-2.0‘
make: *** [all-recursive] 错误 1
解决方法:
[[email protected] native]# vim apache-2.0/mod_jk.c
735:
改之前
s->remote_addr = r->connection->remote_ip;    
改之后    
s->remote_addr = r->connection->client_ip;
999
改之前    
STRNULL_FOR_NULL(r->connection->remote_ip),
改之后
STRNULL_FOR_NULL(r->connection->client_ip),
重新编译:
[[email protected] native]# ./configure --with-apxs=/usr/local/apache2/bin/apxs
清除以前编译产生的目标文件.o的文件
[[email protected] native]# make clean
[[email protected] native]# make && make install
======================================
[[email protected] native]# ls /etc/httpd/modules/mod_jk.so
/etc/httpd/modules/mod_jk.so
正式开始整合。。。
==== vim /etc/httpd/conf/httpd.conf=====
DirectoryIndex index.html index.jsp
LoadModule jk_module modules/mod_jk.so    加载mod_jk.so
jkWorkersFile conf.d/workers.properties
jkLogFile logs/mod_jk.log
jkLogLevel info
修改:vim /etc/httpd/conf.d/workers.properties
ps=/
worker.list=tomcat1,tomcat2,loadbalancer
worker.tomcat1.port=8080
worker.tomcat1.host=127.0.0.1
workes.tomcat1.type=ajp13
worker.tomcat1.lbfactor=100
修改vim /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
    DocumentRoot "/usr/local/tomcat/webapps/blog/"
    ServerName www.blog.com
    jkmount /*.jsp loadbalancer
    jkmount /servlet/* loadbalancer
    jkmount /application/* loadbalancer
</VirtualHost>
重启服务测试
service httpd restart
service tomcat stop
service tomcat start

时间: 2024-08-05 07:08:49

apache_tomcat整合应用的相关文章

apache整合tomcat部署集群

近日,由于公司项目需要,所以学习了apache整合tomcat以及集群的一些知识. 所以做下笔记日后回顾可以用到. apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以apache和tomcat整合相互取长补短,由apache作为入口,如果是请求静态页面或者是静态文件,由apache直接提供,如果是请求动态页面,则让apache分发到tomcat,由tomcat处理以后再响应给客户端. apache和tomcat的整合需要准备的一些软件列表: 图1 说明: 1.首先

SSM整合(spring,spirngmvc,mybatis)

整合思路   准备环境:导入jar包(spring mybatis  dbcp连接池  mysql驱动包 log4j) 工程结构: --------------------------- 1.  整合dao mybatis和spring进行整合   applicationContext-dao.xml 配置: 1.数据源 2.SqlSessionFactory 3.mapper扫描器 创建po以及mapper(通过逆向工程,这里不再演示) 针对综合查询mapper,一般情况会有关联查询,建议自定

SpringBoot 2.SpringBoot整合Mybatis

一.创建Springboot的配置文件:application.properties SpringApplication 会从 application.properties 文件中加载配置信息,下面是添加Spring配置信息的文件目录顺序: 当前目录下的/config子目录中 当前目录中 一个 classpath 包下的 /config 目录中 classpath 根目录中 大家根据自己习惯来即可. /application.properties 文件配置如下: spring.datasourc

springMVC+MyBatis+Spring 整合(3)

spring mvc 与mybatis 的整合. 加入配置文件: spring-mybaits.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xm

C#开发微信门户及应用(47) - 整合Web API、微信后台管理及前端微信小程序的应用方案

在微信开发中,我一直强调需要建立一个比较统一的Web API接口体系,以便实现数据的集中化,这样我们在常规的Web业务系统,Winform业务系统.微信应用.微信小程序.APP等方面,都可以直接调用基于JSON数据格式的Web API接口,在我之前的几篇随笔中,对这方面都有一定的介绍,本篇继续这个主题,细致深入的阐述如何在接口和源码的基础上整合Web API.微信后台管理及前端微信小程序的应用方案. 1.基于Web API的微信开发框架 首先我们各个业务模块,都应该围绕着Web API进行展开,

struts2+hibernate+spring简单整合且java.sql.SQLException: No suitable driver 问题解决

最近上j2ee的课,老师要求整合struts2+hibernate+spring,我自己其实早早地有准备弄的,现在都第9个项目了,无奈自己的思路和头绪把自己带坑了,当然也是经验问题,其实只是用myeclipse进行整合的,本来也没那么多问题,看视频吧居然好多要手打,我不喜欢看不下去放弃了,教程把就是一堆坑,最最让人不解的是明明有一个冲突是需要解决的,但我看到的教程居然都没有提到,还有一个错误居然好多人都好像自动忽略一样,能解决我问题的都是要漫长的找,所以我一定一定要把这个过程记录下来,给第一次搞

spring和hibernate整合时报sessionFactory无法获取默认Bean Validation factory

Hibernate 3.6以上版本在用junit测试时会提示错误: Unable to get the default Bean Validation factory spring和hibernate整合时报sessionFactory无法获取默认Bean Validation factory  ,是因为新版hibernate用到新的jar包造成的,默认会自动找验证包,吴国不需要这一步,可以在spring整合hibernate的配置节点中添加如下标红属性: <bean id="sessio

SSH Struts2+hiberante+Spring整合

使用SSH框架编写学生信息: 一.新建Java工程: (1)建立好Java各层级之间的结构:业务处理层dao,数据模型层domain,页面请求处理层(Struts2 MVC层)action,service层. (2)建立好各层的实现类及接口; (3)建立一个source folder文件夹,用来存放一些配置问价. (4)改变字节码生成的位置,改为WEB-INF下面的classes文件夹下. Java工程层级结构如下图: 二.hibernate整合到Spring容器中 步骤: 1.编写domain

Spring+SpringMVC+Hibernate整合笔记(一)项目结构与配置

(1) entity 包 : 放置项目中的实体类(一个表一个类),pojo (2) util 工具包: 各种工具类(StringHelper类) ----M----- (3) dao 接口包: 各种操作接口类(ICRM_UserDao) (4) dao.impl 实现接口包:各种实习操作接口的实现类(CRM_UserDaoImpl) (5) service 接口包: 业务实现的接口(ICRM_UserService) (6)service.impl 实现业务接口的实现类(CRM_UserServ