歡迎您光臨本站 註冊首頁

RHEL3U6下的MAP+TOMCAT+JDK+MYSQL連接安裝配置詳述

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

前言: 這裡主要變化的就是配置tomcat不用連接模塊了,關於這個tomcat,我印象最深的是有一次在公司鬱悶了,就去中國移動面試,那的技術主管問:你用過tomcat和apache整合嗎?我說接觸過沒研究,只用resin,然後他問我那tomcat開的埠有哪些,都是做什麼的呢?我說這個我得查資料,其實主要就是8005、8009、8080這三個埠。呵呵,結果可想而知--我由於不知道tomcat的啟動埠而被PASS了。其實想想也挺可笑的,我說的都是實話,技術人員嗎,不可能什麼都在腦子裡,咱們中國人常說:好腦子不如爛筆頭。所以我有記錄的習慣,什麼都習慣寫下來,腦子只要記住該記的就行了,呵呵,不過我勸諸位想找個好歸宿的還是要有好腦子,最好過目不忘,要不找工作的時候也很危險呦!!還有你覺不覺得找工作看英語過幾級,到底有多少人在工作里非要和英語親密接觸呢?我就是,哈哈,但我有dr.eye,呵呵,無奈了... 廢話少說,讓咱們開始以配置這個曾經把我PASS的環境吧 :) 第一章:MAP安裝、測試、優化、安全 1、Mysql安裝 我的版本選擇是mysql-4.0.25.tar.gz,選擇這個OLD版本是因為我其他機器的資料庫也是這個版本,這樣相互導來導去方便點。按我如下傻瓜方式安裝吧。 # tar xzvf mysql-4.0.25.tar.gz # cd mysql-4.0.25 # useradd mysql -s /sbin/nologin # CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with--charset=gbk --with-extra-charsets=all;make;make install 睡會兒吧!大概5分鐘。--我的1850差不多是這樣。為什麼用這些參數,請參考 ./configure --help # cp support-files/my-huge.cnf /etc/my.cnf # cd /usr/local/mysql # bin/mysql_install_db --user=mysql # chown -R root . # chown -R mysql var # chgrp -R mysql . # bin/mysqld_safe --user=mysql & # /usr/local/mysql/bin/mysqladmin -u root password 'hahaha' # mysql -p Enter password: Welcome to the MySQL monitor. Commands end with or \g. Your MySQL connection id is 2 to server version: 4.0.25-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>use mysql Database changed mysql> delete from user where Password=''; Query OK, 3 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye # cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d # chmod 500 /etc/rc.d/init.d/mysql.server # cd /etc/rc.d/rc3.d # ln -s ../init.d/mysql.server S99mysql # ln -s ../init.d/mysql.server K99mysql Mysql安裝完了,那我們開始裝apache2.2.0 2、安裝apache-2.2.0 到這我們就要說說APR了,這個東西是Apache可移植運行庫,源自為了伺服器代碼的多平台性, 嘗試將不同的操作系統特定位元組與操作系統無關代碼隔離。結果就提供了一個基礎API的介面。具體作用大家可參考http://fanqiang.chinaunix.net/app/web/2006-02-21/4012.shtml文章。apache-2.2.0提供了apr以及apr-util的源代碼 要使用發行源代碼中自帶的apr/apr-util源代碼進行安裝,你必須手動完成: 我們先編譯和安裝 apr 1.2 # tar xzvf httpd -2.2.0.tar.gz # cd httpd-2.2.0 # cd srclib/apr # ./configure --prefix=/usr/local/apr # make # make install 現在編譯和安裝 apr-util 1.2 # cd ../apr-util # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ # make # make install 開始安裝配置 apache,在這裡我們需要一個mod_proxy_ajp模塊,這個是為整合tomcat用的,用2.2.0就是美,哈哈。 cd ../../ # ./configure --prefix=/usr/local/httpd220 --enable-so --enable-rewrite=share --enable-proxy=share --enable-proxy-ajp=share --enable-dav=share --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ # make # make install 現在讓我們查看編譯進apache的模塊: # cd /usr/local/httpd220/bin # ./httpd -l 我們要的mod_proxy_ajp.c也在其中就可以了。 現在不用配置apache的conf文件,我們直接安裝php,我用的是4.4.2版本 # cd /usr/local/httpd220/bin # cp apachectl /etc/init.d/httpd # cd /etc/rc3.d # ln -s ../init.d/httpd S85httpd # ln -s ../init.d/httpd K85httpd 3、安裝php # tar xzvf php-4.4.2.tar.gz # cd php-4.4.2 # ./configure --prefix=/usr/local/php442 --with-apxs2=/usr/local/httpd220/bin/apxs --with-config-file-path=/usr/local/php442 --with-mysql=/usr/local/mysql --with-mail --sysconfdir=/usr/local/php442/etc --with-gd --with-zlib --with-png --with-jpeg --with-freetype --enable-sockets # make;make install cp php.ini-dist /usr/local/php442/php.ini 4、安裝modsecurity(mod_security 可以加強apache的安全性,特別是在防sql 注入上有很好的效果。) 下載站點:http://www.modsecurity.org/download/ # tar zxvf modsecurity-apache-1.9.2.tar.gz # cd modsecurity-apache-1.9/apache2/ # /usr/local/httpd220/bin/apxs -cia mod_security.c 打開httpd.conf查看是否有如下文字加入 LoadModule security_module modules/mod_security.so 如沒有則加上去 在httpd.conf中添加下列一段mod_security的配置文件 SecFilterEngine On SecFilterCheckURLEncoding On SecFilterDefaultAction "deny,log,status:500" #SecFilterForceByteRange 32 126 #SecFilterScanPOST On SecAuditLog logs/audit_log ### SecFilter "\.\./" ##### SecFilter /etc/*passwd SecFilter /bin/*sh #for css attack SecFilter "<( | )*script" SecFilter "<(.| )+>" #for sql attack SecFilter "delete[ ]+from" SecFilter "insert[ ]+into" SecFilter "select.+from" SecFilter "union[ ]+from" SecFilter "drop[ ]" 5、apache2 安裝 mod_evasive 防DDOS攻擊 mod_evasive 的前身就是mod_dosevasive 下載站點:http://www.nuclearelephant.com/projects/mod_evasive # tar zxvf mod_evasive_1.10.1.tar.gz # cd mod_evasive # /usr/local/httpd220/bin/apxs -cia mod_evasive20.c 打開httpd.conf查看是否有如下文字加入 LoadModule evasive20_module modules/mod_evasive20.so 如沒有則加上去 在httpd.conf中添加下列一段mod_security的配置文件 DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 6、配置httpd.conf 注意2.2.0里默認是如下的用戶和組,而不是原來的nobody User daemon Group daemon ServerAdmin xu1701@hotmail.com 這個地方配置成你自己的信箱 ServerName YourDomainName:80 這個地方把#號打開,紅色的地方你自己編輯 documentRoot "/usr/local/httpd220/htdocs" 這個地方你換成自己的WEB路徑 Options Indexes FollowSymLinks 這個地方你把Indexes 去掉,除非你想把你的文件顯示出來 DirectoryIndex index.html index.jsp index.php index.htm 這個地方加三個主頁文件名 搜索AddType application,找到后在 AddType application/x-compress .Z AddType application/x-gzip .gz .tgz 下加一行,因為我們用了PHP了嗎!哈哈。 AddType application/x-httpd-php .php 7、啟動apache,看看我們的結果 首先進入你自己的documentRoot,建立一個文件test.php,內容是 # /usr/local/httpd220/bin/apachectl start 訪問http://Your ip/test.php 如果看到php信息界面,那麼恭喜你,你的MAP初步配置好了。還有什麼,優化啊! 8、php速度優化 我們先要安裝Zend Optimizer,此程序可以從Zend Technologies的網站(http://www.zend.com/)免費得到。它的原理很簡單,通過檢測Zend引擎產生的中間代碼,並且優化它來得到更高的執行速度。我認為優化代碼是一項頗煩瑣的工作,而且優化后的代碼可能變得難以理解,因此我建議你在PHP的源代碼較為複雜的時候,用Zend Optimizer來做這個優化的工作,好處是它不會令你的代碼變得複雜難懂。 安裝Zend Optimizer是非常簡單的。我們需要先下載 ZendOptimizer-2.6.0-linux-glibc21-i386.tar.gz # tar xzvf ZendOptimizer-2.6.0-linux-glibc21-i386.tar.gz # cd ZendOptimizer-2.6.0 # ./install 這樣就可以安裝了,不過如果你不用vnc這樣的遠程桌面顯示,可能安裝起來很費勁,所以我建議你用VNC來安裝。安裝後會自動在你的php.ini加入如下六行,根據路徑不同,你的可能和我的路徑不完全一致: zend_optimizer.optimization_level=15 zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2_6_0 zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2_6_0 zend_optimizer.version=2.6.0 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so 我們修改一下zend_optimizer.optimization_level的參數(實際只有這個參數用我們修改),這個參數是表示優化程度的,這裡定義啟動多少個優化過程,默認值是 15 ,表示同時開啟 10 個優化過程中的 1-4 ,我們可以將這個值改為 1023 ,表示開啟全部10個優化過程。 zend_optimizer.optimization_level=1023 重新啟動apache,如果執行test.php時看到 Zend Technologies with Zend Optimizer v2.6.0,那麼就說明以已經應用了。 優化完了,我們還需要加速代碼執行過程。由於turck-mmcache的作者已經被zend招安了,turck-mmcache很久沒有更新了。我們這次介紹另一個不錯的開源優化php代碼軟體eAccelerator。 安裝很簡單,跟我一步一步來 先到http://eaccelerator.net/wiki/下載最新版本,目前是eaccelerator-0.9.4 # unzip eaccelerator-0.9.4.zip # export PHP_PREFIX="/usr/local/php442" # cd eaccelerator-0.9.4 # $PHP_PREFIX/bin/phpize # ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config # make # make install 安裝完成後你會看到下面這麼一句,注意你的路徑可能和我是不相同的。 /usr/local/php442/lib/php/extensions/no-debug-non-zts-20020429/ 然後我們要配置php.ini,根據您系統的情況,一般有兩種安裝方式,一種按照Zend的擴展,一種是PHP擴展。如果是前者,請在您的 php.ini 中加入以下代碼: zend_extension="/usr/local/php442/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" 如果您的系統打開了安全模式,必須使用, "zend_extension_ts" 取代 "zend_extension". PHP擴展安裝模式,請在您的 php.ini 中加入 extension="/usr/local/php442/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" 修改後保存,開始創建cache文件夾 # mkdir /tmp/eaccelerator # chmod 0777 /tmp/eaccelerator 重新啟動apache,如果訪問test.php你看到 eAccelerator v0.9.4, Copyright (c) 2004-2004 eAccelerator, by eAccelerator with Zend Extension 那就成功了。 第二章:Jdk+Tomcat安裝及配置 1、Jdk安裝 Jdk 是Java開發工具包 (Java Development Kit ) 的縮寫。它是一種用於構建在 Java 平台上發布的應用程序、applet 和組件的開發環境。 Jdk是一切java應用程序的基礎,所有的java應用程序是構建在這個之上的。它是一組API,也可以說是一些java Class。 下載站點:http://java.sun.com/j2se/1.5.0/download.jsp 最新版本:JDK 5.0 Update 6 下面開始安裝 # rpm -qa | grep libgcj libgcj-3.2.3-53 libgcj-ssa-devel-3.5ssa-0.20030801.48 libgcj-ssa-3.5ssa-0.20030801.48 libgcj-devel-3.2.3-53 # rpm -e gcc-java-3.2.3-53 # rpm -e libgcj-devel # rpm -e redhat-lsb # rpm -e gettext-0.11.4-7 # rpm -e libgcj # chmod +x jdk-1_5_0_06-linux-i586-rpm.bin # ./jdk-1_5_0_06-linux-i586-rpm.bin # vi ~/.bash_profile 把其改成如下: JAVA_HOME=/usr/java/jdk1.5.0_06 CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin BASH_ENV=$HOME/.bashrc TOMCAT_HOME=/usr/local/tomcat USERNAME="root" export USERNAME BASH_ENV PATH JAVA_HOME CLASSPATH TOMCAT_HOME 使環境變數起作用 # source ~/.bash_profile # java # javac 如果java 和javac運行了,說明java環境變數配置成功。 2、Tomcat安裝 下載站點:http://apache.linuxforum.net/dist/jakarta/tomcat-5/ 最新版本5.5.16 # tar zxvf apache-tomcat-5.5.16.tar.gz # mv apache-tomcat-5.5.16 /usr/local/tomcat tomcat這個東西幾乎是解壓以後就能跑了 3、配置tomcat及apache整合 # vi /usr/local/tomcat/conf/web.xml javaEncoding GB18030 把上面的文字加到3上方 為了配置文件的可讀性,我們再次修改apache配置文件,把如下開關打開 vi /usr/local/httpd220/conf/httpd.conf # Virtual hosts Include conf/extra/httpd-vhosts.conf # vi /usr/local/httpd220/conf/extra/httpd-vhosts.conf NameVirtualHost YourIp:80 DirectoryIndex index.jsp ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ ServerAdmin Yourname@DOMAIN ServerName YourIp ServerAlias www ErrorLog logs/YourIp-error_log CustomLog logs/YourIp-access_log common 4、啟動tomcat和apache # /usr/local/tomcat/bin/startup.sh 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.5.0_06 # /usr/local/httpd220/bin/apachectl restart 5、訪問測試 我們訪問http://YourIp/,看到什麼? 如果你能看到tomcat默認頁面,那麼恭喜你,tomcat和apache整合成功了。 第三章:Mysql連接池的加入及測試 下載最新的mysql-connector-java-3.1.12.tar.gz # tar xzvf mysql-connector-java-3.1.12.tar.gz # cd mysql-connector-java-3.1.12 # cp mysql-connector-java-3.1.12-bin.jar /usr/local/tomcat/common/lib # vi ~/.bash_profile 修改 CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 為 CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:/usr/local/tomcat/common/lib/mysql-connector-java-3.1.12-bin.jar 更新bash # . ~/.bash_profile 我們一會用剛才那個虛擬主機測試一下 # mkdir /usr/local/httpd220/htdocs/test # cd /usr/local/httpd220/htdocs/test # vi index.jsp 內容如下: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> 測試JSP頁面(Tomcat+MySQL) <%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql://localhost:3306/mysql?user=root&password=YorPass&useUnicode=true&characterEncoding=GB2312"; Connection conn= DriverManager.getConnection(url); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from user"; ResultSet rs=stmt.executeQuery(sql); %> <%while(rs.next()) {%> <%}%>
您的第一個欄位內容為: 您的第二個欄位內容為:
<%=rs.getString(1)%> <%=rs.getString(2)%>
<%out.print("Tomcat+JDK+mySQL完整測試,恭喜你,資料庫操作成功!");%> <%rs.close(); stmt.close(); conn.close(); %> # vi /usr/local/tomcat/conf/server.xml # vi /usr/local/httpd220/conf/extra/httpd-vhosts.conf 修改這個虛擬主機的配置為如下: DirectoryIndex index.jsp ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ ServerAdmin xu1701@hotmail.com ServerName 211.100.30.238 ServerAlias www ErrorLog logs/211.100.30.238-error_log CustomLog logs/211.100.30.238-access_log common 重新啟動tomcat和apache,訪問http://Your Ip/ 如果出現個錯誤頁面,提示 Host 'Your host name' is not allowed to connect to this MySQL server 那麼你只要在mysql下執行 mysql> grant all on *.* to root@ Your host name identified by "hahaha"; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 如果看到 您的第一個欄位內容為: 您的第二個欄位內容為: localhost root Your host name root Tomcat+JDK+mySQL完整測試,恭喜你,資料庫操作成功! 那麼恭喜你,一切OK,可以開始你的頁面設計和製作了。

[火星人 ] RHEL3U6下的MAP+TOMCAT+JDK+MYSQL連接安裝配置詳述已經有617次圍觀

http://coctec.com/docs/linux/show-post-203964.html