Apache 和tomcat 的環境搭建 (修正版)

寫在前面的話 之前的版本有很多地方的錯誤 現在終於弄好了 把這個坑填上吧
注 tomcat下有個wrapper的文檔 這個文檔也是下面的文件路徑指向的地方 這個文檔的作用就是將web項目正式的部署到服務器上的路徑 我記得在測試的時候 如果不是這個目錄下的web項目是不可以啓動的 所以爲了簡潔 所有項目都部署到該目錄下 當然爲了減少對tomcat的滲透 最好的辦法就是重新新建一個目錄然後在將路徑指向該文件 至於我爲什麼不做 因爲懶啊

==========

首先確認下版本 tomcat7 apache2.4
因爲apache2.4和apache2.2有不小的改變 所以網上很多東西 你丫的寫博客說一半玩蛋呢!—–依舊是廢話的小尾巴

apache主要修改的就是這個文件C:\Apache24\conf\httpd.conf 因爲我自己做環境的時候用了ssl加密的設置 所以某些端口可能不一樣 自己注意

DocumentRoot "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps"
//首先是這個項   這裏的作用是將你放置在該目錄的項目生效成web項目

<Directory "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps">//這裏的配置文件主要是配
//置項目的請求權防止出現403的請求錯誤  如果配置錯誤 也會出現
//404錯誤 同時要注意這裏的配置必須和下面tomcat的解析目錄一致!
// 這個最重要 否則會出現apache地址無法解析jsp頁面的錯誤


//同時這裏有一個小bug

Options FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
//上述四個選項是2.2 版本的 2.4版本發生了下面的變化

//Order allow,deny Allow from all 被整合成Require all granted

//所以修改成
Options Indexes FollowSymLinks//我還是忘了 去查百度
AllowOverride all//忘記了 去查百度吧 其實修改的是這裏 以前默認的是none
Require all granted//所有的請求都可以訪問  

//這裏還有安全的配置 用#註釋掉Options FollowSymLinks indexes就好了 如果找不到 可能是版本的原因  反正我沒管

//現在是關鍵的配置

LoadModule jk_module modules/mod_jk.so//載入模塊

JKWorkersFile conf/workers.properties//載入模塊式的配置文件

JkLogFile logs/mod_jk.log//日誌輸出

//上述的很簡單 主要是下面的

//這裏創建了一個虛擬的host 或許可能不理解啥意思  我的理解就
//是創建了一個tomcat的虛擬主機 地址就是當前機子的IP和端口 
// 這裏說明一下我的沒有改IP和端口 都是默認的地址 80 8080
// 8009  這些沒有改動過 自己注意下自己的端口

<VirtualHost *>

ServerName  localhost

DocumentRoot  "C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps"//這個和上面那
//個DocumentRoot  要一致 否則會有各種奇怪的羞羞的小bug出現

DirectoryIndex index.html index.htm index.jsp index.action//這裏有點小問題 其實我也不是很懂 反正是這麼設
//置的 有問題以後再說吧

//  很多情況下,URL中並沒有指定文檔的名字,而只是給出了一個
//目錄名(不一定是根目錄,有可能是欄目的目錄)。那麼Apache服
//務器就自動返回這個目錄下由DirectoryIndex定義的文件,當然
//可以指定多個文件名字,系統會這個目錄下順序搜索。當所有由
//DirectoryIndex指定的文件都不存在時,Apache服務器可以根據
//系統設置,生成這個目錄下的所有文件列表,提供用戶選擇。此時該
//目錄的訪問控制選項中的Indexes選項(Options Indexes )必
//須打開,以使得服務器能夠生成目錄列表,否則Apache將拒絕訪問。

//注意的一點是,Apache的配置選項DirectoryIndex不止針對根目
//錄,也針對二級目錄,就是說如果URL是一個網站下面的一個目錄,
//但沒有指定是訪問這個網站的哪個文件時,Apache服務器也會按照
//DirectoryIndex指定的順序搜索,打開存在的頁面。

//#下面的一行是有關虛擬主機默認起始頁配置的,各起始頁之間以空
//格分隔,建議指定,否則採用全局設置 

//DirectoryIndex index.html index.htm index.php

//注意的是,DirectoryIndex不止針對主服務器做全局配置,也可
//以對某個虛擬主機單獨配置,使用的語法一樣。

ErrorLog logs/shsc-error_log.txt

CustomLog logs/shsc-access_log.txt common



JkMount /*WEB-INF tomcat//注意這裏的tomcat要和works.properties中的worklist名字一樣一致 其實都是自定義的
//名字但是要一致 否則各種小bug等着你哦

JkMount /*j_spring_security_check tomcat

JkMount /*.action tomcat

JkMount /servlet/* tomcat

JkMount /*.jsp tomcat

JkMount /*.do tomcat

JkMount /*.action tomcat

</VirtualHost>

//其實這裏也可以再vhost文件中設置 同時解除這個文件vhost 
//model的註釋 但是我覺得那個步驟很煩人 同樣的你也可以把那些
//交給tomcat解析的配置單獨作成一個配置文件然後在httpd.conf
//中加載 就是include那個命令 具體的百度吧

//這個works.properties的配置 這個是新建的文件

workers.tomcat_home=C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0  //註釋tomcat的位置
workers.java_home=C:\Program Files (x86)\Java\jre7

ps=/  //文檔隔開符 沒有打錯 就是這個!

worker.list=tomcat  //自定義 記得和httpd.conf中的tomcat一致
worker.tomcat.type=ajp13  //ajp13 是個協議  
worker.tomcat.host=localhost   
worker.tomcat.port=8009  //監聽的端口
worker.tomcat.socket_keepalive=1   //忘記了
worker.tomcat.socket_timeout=300   //多少秒之後斷開
worker.tomcat.lbfactor=1 //負載平衡級別

//同時在tomcat的server.xml中添入下列語句 
//指向apache 如果不加這一句 
//就會解析tomcat的root下的默認目錄 但是apache不解析動態數據 
//所以只會是一些數字字母而沒有圖片

<Context docBase="C:\Apache24\htdocs" crossContext="true" path="" reloadable="true" /> 



//其實後面3個配置感覺沒多大用 如果只是很小的量來測試的話

//然後就是測試了 首先在localhost下訪問apache 和8080端口的
//指向是一致的 然後就是在localhost/testfile/index.jsp能
//夠成功訪問就是成功了 當然這個也是自己創建的測試頁面

//因爲有ssl協議 我在host下稍微修改了下地址  就是

本機IP  www.ccav.com  


--------------

附錄   

//修改tomcat默認啓動的工程,我們知道,tomcat默認輸入
//http://localhost:8080/會進入到默認的tomcat歡迎頁面,也就是存放在
//$tomcat/webapps/ROOT,想改變默認工程路徑,就要修改
//$tomcat/conf/server.xml文件 

//1、直接將web工程放在tomcat的webapps文件夾下面,前提是你的工程裏面都是已經編譯好的,例如自己的工程的文件夾爲myapp; 


//2、在config文件夾下修改server.xml,在裏面的<host ...>....</host>元素中添加 

<Context path="" debug="0" docBase="myapp" reloadable="true"/> 


//3,重新啓動tomcat,輸入http://localhost:8080/ 就會進入到myapp的工程路徑下! 


//更改端口:若想外網通過地址就能訪問,則在80端口開放的同事,將port改成80 

<Connector port="8080" maxThreads="150" minSpareThreads="25" 

maxSpareThreads="75" enableLookups="false" redirectPort="8443" 

acceptCount="100" debug="0" connectionTimeout="20000" 

disableUploadTimeout="true" />


//當然也可以這麼做

//創建此文件:
${CATALINA_BASE}/conf/catalina/localhost/ROOT.xml
ROOT.xml
{code="xml"}
<Context docBase="your_webapp_path" /> 
{code}

CATALINA_BASE 就是tomcat的安裝路徑  具體的修改看前篇










發佈了49 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章