什麼是tomcat
他是一個jsp和servlet的運行平臺,是一個web服務器 php
apache和 tomcat 整合一塊兒優勢:
提高對靜態文件的處理性能,利用web服務器來作負載均衡及容錯,無縫的升級應用程序。
通常用apache+tomcat,apache主要作針對靜態頁面。tomcat作動態頁面請求。 java
apache和tomcat整合主要三種方式:
1.JK方式:經過一個AJP協議與tomcat通信
2.http_proxy方式:他是基於一個apache中的一個集成模塊進行鏈接(mod_proxy,經過這模塊進行鏈接,必須是apache 2.2以上版本。靈活性高,穩定性比JK稍微低些。
3.ajp_proxy方式:mysql
LAMP(php+jsp)測試筆記:
所需軟件::redahat 5.4-x86
mysql-5.0.18.tar.gz
httpd-2.2.17.tar.gz
MySQL-Front_Setup.zip
apache-tomcat-6.0.32.tar.gz
apr-1.3.3.tar.gz
apr-util-1.3.4.tar.gz
Discuz_X1.5_SC_GBK.zip
jdk-6u23-linux-i586-rpm.bin
lybbs7.6.1.MySQL.zip
php-5.3.4.tar.bz2
tomcat-connectors-1.2.28-src.tar.gzlinux
第一步:1.安裝JDK:
#cp jdk-6u23-linux-i586-rpm.bin /usr/local/
#cd /usr/local/
#chmod u+x jdk-6u23-linux-i586-rpm.bin
#./jdk-6u23-linux-i586.bin
#ln -s /usr/java/jdk1.6.0_23/ /usr/local/java 作軟鏈接將java鏈接到usr/local/java #vi /etc/profile (設置下系統的的環境變量添上下面幾個變量)
JAVA_HOME=/usr/java/jdk1.6.0_23
CLASSPATH=/usr/java/jdk1.6.0_23/lib/dt.jar:/usr/java/jdk1.6.0_23/lib/tools.jar
PATH=/usr/java/jdk1.6.0_23/bin:$PATH
export PATH JAVA_HOME CLASSPATH
#source /etc/profile (使剛纔所添加變量當即生效)
#java -version (測試java)web
第二步:1.安裝mysql 數據庫
#tar -zxvf /ruanjian/mysql-5.0.18.tar.gz
#cd mysql-5.0.18
#./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charset=all --enable-thread-safe-client --enable-local-infile --with-low-memory
#make && make install (編譯而且編譯安裝)
#groupadd mysql (創建一個mysql 的組)
#useradd -g mysql mysql (創建一個mysql 用戶並將其加入到mysql 組)
[root@localhost mysql-5.0.18]# cp support-files/my-medium.cnf /etc/my.cnf (將my-medium.cnf 複製到 /etc/my.cnf )
# chown -R mysql.mysql /usr/local/mysql/ (將mysql 安裝目錄 屬主 和 屬組改成mysql)
#/usr/local/mysql/bin/mysql_install_db --user=mysql (以mysql 用戶身份初始化 mysql數據庫,以生成一個數據庫默認路徑,就是用以用來存放數據的就是這個/usr/local/mysql/var)
#chown -R root.root /usr/local/mysql/ (再將mysql 目錄屬主和屬組改成root)
#chown -R mysql.mysql /usr/local/mysql/var/ (將用來存放數據庫文件的屬主和屬組改成mysql)
#/usr/local/mysql/bin/mysqld_safe --user=mysql & (在後臺啓動下mysql )
#netstat -ant 查看下mysql 端口是否啓動 3306
1. #cp support-files/mysql.server /etc/rc.d/init.d/mysqld (如下4小步是將mysql 加入到系統開機本身啓動)
2. #chmod 775 /etc/rc.d/init.d/mysqld
3. # chkconfig --add mysqld 將mysql的 加入到系統進程
4. #chkconfig --level 35 mysqld on
#/usr/local/mysql/bin/mysqladmin -u root password "123456" (給mysql 增長下密碼)
#/usr/local/mysql/bin/mysql -u root -p; 登陸mysql 數據庫
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
mysql>quit
#echo "/usr/local/mysql/lib/mysql/" >>/etc/ld.so.conf (配置mysql 庫文件 搜索路徑)
#ldconfig (使之生效)
#ldconfig -v (輸出)
#echo "PATC=$PATH=:/usr/local/mysql/bin" >> /etc/profile (將mysql 添加到的系統環境變量中)
#source /etc/profile (使之生效)sql
第三步:安裝apr 和apr-util 這2個 開發包
#cd /ruanjian
#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 (安裝apr-util 而且將他和apr 相鏈接)
#make && make install 數據庫
第四步:安裝apache
#tar zxvf httpd-2.2.17.tar.gz
#cd httpd-2.2.17
#./configure --prefix=/usr/local/apache --enable-so --enable--rewrite --enable-proxy --enable-proxy-jsp --enable-proxy-balancer --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
#make && make install
#/usr/local/apache/bin/apachectl start (啓動apache)
#netstat -ant 查看80 端口是否開啓而後用瀏覽器 查看192.168.100.1 會返回 It works
#cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd 「如下是將 httpd 進程添加到系統開啓自動啓動」
#vi /etc/rc.d/init.d/httpd
再第2行添加:# chkconfig:2345 10 90
# description:Activates/Deactivates Apache Web Server (添加2行以是httpd 支持chkconfig 命令)
#chkconfig --add httpd
#chkconfig --level 35 httpd on
#service httpd startapache
第五步:安裝tomcat
#cp /ruanjian/apache-tomcat-6.0.32.tar.gz /usr/local/
#tar zxvf apache-tomcat-6.0.32.tar.gz (tomcat 是一個解壓縮的包,不須要便宜安裝)
#rm -rf apache-tomcat-6.0.32.tar.gz (刪除一些不用的,前面apache、jdk均可以刪除)
#mv /usr/local/apache-tomcat-6.0.32 /usr/local/tomcat
#vi /usr/local/tomcat/bin/catalina.sh ( 腳本catalina.sh用於啓動和關閉tomcat服務器,是最關鍵的腳本
另外的腳本startup.sh和shutdown.sh都是使用不一樣的參數調用了該腳本
該腳本的使用方法以下編輯這個文件,添加JDK的家目錄路徑,讓tomcat 啓動的時候去找JDK ,以支持JDK)
JAVA_HOME=/usr/java/jdk1.6.0_23 在文件末尾添加便可
#/usr/local/tomcat/bin/startup.sh 啓動tomcat
#netstat -ant 查看是否有8080 和8009 端口
#在windows 主機上 輸入http://192.168.100.1:8080 查看tomcat
#vi /etc/rc.d/rc.local 添加tomcat 到系統自動啓動
export JDK_HOME=/usr/java/jdk1.6.0_23
export JAVA_HOME=/usr/java/jdk1.6.0_23
/usr/local/tomcat/bin/startup.shwindows
第六步:安裝PHP
#tar -jxvf php-5.3.4.tar.bz2
#cd php-5.3.4
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php
#make && make install
#cp /ruanjian/php.ini-development /usr/local/php/php.ini (用來支持PHP配置頁)
# vi /usr/local/apache/conf/httpd.conf (修改apache配置文件,以是支持加載PHP)
LoadModule php5_module modules/libphp5.so (位置)
AddType application/x-httpd-php .php --》添加這行
搜索DirectoryIndex
添加index.php index.jsp (添加PHP、JSP 測試頁)
#cd /usr/local/apache/htdocs
#rm -rf *
#vi test.php (編輯一個測試頁)
<?php
phpinfo();
?>
#service httpd restart
用winodws 主機 瀏覽 http://192.168.100.1 會出現PHP 測試頁
#vi /usr/local/apache/conf/httpd.conf
# Options Indexes FollowSymLinks 這行注視掉 再用瀏覽器 查看下。(隱藏文件)
#service httpd restart
用 http://192.168.100.1/test.php瀏覽器
第七步:安裝Discuz! 軟件
#cp Discuz_X1.5_SC_GBK.zip.gz /usr/local/apache/htdocs
#cd /usr/local/apache/htdocs
# gunzip Discuz_X1.5_SC_GBK.zip.gz
#unzip Discuz_X1.5_SC_GBK.zip
#mv upload phpbbs
#chmod -R 777 phpbbs
#vi /usr/local/apache/conf/httpd.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf (啓用)
#vi /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/usr/local/apache/htdocs/phpbbs" (discuz! 文件目錄)
ServerName www.phpbbs.com
ErrorLog "/usr/local/apache/logs/phpbbs-error_log"
CustomLog "/usr/local/apache/logs/phpbbs-access_log" common
</VirtualHost>
# service httpd restart
# /usr/local/tomcat/bin/shutdown.sh
# /usr/local/tomcat/bin/start.sh
修改windows 主機hosts 文件
192.168.100.1 www.phpbbs.com
192.168.100.1 www.jspbbs.com
瀏覽器中:http://www.phpbbs.com/install
若是出現請修改short_eopen_tag on ,請打開php.ini 進行修改
修改完後 重新啓動下 apache。
第9步安裝:lybbs 凌雲BBS(jsp)(詳見lybbs安裝手冊)
#/usr/local/mysql/bin/mysql -u root -p
Mysql>grant all on *.* to 'root'@'% identified by '123456' (授予root 用戶 能夠以在任何地方登陸到任何數據庫)
Mysql >quit
#cp lybbs7.6.1.MySQL.zip /usr/local/apache/htdocs/
#cd /usr/local/apache/htdocs/
#unzip lybbs7.6.1.MySQL.zip
# cp lybbs.war lybbs.war.bak
# mv lybbs.war /usr/local/tomcat/webapps/
#/usr/local/tomcat/bin/shutdown/sh
#vi /usr/local/tomcat/webapps/lybbs/WEB-INF/classes (修改3項)
#MSSQL2005drv Default:jdbc:sqlserver://127.0.0.1:1433;DatabaseName=lybbs
dbUrl=jdbc:mysql://192.168.100.1/lybbs?useUnicode=true&characterEncoding=GBK
#dbUsername is your username connected to database.
#MySQL/DB2/Oracle/MSSQL Default:lybbs
dbUsername=root
#dbPassword is your password connected to database.
#MySQL/DB2/Oracle/MSSQL Default:lybbs
dbPassword=123456
第10步安裝 : mod_jk -->tomcat-connectors-1.2.28-src.tar.gz
# tar zxvf tomcat-connectors-1.2.28-src.tar.gz
# cd tomcat-connectors-1.2.28-src
#./config --with-apsx=/usr/local/apache/bin/apxs
#tar zxf tomcat-connectors-1.2.28-src.tar.gz
#cd /opt/tester4/tomcat-connectors-1.2.28-src/native
#./configure --with-apxs=/opt/tester4/apache/bin/apxs
#make
#cd /opt/tester4/tomcat-connectors-1.2.28-src/native/apache-2.0
#cp mod_jk.so /opt/tester4/apache/modules/
第十一部:整合apache和tomcat
在/opt/tester4/apache/conf/下面創建兩個配置文件mod_jk.conf和workers.properties。
#vi /opt/tester4/apache/conf/mod_jk.conf
# 指出mod_jk模塊工做所須要的工做文件workers.properties的位置
JkWorkersFile /usr/local/apache/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 將所請求經過ajp13的協議送給Tomcat,讓Tomcat來處理
JkMount /*.jsp controllerJkMount
JkMount /*.do controller
JkMount /* controller
JkMount /*.action controller
#vi /opt/tester4/apache/conf/workers.properties
# Server 列表
worker.list=controller,tomcat
# =============Set properties for tomcat============
worker.tomcat.type=ajp13
worker.tomcat.host=localhost #tomcat的主機地址,如不爲本機,請填寫ip地址
worker.tomcat.port=8009 #ajp13 端口號,在tomcat下server.xml配置,默認8009
worker.tomcat.lbfactor=50 #server的加權比重,值越高,分得的請求越多
#worker.tomcat.cachesize=10
#worker.tomcat.cache_timeout=600
#worker.tomcat.socket_keepalive=1
#worker.tomcat.socket_timeout=300
#vi /usr/local/apache/conf/httpd.conf (增長關於加載mod_jk的語句)
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache/conf/mod_jk.conf
# cp /usr/local/apache/conf/extra/httpd-vhosts.conf /usr/local/apache/conf/extra/httpd-vhosts.conf.bak
# service httpd restart
#/usr/local/tomcat/bin/shutdown.sh
#/usr/local/tomcat/bin/startup.sh
視頻教程-->>視頻出處來自小楓老師 ,在apache和tomcat整合小楓老師利用http_proxy,本文中利用的是JK方式。