st0627 发表于 2018-11-17 08:34:04

Apache + Tomcat + MySQL

  一、单独使用Tomcat(Mysql)
  ==安装JDK
  # rpm -qa |grep java
  java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
  # rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115卸载旧的java
  # java -version
  -bash: /usr/bin/java: 没有那个文件或目录
  # rpm -ivh jdk-7u11-linux-i586.rpm
  # 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)
  # ls /usr/java/jdk1.7.0_11
  # vim /etc/profile设置环境变量
  JAVA_HOME=/usr/java/jdk1.7.0_11
  PATH=$PATH:$JAVA_HOME/bin
  export JAVA_HOME PATH
  # source /etc/profile
  # 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
  # tar xvf apache-tomcat-7.0.34.tar.gz -C /usr/local/
  # cd /usr/local/
  # ln -sv apache-tomcat-7.0.34 tomcat
  创建指向“apache-tomcat-7.0.34”的符号链接“tomcat”
  # vim /etc/profile定义Tomcat环境变量
  CATALINA_HOME=/usr/local/tomcatTomcat安装目录
  export CATALINA_HOME
  # source /etc/profile
  # env |grep HOME
  CATALINA_HOME=/usr/local/tomcat
  JAVA_HOME=/usr/java/jdk1.7.0_11
  HOME=/root
  # /usr/local/tomcat/bin/catalina.sh start启动,如果需要开机启动/etc/rc.local
  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>  # 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脚本   可选项
  ## 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 $*
  # chmod a+x /etc/init.d/tomcat
  # chkconfig tomcat --list
  tomcat 服务支持 chkconfig,但它在任何级别中都没有被引用(运行“chkconfig --add tomcat”)
  #
  # chkconfig --add tomcat
  # chkconfig tomcat --list
  tomcat          0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
  # chkconfig tomcat on
  #
  # 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>  # 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>  =================================================
  测试:
  http://192.168.2.251:8080/
  ==安装tomcat-native优化tomcat
  # yum groupinstall -y "Development tools" "Development libraries"
  # yum -y install openssl-devel apr-devel
  # cd /usr/local/tomcat/bin/
  # ls
  bootstrap.jar       commons-daemon-native.tar.gzdigest.bat      shutdown.sh         tool-wrapper.bat
  catalina.bat      configtest.bat                digest.sh         startup.bat         tool-wrapper.sh
  catalina.sh         configtest.sh               setclasspath.batstartup.sh            version.bat
  catalina-tasks.xmlcpappend.bat                  setclasspath.sh   tomcat-juli.jar       version.sh
  commons-daemon.jardaemon.sh                     shutdown.bat      tomcat-native.tar.gz
  # tar xf tomcat-native.tar.gz
  # cd tomcat-native-1.1.24-src/jni/native/
  # ls
  build       build-outputs.mkinclude          NMAKEmakefile      srclib
  buildconf   config.layout   libtcnative.dspNMAKEmakefile.inctcnative.dsp
  build.confconfigure         libtcnative.dswos               tcnative.pc.in
  BUILDING    configure.in      Makefile.in      src                tcnative.spec
  # ./configure --with-apr=/usr/ --with-ssl --with-java-home=/usr/java/jdk1.7.0_11/
  # make && make install
  # echo "/usr/local/apr/lib" > /etc/ld.so.conf.d/apr.conf
  # ldconfig   重新加载库文件
  =================================================
  为查看Tomcat运行状态添加用户:可选
  /usr/local/tomcat/conf/server.xmlTomcat配置文件
  # vim /usr/local/tomcat/conf/tomcat-users.xml
  
  
  
  
  # service tomcat stop
  # service tomcat start
  =================================================
  ===为Tomcat提供连接Mysql的文件(提前已安装并启动mysql)
  # tar xf mysql-connector-java-5.0.8.tar.gz
  # cd mysql-connector-java-5.0.8
  # ls
  build.xmlCOPYINGdocs                  mysql-connector-java-5.0.8-bin.jarREADME.txt
  CHANGES    debug    EXCEPTIONS-CONNECTOR-JREADME                              src
  # cp mysql-connector-java-5.0.8-bin.jar /usr/local/tomcat/lib/
  # service tomcat stop
  # service tomcat start
  ===配置Tomcat虚拟主机:JavaCenter_Home
  # ls /usr/local/tomcat/webapps/默认网站的基目录base
  docsexampleshost-managermanagerROOT
  # ls /usr/local/tomcat/webapps/ROOT默认网站的主目录
  asf-logo.png       bg-nav-item.pngfavicon.ico      tomcat.gif      WEB-INF
  asf-logo-wide.gifbg-nav.png       index.jsp          tomcat.png
  bg-button.png      bg-upper.png   RELEASE-NOTES.txttomcat-power.gif
  bg-middle.png      build.xml      tomcat.css         tomcat.svg
  #
  # mkdir /usr/local/tomcat/webapps/blog为新网站建立主目录
  # vim /usr/local/tomcat/conf/server.xmltomcat主配置文件
  
  
  
  DNS解析:
  www.blog.com   ===> 192.168.2.180
  ==JSP网站
  # unzip JavaCenter_Home_2.0_Source_UTF8.zip
  # cd JavaCenter_Home_2.0_Source_UTF8/source/WebRoot/
  # ls
  admin      avatar.jsp         data         help.jsp    js.jsp       rss.jsp    userapp.jsp
  admincp.jspconfig.propertiesdo.jsp       image       link.jsp   source   WEB-INF
  api          contact.jsp      editor.jsp   index.jsp   magic.jsp    space.jspxmlrpc.jsp
  app.jsp      cp.jsp             errors       install   META-INF   template
  attachment   crossdomain.xml    favicon.icoinvite.jspnetwork.jsptheme
  #
  # cp -rf * /usr/local/tomcat/webapps/blog/
  # service tomcat stop
  # service tomcat start
  http://www.blog.com:8080是否支持连接数据库
  http://www.blog.com:8080/install导库、连库
  准备整合Apache和Tomcat
  一、搭建LAMP,运行php网站(LAMP环境可选)
  1. LAMP
  # yum -y install httpd http-devel mysql-server mysql php php-mysql gd
  # service httpd restart
  # service mysqld start
  # chkconfig mysqld on
  # chkconfig httpd on
  # mysql -uroot不需要密码
  # mysqladmin -uroot password '123456'设置密码(原来没有密码)
  # mysql -uroot -p123456
  mysql> show databases;查看当前的数据库
  +--------------------+
  | Database         |
  +--------------------+
  | information_schema |
  | mysql            |
  | test               |
  +--------------------+
  3 rows in set (0.01 sec)
  2. 测试LAMP:
  # cat /var/www/html/index.php 测试页面
  
  ==http://www.php.comphp站点能正常访问Apache
  ==http://www.blog.com:8080jsp站点能正常访问Tomcat
  Apache配置:
  
  DocumentRoot /var/www/html
  ServerName www.php.com
  
  三、整合Apache、Tomcat
  确定建立了两个虚拟机:
  www.126.com/webroot1/126 PHP
  www.blog.com/usr/local/tomcat/webapps/blog/JSP(Tomcat:8080)
  # mkdir /webroot1
  # mkdir /webroot1/126
  # echo "welcome to 126" > /webroot1/126/index.html
  ====rpm包旧版本Apache:
  NameVirtualHost 192.168.2.180:80开启支持名字的虚拟主机
  
  DocumentRoot /webroot1/126
  ServerName www.php.com
  
  
  DocumentRoot /usr/local/tomcat/webapps/blog
  ServerName www.blog.com
  
  
  Order allow,deny授权
  Allow from all
  
  
  Order allow,deny授权
  Allow from all
  
  ====源码安装httpd新版本
  # vim /usr/local/apache2/conf/httpd.conf
  # Virtual hosts
  Include conf/extra/httpd-vhosts.conf包含虚拟主机配置文件
  # vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
  
  DocumentRoot "/webroot1/126"
  ServerName www.126.com
  
  
  DocumentRoot "/usr/local/tomcat/webapps/blog/"
  ServerName www.blog.com
  
  
  Require all granted授权
  
  
  Require all granted授权
  
  # /usr/local/apache2/bin/apachectl stop
  # /usr/local/apache2/bin/apachectl start
  必须确保两个网站都能访问,此时JSP网只能访问到,不能解析
  ========================================================================
  整合Apache和Tomcat
  # tar xvftomcat-connectors-1.2.31-src.tar.gz
  # cd tomcat-connectors-1.2.31-src/native/
  # ls
  aclocal.m4buildconf.shcommon      docsMakefile.amNEWS      scripts
  apache-1.3BUILDING.txtconfigure   iis   Makefile.innt_serviceSTATUS.txt
  apache-2.0CHANGES       configure.injni   netscape   README.txtTODO.txt
  # chmod 755 buildconf.sh
  # ./buildconf.sh
  ======================================================================================================
  # which apxs
  /usr/sbin/apxs
  #
  # rpm -qf /usr/sbin/apxs
  httpd-devel-2.2.3-63.el5
  # ./configure --with-apxs=/usr/sbin/apxs 场景一:RPM包关联Apache
  # ./configure --with-apxs=/usr/local/apache2/bin/apxs 场景二:源码包关联Apache
  ======================================================================================================
  # make && make install
  =======================================================
  编译时产生错误及解决方案
  # make
  Making all in common
  make: Entering directory `/root/jsp/tomcat-connectors-1.2.31-src/native/common'
  make: Nothing to be done for `all'.
  make: Leaving directory `/root/jsp/tomcat-connectors-1.2.31-src/native/common'
  Making all in apache-2.0
  make: 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
  make: Leaving directory `/root/jsp/tomcat-connectors-1.2.31-src/native/apache-2.0'
  make: *** 错误 1
  解决方法:
  # 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),
  重新编译:
  # ./configure --with-apxs=/usr/local/apache2/bin/apxs
  # make clean清除以前编译产生的目标文件 .o的文件
  # make && make install
  ==================================================
  # ls /etc/httpd/modules/mod_jk.so rpm包安装的Apache
  /etc/httpd/modules/mod_jk.so
  # ls /usr/local/apache2/modules/mod_jk.so 源码包安装的Apache
  /usr/local/apache2/modules/mod_jk.so
  正式开始整合。。。
  ====/etc/httpd/conf/httpd.conf=====
  DirectoryIndex index.html index.jsp设置默认首页
  LoadModule jk_module modules/mod_jk.so加载mod_jk.so
  jkWorkersFile conf/workers.propertiesjk模块配置文件***
  jkLogFile logs/mod_jk.logjk模块日志文件
  jkLogLevel infojk日志级别
  RPM Apache 默认的安装目录 /etc/httpd
  源码 Apache 默认的安装目录 /usr/local/apache2
  ===/usr/local/apache2/conf/workers.properties jk模块配置文件
  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
  ===/usr/local/apache2/conf/extra/httpd-vhosts.conf
  
  DocumentRoot "/usr/local/tomcat/webapps/blog/"
  ServerName www.blog.com
  jkmount /*.jsp loadbalancer
  jkmount /servlet/* loadbalancer
  jkmount /application/* loadbalancer
  
  # /usr/local/apache2/bin/apachectl stop
  # /usr/local/apache2/bin/apachectl start
  # service tomcat stop
  # service tomcat start

页: [1]
查看完整版本: Apache + Tomcat + MySQL