前言:前段時(shí)間,對公司前臺多機(jī)分布方案的做了一些探索,總結(jié)了一些東西,貼出來分享。類似內(nèi)容網(wǎng)上比較多,但是都不夠詳細(xì),我第一次弄時(shí)費(fèi)力不少,希望后來人可以更方便一些。

一. 編譯安裝apache
1) 從apache官網(wǎng)上下載apache最新的 release版本2.2.6
unix版本取httpd-2.2.6.tar.gz
2) 解開包
gunzip httpd-2.2.6.tar.gz
tar xvf httpd-2.2.6.tar
3) 編譯安裝
進(jìn)入解壓后的目錄httpd-2.2.6,依次執(zhí)行
./configure --prefix=/*要安裝apache的目錄*/ --enable-so
make
make install
成功后apache就安裝到前面指定的目錄了

二) 啟動apache
進(jìn)入apache安裝目錄
1) 修改apache/conf/httpd.conf
Listen 80 修改80為需要的端口如 11280
2) 啟動
進(jìn)入apache/bin/執(zhí)行: ./apachectl start
3) 打開瀏覽起訪問
http://ip: 11280

三) 編譯安裝resin

./configure --prefix=/data/aoxj/artest/resin --with-apxs=/data/aoxj/artest/apache/bin/apxs --with-apache=/data/aoxj/artest/apache
make
make install
上述操作除了編譯安裝resin外(其實(shí)不做這些操作,resin本身也是可以跑起來的),還會修改apache,包括:
1. copy mod_caucho.so到apache目錄(就是前面指定的--with-apache=/data/aoxj/artest/apache)的modules
2. 修改apache的配置文件conf/httpd.conf,自動增加以下內(nèi)容
LoadModule caucho_module ***/modules/mod_caucho.so
ResinConfigServer localhost 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes

四)配置resin
需要修改resin.conf文件

<cluster>
<srun server-id="a" host="192.168.0.1" port="6802"/>
<srun server-id="a" host="192.168.0.1" port="6802"/>
</cluster>

五)啟動resin
運(yùn)行resin/bin/httpd.sh
注意一定要加-server,否則resin啟動后是監(jiān)聽80/8080這樣的端口,而不是上面cluster設(shè)置里面的6802
./httpd.sh -server a start
這樣resin才會監(jiān)聽6802,建議手工telnet確認(rèn)一下。如果resin啟動不正確,后面apache啟動后訪問resin就會失敗,然后在頁面報(bào)503錯(cuò)誤。
以后stop/restart 時(shí)也需要加-server

六) 配置apache
確認(rèn)conf/httpd.conf文件中的以下內(nèi)容
1) LoadModule caucho_module ***/modules/mod_caucho.so
檢查mod_caucho.so是否存在
2) ResinConfigServer localhost 6802
這個(gè)ResinConfigServer只能出現(xiàn)一行,如果resin有多臺,請?jiān)谶@里指定的那臺resin配置文件中的<cluster>中配置其他機(jī)器的ip/port
3) CauchoConfigCacheDirectory /tmp
4)CauchoStatus yes

最后修改的配置為:

LoadModule caucho_module "/data/aoxj/artest/apache/modules/mod_caucho.so"
ResinConfigServer 192.168.0.1 6802
AddHandler caucho-request .action
CauchoConfigCacheDirectory /tmp
CauchoStatus yes

八)web訪問
啟動apache
用瀏覽器訪問apache的端口,注意不是訪問resin的端口