Linux - apache整合tomcat ( Ubuntu 14.04 x64)

最近要做個網站,想用JAVA寫,之前網站都是PHP做的,所以自己的服務器上已經搭建了了lamp,而Apache佔用了80端口,要用JAVA的話,我就要搭建一個tomcat,雖然tomcat默認是8080端口,但是正式上線的網站不可能使用8080的,但是如果要80端口又會衝突,所幸可以整合在一起,而且不麻煩。

以下我默認認爲你已經安裝好了Java jdk 不會的請走傳送門:安裝java jdk

安裝Apache

這一步很簡單,如果沒有Apache的話,直接裝tomcat好了。沒端口衝突。

sudo apt-get install apache2

安裝完之後,去配置下apache2的各種配置,不懂的話,就默認吧。
驗證方法:

127.0.0.1

網址看能不能打開頁面It Works!的。

安裝Tomcat

去官網找下載鏈接,然後在Ubuntu上用wget直接下載下來就好了。

http://tomcat.apache.org/download-80.cgi

傳送門~~ 找自己喜歡的版本,注意自己的JAVA jdk版本,如果太低tomcat也要用低版本,反正儘量用1.6 - 1.8左右的jdk吧 如果1.7以上就用tomcat 7就行了。

下載下來之後,解壓到任意你喜歡的文件夾,我是放到:

~/install/tomcat

下面了,大家看自己喜歡嘍。
然後配置環境變量:

TOMCAT_HOME = /home/alps/install/tomcat

請根據自己的路徑填寫TOMCAT_HOME路徑,儘量不要使用~這種符號代替,可以使用${HOME}這種環境變量代替小波浪。

然後打開tomcat試試:

cd ~/install/tomcat/bin

./startup.sh

然後地址欄輸入:

localhost:8080
//或者有域名可以輸入域名
www.your_domain.com

如果打開說明安裝正常了。

安裝mod-jk13

這個模塊就是爲了能夠讓apache和tomcat來交互的一個模塊,安裝方式很簡單:

sudo apt-get install libapache2-mod-jk

安裝好了之後在/etc/apache2/mods-enabled下會多出一個jk.load文件,重啓apache2後,apache自動
裝載這個文件以加載mod_jk.

sudo apachectl restart
//或者
sudo service apache restart

修改配置文件

jk.conf

需要修改配置文件jk.conf

/etc/apache2/mods-available/jk.conf

使用你想用的編輯工具( 還是vim把)

//指出mod_jk模塊工作所需要的工作文件workers.properties的位置
JkWorkersFile /etc/apache2/workers.properties

//Where to put jk logs
JkLogFile /var/log/mod_jk.log

//將所有請求都讓tomcat來處理
JkMount /* worker1
這個請慎重選擇,一般不要填寫這個,後面會在apache的配置文件來配規則的

修改完jk.conf之後,需要修改workers.properties

workers.properties

這個文件在上一步指定了路徑了,找到文件,然後打開。

cd /etc/apache2/
//然後
vim workers.properties

需要配置的是:

workers.tomcat_home=這裏填寫你tomcat_home的路徑
workers.java_home=/usr/lib/jvm/jdk...//填寫你的Java jdk home路徑
workers.list=ajp13_worker,jk-status,jk-manager //這裏加上jk-status,jk-manager這兩個記住前面這個ajp13_worker名字

然後保存關閉
:wq

配置apache域名攔截規則

首先我們要修改文件:/etc/apache2/site-available/000-default.conf文件。

如果你設置過二級域名,那這裏會有很多類似:

<VirtualHost *.80>
    ServerAdmin [email protected]
    ServerName test.domain.com
    DocumentRoot "/var/www/test"
    <Directory "/var/www/test">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

這種是apache用來配置二級域名的規則,如果你配置過二級域名,那麼就在你要攔截的域名配置規則裏,</VirtualHost>結束標籤之前來添加如下內容:

JkUnMount /*.html ajp13_worker
JkMount /*.jsp ajp13_worker

//上面的JkUnMount是告訴apache什麼樣的規則不需要使用tomcat來解析
//因爲apache在靜態資源的解析上比tomcat要快,所以這裏對於html jpg js這種資源統一使用apache
//對於.jsp文件就使用tomcat來進行工作

配置tomcat二級域名

因爲我們的網站在不同的文件夾下,不可能只有一個文件夾,所以我們同時要在tomcat下配置一個二級域名來讓tomcat知道我們應該去哪裏找jsp文件。
因爲默認tomcat會去自己的TOMCAT_HOME下找到webapp/ROOT下的jsp文件,所以我們配置一下$TOMCAT_HOME/conf/server.xml文件。

在文件server.xml裏最下面</Engine>前面添加:

<Host name="test.domain.com" appBase="/var/www/test" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
</Host>

這裏把test.domain.com換成你想要的二級域名,然後appBase的路徑也一樣就可以了。

以上

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章