一、環境說明
1、Window XP
2、apache_2.2.11-win32-x86-no_ssl.msihttp://httpd.apache.org/
3、Mod_jk-1.2.28-httpd-2.2.3.sohttp://tomcat.apache.org/download-connectors.cgi
4、apache-tomcat-6.0.18.ziphttp://archive.apache.org/dist/tomcat/tomcat-6/v6.0.18/src/
5、mysql-5.5.15-win32.msihttp://www.mysql.com/
6、php-5.4.35-Win32-VC9-x86http://windows.php.net/download/#php-5.4-ts-VC9-x86
7、jdk-7-ea-bin-b134-windows-i586-17_mar_2011
http://www.oracle.com/technetwork/java/javase/downloads/index.html
打包下載地址:
http://download.csdn.net/detail/itas109/8226595
我的程式分別安裝到
D:\webserver\Apache2.2
D:\webserver\PHP5
D:\webserver\Tapache-tomcat-6.0.18
二、程式安裝
Ⅰ、Apache安裝
註:本例只截取需要注意的,其它預設則不顯示。
1.伺服器資訊可以按照預設配置,如果伺服器的80連接埠沒被其他伺服器程式佔據。可選“for All Users,on Port 80,as a Service?Recommended.”如果僅為目前使用者使用,使用8080連接埠,手動啟動,選擇“only for the Current User, onPort 8080, when started Manually.”。連接埠號碼是可以通過設定檔進行修改的。
2.“Typical”為預設安裝,“Custom”為使用者自訂安裝。
可以選擇“Change”來更改預設安裝路徑,本例按預設安裝。
註:如果你安裝後服務管理列表中沒有出現apache的服務項就說明在安裝過程中出現了錯誤,這時候可以手動進行安裝。
使用cmd進入D:\webserver\Apache2.2\bin這是我本機安裝的目錄, 並執行httpd -k install命令,提示成功後即可在服務管理列表中看到apache服務。
3.運行
如果上面選得連接埠是8080,就輸入http://localhost:8080/。
如果是80連接埠,就輸入http://localhost/。
Ⅱ、MySQL安裝
1.根據需要修改路徑,預設安裝即可,主要是MySQL配置。
2.選擇配置方式:“DetailedConfiguration(手動精確配置)”、”Standard Configuration(標準配置)”,選擇“Detailed Configuration”,
3. 選擇伺服器類型,“Developer Machine(開發測試類別,mysql佔用很少資源)”、“Server Machine(伺服器類型,mysql佔用較多資源)”、“Dedicated MySQL Server Machine(專門的資料庫伺服器,mysql佔用所有可用資源)”,一般選擇“Server Machine”。 可根據實際情況進行選擇。
4. 選擇mysql資料庫的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(伺服器類型,專註於交易處理,一般)”、“Non-Transactional Database Only(非交易處理型,較簡單,主要做一些監控,記數用,對MySAM資料類型的支援僅限於non-transactional)”,選擇“Transactional Database Only”,本例選擇的是通用多功能型。
5. 對InnoDB Tablespace進行配置,就是為InnoDB資料庫檔案選擇一個儲存空間,如果修改了,要記住位置,重裝的時候要選擇一樣的地方,否則可能會造成資料庫損壞,當然,對資料庫做個備份就沒問題了。使用預設位置。
6. 選擇網站的一半mysql訪問量,同時串連的數目,“Decision Support(DSS)/OLAP(20個左右)”、“Online Transaction Processing(OLTP)(500個左右)”、“Manual Setting(手動設定,自己輸一個數)”,選擇“Online Transaction Processing(OLTP)”。根據自己需要選擇,這裡選擇手動設定。
7. 是否啟用TCP/IP串連,設定連接埠,如果不啟用,就只能在自己的機器上訪問mysql資料庫,選擇“Enable TCP/IP Networking”是否啟用TCP/IP串連,設定連接埠,如果不啟用,就只能在自己的機器上訪問mysql資料庫,選擇“Enable TCP/IP Networking”。
8. 設定資料庫語言編碼,“Standard Character Set”為西文編碼、“Best SupportFor Multilingualism”為RTF-8編碼、“ManualSelected Default Character Set/Collation”為手動設定編碼,這裡選擇utf8。
9.”Install As Windows Service”選擇安裝MySql服務,可自訂服務的名稱。
“Include Bin Directory in Windows PATH”是在機器上添加MySql的環境變數。
10. 選擇“Modify Security Settings”,可根據實際要求勾選上“Enableroot access from remote machines”以便能夠從其他機器上訪問。
11.完成配置後點擊“Execute”執行配置即可。
MySql安裝操作已完成。
測試MySql
Ⅲ、PHP安裝
1、將E:\Program Files\PHP中的php.ini-dist複製為php.ini。
如果沒有php.ini-dist檔案可使用php.ini-development檔案並更改名稱為php.ini(留個備份,好習慣)
php.ini-development 開發用的
php.ini-produciton 生產機用的
2、開啟D:\webserver\PHP5\php.ini修改下列語句行:
3、extension_dir = "D:\webserver\PHP5\ext"
4、default_charset="utf-8"
5、將extension=php_exif.dll、php_gd2.dll、php_imap.dll、php_mbstring.dll、php_mcrypt.dll、php_mime_magic.dll、php_mysql.dll、php_mysqli.dll、php_pdf.dll前面的分號“;”去掉。
6、在【環境變數】的【Path】中加入:; D:\webserver\PHP5; D:\webserver\PHP5\ext兩個值。
7、其它配置
a、在寫php程式中有時會出現這樣的警告:PHP Warning: date(): It is not safe to rely on the system's timezonesettings. You are *required* to use the date.timezone setting or thedate_default_timezone_set() function. In case you used any of those methods andyou are still getting this warning, you most likely misspelled the timezoneidentifier. We selected 'UTC' for '8.0/no DST' instead in D:\xxx\xxx\xxx.php online 10 。這是因為PHP所取的時間是格林威治標準時間,所以和你當地的時間會有出入格林威治標準時間和北京時間大概差8個小時左右,我們可以按照下面的方法解決:
①在頁頭使用date_default_timezone_set()設定我的預設時區為北京時間,即就可以了。
②在php.ini中設定date.timezone的值為PRC,設定好以後的為:date.timezone=PRC,同時取消這一行代碼的注釋,即去掉前面的分號就可以了。
8、httpd.conf的配置:
httpd.conf檔案的位置:D:\webserver\Apache2.2\conf
這是我本機安裝的目錄。註:網上有好多教程說需要把php目錄下的某某dll檔案拷貝到system32下,其實這是不必要的,只需要在httpd.conf中載入php模組即可。
添加並修改下列語句行:
LoadModule php5_module "E:/PHP5/php5apache2_2.dll" PHPIniDir "E:/Program Files/PHP5"AddType application/x-httpd-php .php.phtml
注意:
① 如果你在連結MySql資料庫的時候出現
Fatal error: Call to undefinedfunction mysql_connect() in C:\xxxxx.php
那就是因為你沒有增加此屬性。
② 如果php安裝目錄裡沒有php5apache2_2.dll,一定是下載的版本不對。
應該是php-5.4.35-Win32-VC9-x86
預設路徑和預設index可以根據自己需要修改
注意:Apache Windows設定檔httpd.conf中要求的目錄分隔字元是用斜線”/”,而PHP Windows設定檔php.ini中書寫目錄時要求的是反斜線”\”,不要弄混了。
配置測試,在指定的目錄(預設為htdocs)中建立index.php 列印php配置資訊。
代碼為
運行效果 其中mysql、mysqli載入之後表示可以與mysql串連了
Ⅳ、tomcat與Apache整合
1、為什麼需要整合?
整合的最主要原因是為了在現有的硬體條件下提供最大的負載。
如果單獨使用Tomcat做JSP伺服器,在工作效率上會存在問題,Tomcat處理靜態HTML的能力不如Apache,並且所能承受的最大並發串連數也有一定的限制;
在測試中,當並發串連較多時,Tomcat就會處於“僵死”狀態,對後繼的請求串連失去響應。所以現在提出一個“整合”解決方案:將html與jsp的功能部分進行明確分工,讓tomcat只處理jsp部分,其它的由apache這個web
server處理。Apache與Tomcat各司其職,那麼伺服器的整體效率就能夠得到提升。
因為我們做網站的時候不光需要PHP,還會用到JSP等,也需要tomcat與Apache整合。
2、java環境配置
Jsp運行必須呀java的支援
安裝包正常安裝,完成後進行環境變數配置。
在”我的電腦”的環境變數中,添加JAVA系統變數;具體操作是在“系統變數”地區建立變數名為“JAVA_HOME”的變數,變數值為JDK的安裝路徑,如“D:\Program Files\Java\jdk1.7.0”;接著將JAVA_HOME添加到系統變數Path之中,方法是編輯開啟系統變數Path,在原有的變數值前添加雙引號內的代碼“%JAVA_HOME%/bin;”,其中的分號起分隔作用,不可缺少。
在cmd中運行javac,成功安裝會出現資訊。
3、tomcat環境配置
我們採用的是免安裝版的tomcat,直接解壓到D:\webserver。
在我的電腦->屬性->進階->環境變數->系統變數中添加以下環境變數(假定你的tomcat安裝在D:\webserver\apache-tomcat-6.0.18):
CATALINA_HOME: D:\webserver\apache-tomcat-6.0.18
CATALINA_BASE: D:\webserver\apache-tomcat-6.0.18
TOMCAT_HOME: D:\webserver\apache-tomcat-6.0.18
接著可以啟動tomcat,在IE中訪問http://localhost:8080,如果看到tomcat的歡迎頁面的話說明安裝成功了。
4、Apache和tomcat整合
a. 將mod_jk-1.2.28-httpd-2.2.3.so複製到D:\webserver\Apache2.2\modules(我的apache安裝目錄)
b. 建立 workers.properties 檔案,內容如下:
workers.tomcat_home=D:\webserver\apache-tomcat-6.0.18#讓mod_jk模組知道Tomcat的位置workers.java_home=D:\ProgramFiles\Java\jdk1.7.0 #讓mod_jk模組知道jre的位置 worker.list=ajp13 #模組版本worker.ajp13.port=8009 #工作連接埠,若沒佔用則不用修改worker.ajp13.host=localhost #本機,若上面的Apache主機不為localhost,作相應修改worker.ajp13.type=ajp13 #類型worker.ajp13.lbfactor=1 #代理數,不用修改
拷貝到D:\webserver\apache-tomcat-6.0.18\conf\jk下,這是我tomcat的安裝目錄。
c. 在apache的httpd.conf的內容底部添加配置:
#tomcatLoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.soJkWorkersFile"D:/webserver/apache-tomcat-6.0.18/conf/jk/workers.properties"JkLogFile"D:/webserver/apache-tomcat-6.0.18/logs/mod_jk2.log"JkLogLevel info ServerAdmin @hbu.cn#DocumentRoot D:/ServerName localhostDirectoryIndex index.html index.htm index.jspErrorLog logs/shsc-error_log.txtCustomLog logs/shsc-access_log.txt commonJkMount /servlet/* ajp13JkMount /*.jsp ajp13JkMount /*.do ajp13
配置完畢,經測試apache將jsp,servlet,.do請求都交由tomcat處理。其他檔案由apache處理,因為apache的穩定性和
安全性,以及相對於tomcat而言快速的靜態頁處理速度,也可以提高網站的負載能力,前提是網站的靜態頁比較多,例如做了靜態化。
d.apache和tomcat目錄統一
這裡統一為tomcat的目錄
在D:\webserver\Apache2.2\conf下開啟httpd.conf
找到DocumentRoot和Directory設定為tomcat的預設路徑
5、tomcat效能最佳化
a.線程池最佳化
為了提高網站的訪問效能,我們往往會在伺服器端選擇合適的部署環境。最簡單的就是一個tomcat了,但是在高並發的情況下,非常
容易當機。因為tomcat配置的不最佳化。我最早也沒有注意這些細節,因為我知道一個項目的效能不是通過搭建環境體現的,而是演算法的高效,代碼實
現的合理性,以及資料庫的合理使用,最佳化技術的使用等等。不過通過最佳化部署環境應該說是最直接的一種方案了。目前我知道的一種tomcat最佳化
方案是使用tomcat線程池。只需要在server.xml中改改配置就可以了。核心配置代碼:
參考文獻:
1、PHP環境(apache,PHP,Mysql)詳細配置方法
http://blog.csdn.net/jt521xlg/article/details/7533477
2、Apache2.2.11+Tomcat6.0.18整合與實戰筆記、Tomcat的最佳化交流
http://www.cnblogs.com/shiyangxt/archive/2009/08/03/1537842.html
3、在windows XP下搭建Apache+Tomcat+JSP+PHP+MYSQL環境
http://blog.csdn.net/annkie/article/details/7588033
4、Apache與Tomcat叢集配置
http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html
5、tomcat環境變數的配置
http://www.cnblogs.com/mingforyou/archive/2012/04/04/2432025.html
6、Windows環境配置Apache+Mysql+PHP
http://www.cnblogs.com/homezzm/archive/2012/08/01/2618062.html