`
ygxu
  • 浏览: 78795 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

linux 配置apache+tomcat

阅读更多
操作系统平台:RedHat Enterprise Linux 5

所需软件
httpd-2.2.4.tar.gz
官方站点:http://httpd.apache.org/
镜像:http://apache.justdn.org/httpd/

jdk-1_5_0_13-linux-i586-rpm.bin(或者jdk-1_5_0_13-linux-i586.bin安装时有差异,要注意)
站点:http://java.sun.com/j2se/1.5.0/download.jsp
或者http://java.sun.com/javase/downloads/index_jdk5.jsp
选择JDK 5.0 Update 13进入页面后,选择接受Accept License Agreement单选筐
选择 Linux Platform - Java Development Kit 5.0 Update 13

apache-tomcat-6.0.14.tar.gz
http://apache.mirror.rafal.ca/tomcat/tomcat-6/v6.0.14/bin/

mod_jk-1.2.25-httpd-2.2.4.so
http://apache.justdn.org/tomcat/tomcat-connectors/jk/source/
注意该站点中的文件夹路径可以会发生变化
下载文件tomcat-connectors-1.2.25-src.tar.gz

安装
A JDK安装
[root@myas5 local]# pwd
/usr/local
[root@myas5 local]# chmod +x jdk-1_5_0_13-linux-i586-rpm.bin
[root@myas5 local]# ./jdk-1_5_0_13-linux-i586-rpm.bin
[root@myas5 local]# ln -s /usr/java/jdk1.5.0_13 /usr/local/java
设置环境变量
[root@myas5 etc]# vi profile
末尾增加如下内容
JAVA_HOME=/usr/java/jdk1.5.0_13
CLASSPATH=/usr/java/jdk1.5.0_13/lib/dt.jar:/usr/java/jdk1.5.0_13/lib/tools.jar
PATH=/usr/java/jdk1.5.0_13/bin:$PATH
export PATH JAVA_HOME CLASSPATH

B apache安装
[root@myas5 local]# tar xvzf httpd-2.2.4.tar.gz
[root@myas5 local]# cd httpd-2.2.4
[root@myas5 local]# ./configure --prefix=/usr/local/apache --enable-mods-shared=max --enable-module=most \
--with-mpm=worker --enable-deflate \
--enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache \
--enable-suexec --enable-ext-filter
[root@myas5 httpd-2.2.4]# make
可以用make &> make.log & 让漫长的编译过程在后台执行并把所有日志信息写入到make.log中,然后可以同时用 tail -f make.log来查看相关信息,监制编译过程
[root@myas5 httpd-2.2.4]# make install

Apache压力测试: apache/bin目录下有个ab程序.
#ab -c 20 -n 1000 http://www.001.com/liuyan/

修改apache子进程所有者
[root@myas5 ~]# useradd apache -s /bin/nologin
# vi /usr/local/apache/conf/httpd.conf
把daemon改为apache
User apache
Group apache
将Listen 80 修改为Listen 192.168.110.112:80    //本机IP地址
将ServerName 修改为ServerName 192.168.110.112:80
在DirectoryIndex中添加 index.htm index.php index.jsp  //后续会用php
[root@myas5 bin]# /usr/local/apache/bin/apachectl configtest
Syntax OK
[root@myas5 ~]# /usr/local/apache/bin/apachectl start
[root@myas5 local]# /usr/local/apache/bin/apachectl stop
如果修改过apache配置造成混乱,rm /etc/httpd.conf
再回到之前编译过的的安装目录,即执行过make的目录,在执行一次make install
将自动重新复制一个初始化的配置文件httpd.conf 到/etc目录下
在/etc/rc.loal 中加一行:/usr/local/apache/bin/apachectl start  让apache随系统启

C 安装tomcat
[root@myas5 local]# tar -zvxf apache-tomcat-6.0.14.tar.gz
[root@myas5 local]# ln -s /usr/local/apache-tomcat-6.0.14 /usr/local/tomcat
[root@myas5 local]# vi /usr/local/tomcat/bin/catalina.sh
加入一行:
JAVA_HOME=/usr/java/jdk1.5.0_13
[root@myas5 local]# /usr/local/tomcat/bin/startup.sh (或者/startup.bat)
启动服务后访问本地的8080端口可以看到对应apache tomcat页面了
[root@myas5 local]# /usr/local/tomcat/bin/shutdown.sh (或者/shutdown.bat)

D 安装JK
[root@myas5 local]# tar -xvzf tomcat-connectors-1.2.25-src.tar.gz
[root@myas5 local]# cd tomcat-connectors-1.2.25-src/native
[root@myas5 native]# ll buildconf.sh
-rwxr-xr-x 1 root bin 414 2004-07-23 buildconf.sh       //确定执行权限,如果没有需要手动添加
[root@myas5 native]# ./buildconf.sh
[root@myas5 native]# ./configure --with-apxs=/usr/local/apache/bin/apxs
[root@myas5 native]# make
[root@myas5 native]# make install
[root@myas5 native]# cd apache-2.0/
[root@myas5 apache-2.0]# pwd
/usr/local/tomcat-connectors-1.2.25-src/native/apache-2.0
[root@myas5 apache-2.0]# cp mod_jk.so /usr/local/apache/modules/      //在1.2.25版本中,安装过程会自动copy过去,不用手动复制

E:系统整合
[root@myas5 apache-2.0]# vi /usr/local/apache/conf/httpd.conf
按shift+g到文件末尾,添加以下内容
#Load mod_jk
LoadModule jk_module modules/mod_jk.so
# Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /*.jsp loadbalancer
JkMount /servlet/* loadbalancer
JkMount /application/* loadbalancer

[root@myas5 local]# vi /usr/local/apache/conf/workers.properties
创建文件添加添加如下内容
# workers.properties
#
# In Unix, we use forward slashes:
ps=/
# list the workers by name
worker.list=tomcat1, tomcat2, loadbalancer
# ------------------------
# First tomcat server
# ------------------------
worker.tomcat1.port=8009
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
# Specify the size of the open connection cache.
#worker.tomcat1.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.tomcat1.lbfactor=100
# ------------------------
# Second tomcat server
# ------------------------
worker.tomcat2.port=8009
worker.tomcat2.host=192.168.110.112
worker.tomcat2.type=ajp13
# Specify the size of the open connection cache.
#worker.tomcat2.cachesize
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.tomcat2.lbfactor=100
# ------------------------
# Load Balancer worker
# ------------------------
# The loadbalancer (type lb) worker performs weighted round-robin
# load balancing with sticky sessions.
# Note:
# ----> If a worker dies, the load balancer will check its state
# once in a while. Until then all work is redirected to peer
# worker.
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1, tomcat2
#
# END workers.properties
其中worker.tomcat1.port=8009定义了apache和tomcat通信的端口

[root@myas5 modules]# vi /usr/local/tomcat/conf/server.xml
<Connector port="8009"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
redirectPort="8443" protocol="AJP/1.3" /> 
端口和apache一致(以上配置时本来默认一致的不需要修改了)

虚拟机配置
apache的虚拟机
在httpd.conf启用httpd-vhosts.conf
即去掉下面一行中原有的#号
Include conf/extra/httpd-vhosts.conf
再在配置httpd-vhosts.conf配置好虚拟机
NameVirtualHost *:80 更改为NameVirtualHost 192.168.110.112:80     //IP地址为测试机IP
<VirtualHost 192.168.110.112:80>
    ServerAdmin admin@v1.com
    DocumentRoot /usr/local/apache/htdocs/v1.com
    ServerName v1.com
    ServerAlias www.v1.com
    ErrorLog logs/v1.com-error_log
    CustomLog logs/v1.com-access_log common
</VirtualHost>

<VirtualHost 192.168.110.112:80>
    ServerAdmin admin@v2.com
    DocumentRoot /usr/local/apache/htdocs/v2.com
    ServerName v2.com
    ServerAlias www.v2.com
    ErrorLog logs/v2.com-error_log
    CustomLog logs/v2.com-access_log common
</VirtualHost>

tomcat中对应虚拟主机
[root@myas5 ~]# vi /usr/local/tomcat/conf/server.xml
在后续建立相应虚拟主机
<Host name="www.v1.com" debug="0" appBase="/usr/local/apache/htdocs/v1.com" unpackWARs="false" autoDeploy="true"  xmlValidation="false"

xmlNamespaceAware="false">
   <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="iccess." suffix=".log"    timestamp="true"/>
      <Context docBase="" path="" reloadable="true">
      </Context>
</Host>
<Host name="www.v2.com" debug="0" appBase="/usr/local/apache/htdocs/v2.com" unpackWARs="false" autoDeploy="true"  xmlValidation="false"

xmlNamespaceAware="false">
   <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="iccess." suffix=".log"    timestamp="true"/>
      <Context docBase="" path="" reloadable="true">
      </Context>
</Host>
由于apache以apache独立用户运行
为了安全起见,将站点目录所属组为apache并设置权限为750即可。

/usr/local/tomcat/bin/catalina.sh start  (或者startup.sh)
/usr/local/tomcat/bin/catalina.sh stop (或者shutdown.sh)

参考:
http://linux.chinaitlab.com/SHELL/34186.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics