Apache+tomcat+jdk+jk安裝配置

發表于:2007-06-08來源:作者:點擊數: 標簽:
Apache+tomcat+jdk+jk安裝 一.下載軟件: 下載apache: http://httpd.apache.org/download.cgi 下載tomcat: http://jakarta.apache.org/site/binindex.cgi 下載jdk: http://java.sun.com/j2se/downloads/index.html 下載jk: http://jakarta.apache.org/s

Apache+tomcat+jdk+jk安裝
一. 下載軟件:
下載apache:
    http://httpd.apache.org/download.cgi
下載tomcat:
    http://jakarta.apache.org/site/binindex.cgi
下載jdk:
    http://java.sun.com/j2se/downloads/index.html
下載jk:
    http://jakarta.apache.org/site/binindex.cgi
sco unix下載:
HTTP: http://www.sco.com/download
FTP:  ftp://ftp.sco.com/pub/openserver5
二. 安裝配置apache
安裝:略
配置:
1. 編輯./conf/httpd.conf文件
windows加入:
LoadModule vhost_alias_module modules/mod_vhost_alias.so(去掉#號)
LoadModule jk2_module modules/mod_jk2.so
DirectoryIndex index.html index.html.var index.htm index.jsp(原有補充)
DefaultLanguage .zh-cn(原有修改)
AddDefaultCharset GB2312(原有修改)
NameVirtualHost 192.168.1.122:80
<Directory ~ "/WEB-INF/"> (代替workers2.properties文件中uri和worker)
    Order allow,deny 
    Deny from all 
</Directory>
<VirtualHost 192.168.1.152:80>
    ServerAdmin jiupima@163.com
    DocumentRoot "D:/web/Tomcat 5.0/webapps/sh_abc"
    ServerName www.sh_abc.com(無域名服務直接加ip地址)
    ErrorLog logs/ sh_abc.com-error_log
    CustomLog logs/ sh_abc.com-aclearcase/" target="_blank" >ccess_log common
    <Location "/*.jsp">(用ajp13協議將*.jsp文件交由tomcat處理)
      JkUriSet worker ajp13:localhost:8009
    </Location>
</VirtualHost>
           Sco unix加入:
LoadModule vhost_alias_module libexec/mod_vhost_alias.so(去掉#號)
LoadModule jk_module libexec/mod_jk.so(sco507下屏蔽conf/cf.d/tomcat文件中已有配置)
AddModule mod_jk.c (sco507下屏蔽conf/cf.d/tomcat文件中已有配置)
DirectoryIndex index.html index.htm index.jsp(原有補充)
NameVirtualHost 192.168.1.122:80
<VirtualHost 192.168.1.122:80>
    ServerAdmin jiupima@163.com
    DocumentRoot "/usr/lib/apache/tomcat/webapps/sh_abc"
    ServerName www.sh_abc.com(無域名服務直接加ip地址)
    ErrorLog logs/ sh_abc.com-error_log
    CustomLog logs/ sh_abc.com-access_log common
</VirtualHost>
include /usr/lib/apache/conf/cf.d/tomcat
2. 編輯workers2.properties文件(windows下)
    [shm]
file=D:\web\apache\Apache2\logs\shm.file
size=1048576
[channel.socket:localhost:8009] 
port=8009
host=127.0.0.1
[ajp13:localhost:8009] 
channel=channel.socket:localhost:8009 
[uri:/sh_abc/*] 
worker=ajp13:localhost:8009
         3. 編輯/conf/cf.d/tomcat文件(unix下)
            # Update this path to match your conf directory location
JkWorkersFile /usr/lib/apache/tomcat/conf/workers.properties
            # the /sh_abc context
Alias /sh_abc "/usr/lib/apache/tomcat/webapps/sh_abc"
<Directory "/usr/lib/apache/tomcat/webapps/sh_abc">
              Options Indexes FollowSymLinks
</Directory>
# Send everything for context /sh_abc to worker named worker1 (ajp13)
JkMount /*.jsp worker1(支持輸入:http://ip)
JkMount /init_servlet worker1
JkMount /trad_servlet worker1
JkMount /mid_servlet worker1
JkMount /sh_abc/*.jsp worker1(支持輸入:http://ip/sh_abc)
JkMount /sh_abc/init_servlet worker1
JkMount /sh_abc/trad_servlet worker1
JkMount /sh_abc/mid_servlet worker1
# The following line prohibits users from directly accessing WEB-INF
<Location ~ "/WEB-INF/">
              AllowOverride None
              deny from all
</Location>
三. 安裝配置tomcat
安裝:略
配置:
1. 先安裝jdk。
2. 編輯server.xml文件
在<Host/>中加入:
<Context path="/sh_abc" docBase="sh_abc" debug="0" 
reloadable="true" crossContext="true"/> 
<Context path="" docBase="sh_abc" debug="0" 
reloadable="true" crossContext="true"/>
3. 編輯jk2.properties文件
    handler.list=channelSocket,request
channelSocket.port=8009
4.       編輯workers.properties文件(unix下,一般用默認值)
四. 安裝配置jdk
安裝:略
配置:略
五. 安裝配置jk
安裝:略
配置:
1. 拷貝mod_jk.so(mod_jk2.so)到apache的libexec(modules)目錄下
2. 在apache的httpd.conf中加入mod_jk.so(mod_jk2.so)
3. 編輯tomcat的jk2.properties文件
4. 編輯apache的workers2.properties文件(windows下) 
5. 編輯apache的/conf/cf.d/tomcat文件(unix下)
六. 環境配置
windows:在“系統屬性”里面->“高級”->點“環境變量”按鈕,如果你希望所有用戶都能用,就建立在“系統變量”里面,點“新建”按鈕,變量名是 “JAVA_HOME”,變量值是你安裝java的路徑 D:\web\java\jdk1.5.0 ,然后編輯path變量,在變量值最后加上;%JAVA_HOME%\bin
sco unix:編輯.profile文件
JAVA_HOME=/usr/java
CATALINA_HOME=/usr/lib/apache
PATH=$ JAVA_HOME /bin:$CATALINA_HOME/bin:PATH
export JAVA_HOME CATALINA_HOME PATH
七. Sco unix 下服務自啟動與停止配置
自啟動編輯文件/etc/rc2.d/S99WEBSERV(文件名自定義)
JAVA_HOM=/usr/java
CATALINA_HOME=/usr/lib/apache/tomcat
/usr/lib/apache/bin/apachectl start
/usr/lib/apache/tomcat/bin/startup.sh
echo "apache tomcat has been started !"
自停止編輯文件/etc/rc0.d/P99WEBSERV(文件名自定義)
JAVA_HOMa=/usr/java
CATALINA_HOME=/usr/lib/apache/tomcat
/usr/lib/apache/bin/apachectl stop
/usr/lib/apache/tomcat/bin/shutdown.sh
echo "apache tomcat has been stoped !"
一般格式
su - 用戶名 –c “命令”
八. 其它問題
sco 507中不能啟動apache
報錯Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName,原因是/etc/hosts和/etc/hosts.equiv文件中主機域名與apache主機域名不同導致取不到ip,在logs中查看主機域名
報錯Syntax error on line 1110 of /usr/lib/apache/conf/cf.d/httpd.conf:Invalid command  'JkUriSet', perhaps mis-spelled or defined by a module not included in the server configuration,原因未知,httpd.conf中去除行JkUriSet worker ajp13:localhost:8009
報錯module mod_jk.c is already added, skipping,去除conf/cf.d/tomcat中加載mod_jk.so和mod_jk.c兩行,移到conf/httpd.conf中加載即可
tomcat顯示中文問題,在jsp文件中加入一行:<%@ page contentType="text/html;charset=gb2312" %>即可。html文件顯示中文加入<meta http-equiv="Content-Type" content="text/html; charset=gb2312">不管用,需要apache顯示,結合起來就沒問題了。
sco507打了mp3包后,記不請是tomcat還是apache的配置文件上有個錯誤,好像是拼寫錯誤,我改了后來又忘了在什么地方
九. 自動保持常啟動狀態
腳本如下:
str=’ps –ef | grep 程序名’
if [ “x$str” = “x” ]
  then echo “程序名 錯誤 !”
      su - 用戶名 –c “程序名”
else echo “程序名 正常 !”
        fi
在root用戶的 crontab 序列中加入:0 0 * * * /u/用戶名/腳本程序.sh

 jiupima 回復于:2004-11-18 17:06:14
cron 系統調度進程??梢允褂盟诿刻斓姆歉叻遑摵蓵r間段運行作業,或在一周或一月 
中的不同時段運行。(相當有用的一個命令,功能最強大。) 
At at命令。使用它在一個特定的時間運行一些特殊的作業,或在晚一些的非負荷高峰時 
間段或高峰負荷時間段運行。 
& 使用它在后臺運行一個占用時間不長的進程。(大家應該經常用吧。) 
Nohup 使用它在后臺運行一個命令,即使在用戶退出(注意這點)時也不受影響。 
一.crontab命令 
crontab命令的一般形式為: 
crontab [-u user] -e -l -r 
其中: 
-u 用戶名。如果使用自己的名字登錄,就不用使用-u選項。 
-e 編輯crontab文件。不帶-u選項可以編輯自己的crontab文件。 
-l 列出crontab文件中的內容。不帶-u選項可以列出自己的crontab文件的內容。 
-r 刪除crontab文件。小心使用哦。 

crontab文件(各個用戶的這個文件放在/var/spool/cron/crontab/目錄中,以用戶名來區別。) 
每個條目中各個域的意義和格式如下。 
下面就是這些域: 
第1列分鐘1~59 
第2列小時1~23(0表示子夜) 
第3列日1~31 
第4列月1~12 
第5列星期0~6(0表示星期天) 
第6列要運行的命令 

例子(注意:提交此命令會覆蓋原來的文件,使用之前請做好備份。): 
30 21* * * /apps/bin/cleanup.sh 
上面的例子表示每晚的21:30運行/apps/bin目錄下的cleanup.sh。 
45 4 1,10,22 * * /apps/bin/backup.sh 
上面的例子表示每月1、10、22日的4:45運行/apps/bin目錄下的backup.sh。 
10 1 * * 6,0 /bin/find -name "core" -exec rm {} \; 
上面的例子表示每周六、周日的1:10運行一個find命令。 
0,30 18-23 * * * /apps/bin/dbcheck.sh 
上面的例子表示在每天18:00至23:00之間每隔30分鐘運行/apps/bin目錄下的dbcheck .sh。 
0 23 * * 6 /apps/bin/qtrend.sh 
上面的例子表示每星期六的11:00pm運行/apps/bin目錄下的qtrend.sh。 

既然是用戶向cron提交了這些作業,就要向cron提供所需的全部環境。要保證在shell腳本中提供所有必要的路 

徑和環境變量,除了一些自動設置的全局變量。 


二.at命令 
at命令允許用戶向cron守護進程提交作業,使其在稍后的時間運行。如果你希望在一個月或更長的時間以后運 

行,最好還是使用crontab文件。 
at命令的基本形式為: 
at [-f script] [-m -l -r] [time] [date] 
其中, 
-f script 是所要提交的腳本或命令。 
-l 列出當前所有等待運行的作業。atq命令具有相同的作用。 
-r 清除作業。為了清除某個作業,還要提供相應的作業標識(ID);有些UNIX變體只 
接受atrm作為清除命令。 
-m 作業完成后給用戶發郵件。 
time at命令的時間格式非常靈活;可以是H、HH.HHMM、HH:MM或H:M,其中H和M分別是小時和分鐘。還可以使用 

a.m.或p.m.。 
date 日期格式可以是月份數或日期數,而且at命令還能夠識別諸如today、tomorrow這樣 
的詞。 

使用at命令提交作業有幾種不同的形式,可以通過命令行方式,也可以使用at命令提示符。 

三.&命令 
該命令的一般形式為: 
命令 & 
注意:需要用戶交互的命令不要放在后臺執行,因為這樣你的機器就會在那里傻等。 

四.nohup命令 
如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那么可以使用 
nohup命令。該命令可以在你退出帳戶之后繼續運行相應的進程。 
該命令的一般形式為: 
nohup command & 


后臺運行命令對于每天都運行的機器很有用,特別是對于我們這些懶的系統維護人員,可以減少我們的工作量,也可以避免某天忘記做什么重要的事情了。

 jiupima 回復于:2004-11-18 17:10:18
費了這么大功夫,不精華對不起我眼睛,如果我帖子對你有了點幫助,就頂頂讓大家都看到??!

 sdccf 回復于:2004-11-18 17:33:44
這么好的帖子當然要加精華了!

 UnKnow365 回復于:2004-11-18 21:53:43
先收藏!需要的時候再拉出來看看。

 納蘭婷 回復于:2004-11-18 22:51:17
好帖~~~收藏。。。。

 md1204 回復于:2004-11-18 22:55:48
安裝這個有什么用,是做什么的,請指教

 nomad79 回復于:2004-11-19 03:18:01
到網上找了一點點資料,配了一下,發現從apache連接過去,tomcat首頁的圖片顯示不出來,直接連tomcat沒有這個問題,樓主幫我一并回答一下吧,頂,加精了。

 jiupima 回復于:2004-11-19 08:32:16
[quote:8a89fc306e="md1204"]安裝這個有什么用,是做什么的,請指教[/quote:8a89fc306e]
是做http服務器的,apache功能靈活多樣,但不支持jsp等動態內容;tomcat建立在jdk基礎上,能很好的支持jsp網頁,但對html靜態網頁響應略慢,兩者配合是目前最多的用法;而jk是apache和tomcat的連接器。
不對或不詳細的地方請高手指點。

 jiupima 回復于:2004-11-19 08:37:08
[quote:3232478549="nomad79"]到網上找了一點點資料,配了一下,發現從apache連接過去,tomcat首頁的圖片顯示不出來,直接連tomcat沒有這個問題,樓主幫我一并回答一下吧,頂,加精了。[/quote:3232478549]

如果你的apache和tomcat單獨能正常啟動,那么請檢查:
1.將apache的配置文件httpd.conf中,你使用的DocumentRoot配置為tomcat的webapps下你使用的目錄。
2.確認jk安裝成功。

 jiupima 回復于:2004-11-19 15:09:34
假定我們的集成目標是: 
1. 所有的靜態資源由Apache處理 
2. 所有的動態資源由Tomcat處理 
配置Tomcat 
apache和tomcat整合大致上有三種方式: 
1. 在apache進程中運行tomcat來處理動態內容 
2. 通過ajp13協議,apache將動態內容的請求轉發給tomcat 
3. 使用本地高速Unix domain socket,apache將動態內容的請求轉發給tomcat 

方式2可以將apache和tomcat分布在不同的機器上,從而可以實現負載平衡。方式3速度比較快,當apache和tomcat分布在相同的機器上時可以考慮使用。 
本文以方式2的為例說明tomcat和apache的集成。 
為了能處理ajp13請求,tomcat需要起一個服務。 這是通過在tomcat的server.xml中定義一個Connector來實現的。 在最新的tomcat4.1.30版本中該Connector默認情況下是啟用的。如果沒有啟用在server.xml加入 
代碼: 
    <Connector className="org。apache。coyote。tomcat4。CoyoteConnector" 
               port="8009" minProcessors="5" maxProcessors="75" 
               enableLookups="true" redirectPort="8443" 
               acceptCount="10" debug="0" connectionTimeout="20000" 
               useURIValidationHack="false" 
               protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/> 

啟動tomcat, 檢查ajp13服務是否運行 
netstat -a | grep 8009 
或則查看tomcat標準輸出上是否有類似的輸出: 
代碼: 
info: JK2: ajp13 listening on /0.0.0.0:8009 
2004-5-22 14:50:35 org.apache.jk.server.JkMain start 
info: Jk running ID=0 time=20/200  config=D:\Tomcat4.1\conf\jk2.properties 

配置Apache 
配置完Tomcat后,進行Apache的配置。首先,我們需要確定整個web應用所在的context,確定了context也就能確定用戶通過什么樣的URL可以訪問該web應用。比如,網站為www.example.com, 如果web應用的context為purchase,那么用戶可以通過URL http://www.example.com/purchase訪問該應用;如果web應用的context為/,那么用戶可以通過URL http://www.example.com訪問該應用。一般而言,將web應用的context設定為/可以方便用戶。如果存在多個獨立的應用,可以考慮把它們放到不同的子context中去。下面介紹把應用context設為/情況下如何配置,其他情況類似。將jk的配置放在一個獨立的文件里,然后在httpd。conf中Include該文件即可。 
第一步,讓apache加載mod_jk: 
代碼: 
#mod jk for tomcat-apache integration 
LoadModule jk_module modules/mod_jk.so 

把應用context映射到存放該應用靜態資源的目錄: 
代碼: 
# Static files in the examples webapp are served by apache 
Alias / /www/tomcat4。1/webapps/ROOT/  

同時,因為現在靜態資源不是由tomcat處理了,所以出于安全考慮和遵守JSP/Servlet規范需要禁止對WEB-INF子目錄的訪問: 
代碼: 
# The following line prohibits users from directly access WEB-INF 
<Location "ROOT/WEB-INF/"> 
  AllowOverride None 
  deny from all 
</Location> 

在集成的調試階段可以考慮允許目錄列表功能: 
代碼: 
<Directory "/www/tomcat4。1/webapps/ROOT"> 
    AllowOverride FileInfo AuthConfig Limit Indexes 
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec 
</Directory> 

接下來一步告訴apache哪些動態內容應該讓tomcat處理,為了確定動態內容URL的特征,應該把web.xml中的所有servlet mapping中出現的URL模式在jk.conf中聲明: 
代碼: 
JkMount /BaseServlet worker1 
JkMount /Servlet/* worker1 
JkMount /ProductUploadServlet worker1 
JkMount /upload worker1 
JkMount /test worker1 
JkMount /*.jsp worker1 
JkMount /*.do worker1 

其它可能需要修改的配置 
配置項 說明 
JkWorkersFile 指定jk workers.properties的位置,如果是相對路徑,則假定在apache的ServerRoot目錄下 
JkLogFile 指定jk log文件的位置,如果是相對路徑,則假定在apache的ServerRoot目錄下 
JkLogLevel 指定jk log的級別有效的選項有:debug/error/info 
JkLogStampFormat 指定log中的時間格式,使用c函數strftime()的格式字符串語法 

總結Tomcat和Apache集成時通常需要一下步驟: 
1. 決定使用哪種connector 
2. 獲得connector,如果沒有現成的二進制的connector,則需要手工編譯,根據操作系統的不同可能還要設置編譯環境。 
3. 配置tomcat 
4. 配置apache,確定context,將context對應到應用的頂層目錄。根據web.xml中的servlet映射把所有的動態內容的url模式配置在apache中 
5. 測試

 3sane 回復于:2004-11-22 12:04:50
[quote:5e755162b7="jiupima"]” = “x” ]
 下載jdk: 
http://java.sun.com/j2se/downloads/index.html 
下載jk: 
http://jakarta.apache.org/site/binindex.cgi 
[/quote:5e755162b7]

以上連接中我沒有找到SCO版本的BIN,請告知具體下載地址?SCO能支持的JDK是1.4.2嗎?

 jiupima 回復于:2004-11-22 16:25:11
[quote:f972d1a133="3sane"]

以上連接中我沒有找到SCO版本的BIN,請告知具體下載地址?SCO能支持的JDK是1.4.2嗎?[/quote:f972d1a133]

到sco網站可以下到,最高支持到1.4.2。

 3sane 回復于:2004-11-22 21:40:28
[quote:113c3e2d15="jiupima"]

到sco網站可以下到,最高支持到1.4.2。[/quote:113c3e2d15]

謝謝,但最近SCO的網站www.sco.com怎么也上不去(www.sco.com.cn倒是可以),DNS是127.0.0.3實在郁悶 :( 。另外我用1.3.1安裝TOMCAT 4沒有問題,但是TOMCAT 5就起不來,懷疑是JDK的問題。

 pguan 回復于:2004-11-23 00:15:18
好文!收了!多謝發文

 fraser5 回復于:2004-12-01 10:23:35
怎么引用

 rocky_liyang 回復于:2004-12-15 15:09:24
下載jk: 
http://jakarta.apache.org/site/binindex.cgi 
??????????應該下哪個版本??????
為什么沒有
/conf/cf.d/tomcat文件??

 onlyzhhk 回復于:2004-12-22 23:54:01
TO俠客:由于很難聯上apache的mod_jk.dll的下載鏈接,可以共享mod_jk.dll文件么,有急用,謝謝

 unix_start 回復于:2004-12-23 13:28:30
好帖?。。?!頂?。。?!

 jys1059 回復于:2004-12-23 15:29:49
好帖,收藏

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97