- 论坛徽章:
- 0
|
http://www.syitren.com/bbs/thread-3033-1-1.html
转载请注明!
Apache和Tomcat同是Apache基金会下面的两个项目。
一个是HTTP WEB服务器,另一个是servlet容器(servlet container)。在我们生产的环境中,往往需要Apache做前端服务器,Tomcat做后端服务器。此时我们就需要一个连接器,这个连接器的作用就是把所有Servlet/JSP的请求转给Tomcat来处理。在Apache2.2之前,一般有两个组件可选择:mod_jk和mod_jk2。后来 mod_jk2没更新了,转而更新mod_jk,所以现在一般都使用mod_jk做Apache和Tomcat的连接器。
不过,自从Apache2.2出来后,你又多了种选择,那就是proxy-ajp。大家知道Apache里的proxy模块,可以实现双向代理功能,功能非常强大。其实从连接器的实现原理上来说,用proxy模块来实现是非常自然的。proxy模块的功能无非就是把相关的请求发给特定的主机再返回结果。那连接器的功能需求就是要把所有对Servlet/JSP的请求都转给后台的Tomcat。
本文所用到的软件:
jdk-6u7-linux-i586-rpm.bin
mysql-5.0.67.tar.gz
apr-1.3.3.tar.gz
apr-util-1.3.4.tar.gz
httpd-2.2.9.tar.gz
apache-tomcat-6.0.14.tar.gz
php-5.2.6.tar.gz
1、JDK安装
# pwd
/usr/local
# chmod a+x jdk-6u7-linux-i586-rpm.bin
# ./jdk-6u7-linux-i586-rpm.bin
# ln -s /usr/java/jdk1.6.0_07 /usr/local/java
设置环境变量
# vi /etc/profile
末尾增加如下内容
JAVA_HOME=/usr/java/jdk1.6.0_07
CLASSPATH=/usr/java/jdk1.6.0_07/lib/dt.jar:/usr/java/jdk1.6.0_07/lib/tools.jar
PATH=/usr/java/jdk1.6.0_07/binPATH
export PATH JAVA_HOME CLASSPATH
# source /etc/profile
# bin/java –version
查看java版本,如果是1.6的,就是说明安装成功了。
2、编译安装mysql
#useradd mysql mysql
#tar -zxvf mysql-5.0.67.tar.gz
#cd mysql-5.0.67
#./configure -prefix=/opt/mysql -with-charset=gbk -with-extra-charsets=all
#make
#make install
#cp support-files/my-medium.cnf /etc/my.cnf
#/opt/mysql/scripts/mysql_install_db --user=mysql
//初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysql和root用户设定访问权限
设置用户权限
#chown -R mysql.mysql /opt/mysql
#chown -R mysql.mysql /opt/mysql/var
启动mysql服务
#/opt/mysql/bin/mysqld_safe --user=mysql &
设置数据库管理员密码
#/opt/mysql/bin/mysqladmin -u root password ‘123456’
用新设置的密码登陆数据库验证一下
#/opt/mysql/bin/mydql -u root -p
mysql>showdatabases;
3.安装apr
# tar -zxvf apr-1.3.3.tar.gz
# cd apr-1.3.3
# ./configure --prefix=/usr/local/apr
# make
# make install
# tar -zxvf apr-util-1.3.4.tar.gz
# cd apr-util-1.3.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make
# make install
4、安装Apache。
# tar xzvf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
#./configure --prefix=/usr/local/apache
--enable-so --enable-rewrite --enable-proxy
--enable-proxy-ajp --enable-proxy-balancer
# make
# make install
# /usr/local/apache/bin/apachectl start //启动APACHE
#/usr/local/apache/bin/httpd -l
看看是否有proxy-ajp这个模块
如果有这个模块证明proxy-ajp模块安装成功,可以进行与tomcat的结合了。
5、安装php
#tar zxvf php-5.2.6.tar.gz
#cd php-5.2.6
#./configure --prefix=/opt/php --with-apxs2=/opt/www/bin/apxs \
--with-mysql=/opt/mysql --with-config-file-path=/opt/php
#make
#make install
#cp php.ini-dist /opt/php/php.ini
编辑apache的主配置文件,增加对PHP的支持
添加一行 AddType application/x-httpd-php .php
重启apache服务
#/opt/www/bin/apachectl restart
新建php测试网页,vi /opt/www/htdocs/test/test.php
然后在浏览器中测试一下
http://IP/test.php
6、安装Tomcat。
# cp apache-tomcat-6.0.14.tar.gz /usr/local/
# cd /usr/local/
# tar xzvf apache-tomcat-6.0.14.tar.gz
# ln -s apache-tomcat-6.0.14 tomcat
#vi /usr/local/tomcat/bin/catalina.sh
加入一行:
JAVA_HOME=/usr/java/jdk1.6.0_07
# /usr/local/tomcat/bin/startup.sh
启动服务后访问本地的8080端口可以看到对应apache tomcat页面了
7、Tomcat 与Apache 的整合
在apache中启用虚拟主机(需要dns的支持)
#vi /opt/www/conf/httpd.conf
去掉Include conf/extra/httpd-vhosts.conf前面的#号
#vi /opt/www/conf/extra/httpd-vhosts.conf
添加
<VirtualHost 192.168.1.100:80>
DocumentRoot "/opt/www/htdocs/aaa"
ServerName www.syitren.com
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
</VirtualHost>
<VirtualHost 192.168.1.100:80>
DocumentRoot "/opt/www/htdocs/bbb"
ServerName bbs.syitren.com
</VirtualHost>
tomcat虚拟主机
# vi /usr/local/tomcat/conf/server.xml
server.xml中这么加:
第一种方法此方法也适合windows下用)
<Host name="www.syitren.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Alias>mail.aaa.com</Alias> 要注意就是这。这是别名的.
<Context path="" docBase="/usr/local/apache/htdocs/" debug="0" reloadable="true" crossC/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_5sai_log." suffix=".txt"
timestamp="true"/>
</Host>
第二种方法:
<Host name="www.syitren.com" debug="0" appBase="/usr/local/tomcat/gc/" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="."/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="test_5sai_access_log."
suffix=".txt" pattern="common" resolveHosts="false"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="test_5sai_log." suffix=".txt" timestamp="true"/>
</Host>
然后把PHP程序放在/opt/www/htdocs/bbb/中,把JSP程序放在/opt/www/htdocs/aaa/中,分别测试一下。
linux tomcat开机自启动
vi /etc/rc.d/rc.local
在里面加入如下代码:
export JDK_HOME=/usr/java/jdk1.6.0_07
export JAVA_HOME=/usr/java/jdk1.6.0_07
/usr/local/tomcat/bin/startup.sh |
|