| 
 | 
 
我用的是redhat9.0做服务器的,现在apache2.0.48+tomcat5.0.19+jk2来配置jsp服务器的。 
1.首先apache2 ,unix/linux下面就从源代码编译安装,最重要的configure 参数是 --enalbe-modules="so" 其他根据自己需要安装,windows下面直接安装编译好的二进制版本。具体安装方法很多地方已经有介绍了,这里不赘述,如有需要可以参考 http://httpd.apache.org 或者 chinaunix 的web服务器区精华,唯一一点需要提醒的是,要将 httpd.conf 里面的  
代码:  
#AddDefaultCharset ISO-8859-1  
 
前面加#注销掉,很多人提问为什么Apache2显示中文乱码,根源就在这里,最简单的方法就是加一个#就可以正常显示中文了,无需设置什么GB2312。  
 
2.安装jdk,tomcat的运行需要j2sdk1.4.2.04支持, 
安装的路径:/usr/java/j2sdk1.4.2_04 
 
3.设置环境变量,java的运行需要设置一下环境变量,通常只要设置一个 JAVA_HOME,另外,把java的可执行程序放到path里面去就可以了。在linux下运行  
代码:  
vi /etc/profile 在最后加入,并在系统中运行一下  
PATH=$PATH:/usr/java/j2sdk1.4.2_04/bin:/usr/java/j2sdk1.4.2_04/jre/bin 
JAVA_HOME=/usr/java/j2sdk1.4.2_04 
export JAVA_HOME 
CLASSPATH="./:/usr/java/j2sdk1.4.2_04/lib:/usr/java/j2sdk1.4.2_04/jre/lib" 
export CLASSPATH 
CATALINA_HOME=/usr/local/jakarta-tomcat-5.0.19 
export CATALINA_HOME 
[root@server1 java]# export JAVA_HOME=/usr/java/j2sdk1.4.2_04 
[root@server1 java]# export CLASSPATH=/usr/java/j2sdk1.4.2_04/lib 
[root@server1 java]# export TOMCAT_HOME=/usr/local/jakarta-tomcat-5.0.19 
 
4.安装tomcat,最简单是下载binary版本,在linux下面,直接 tar -xzvf jakarta-tomcat-5.0.19 即可。创建一个用户,到 jakarta-tomcat-5.0.19/conf 下面编辑 tomcat-users.xml 手工添加2个role和1个用户,最简单的例子文件如下:  
代码:  
<?xml version='1.0' encoding='utf-8'?>  
<tomcat-users>  
 <role rolename="tomcat"/>  
 <role rolename="role1"/>  
 <role rolename="manager"/>  
 <role rolename="admin"/>  
 <user uname="tomcat" password="tomcat" roles="tomcat"/>  
 <user uname="both" password="tomcat" roles="tomcat,role1"/>  
 <user uname="role1" password="tomcat" roles="role1"/>  
 <user uname="admin" password="administratorpassword123" roles="admin,manager"/>  
</tomcat-users>  
 
启动tomcat, 
 
 
 
5.编译和设置mod_jk  
windows版本的mod_jk可以直接从 jakarta.apache.org 下载binary版本,linux下只好下载源代码编译了。从 http://jakarta.apache.org 下载 jakarta-tomcat-connectors-jk2-src-current.tar.gz 解压,然后 代码:  
cd /jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2  
./buildconf.sh  
然后运行  
代码:  
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-java-home=/usr/local/j2sdk1.4.2-04  
 
(具体路径按照你实际的调整)  
运行  
代码:  
make jk2-build-apxs  
cd server/apache2  
make -f Makefile.apxs install  
 
其实这个软件包本来有ant的配置文件,用ant编译可能会简单一些,但是要另外装ant,而且里面有些模块不是ant本身native的功能,还要为ant加装相应的功能模块,所以这里就略过,下次有时间再发一个ant的应用。  
 
这样,你的mod_jk总算是装好了,现在开始进入配置阶段,其实,配置很简单了  
 
6.设置虚拟主机  
比如,我现在有虚拟主机 www.host1.net希望把jsp和servlet都转到tomcat去,而其他的文件比如html页面,图片等等仍然用apache解析。  
Tomcat设置:  
修改 tomcat/conf/server.xml,在 <Engine></Engine>里面再增加一个<host/>,  
代码:  
<Host name="www.host1.net" debug="0" appBase="/var/www" unpackWARs="true" autoDeploy="true">  
<Alias>localhost</Alias>  
<Alias>www</Alias>  
<Alias>192.168.0.254</Alias>  
<Context path="" docBase="www.host1.net" debug="1"/>  
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="www.host1.net_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>  
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="home_log_" suffix="_app_log.txt" timestamp="true"/>  
</Host>  
 
调整里面的参数和设置使之适合你的环境,当然,如果你还有其他的<host/>添加在后面。 
 
vi /usr/local/apache/conf/httpd.conf 
加入了下面的代码: 
把下面这段放到VirtualHost之前,可以从全局避免用户用apache访问WEB-INF目录。  
代码:  
<Directory ~ "/WEB-INF/">  
   Order allow,deny  
   Deny from all  
</Directory>  
 
 
典型的VirtualHost配置样本  
 
代码:  
NameVirtualHost 192.168.0.254  
 
<VirtualHost 192.168.0.254>  
ServerAdmin [email protected]  
DocumentRoot /var/www/www.host1.net  
ServerName www.host1.net  
DirectoryIndex index.jsp index.php  
<Location ~ "/*.jsp|/*/servlet/*">  
JkUriSet worker ajp13:localhost:8009  
</Location>  
ErrorLog logs/www.host1.net_log  
CustomLog logs/www.host1.net_log common  
</VirtualHost>  
 
 
 
1.设置这个虚拟主机要不要设置dns呀,我的虚拟主机怎么没反应。  
2.还有我把 apache的存放网页的目录改了“/var/www/myjsp”然后在里面放了一个jsp的页面,但是在浏览器中输入服务器的ip地址,弹出来的是tomcat的启动画面,这是怎么回事??是不是表示apache和tomcat整合成功了呢?  
我前面安装的方法就是按照楼上提供的那个方法做的,到了虚拟主机的地方我改了几个地方,我只改了httpd.conf和server.xml两个文件。  
我把虚拟主机www.host1.net的文件放在了/var/www/www.host1.net目录下。  
 
问题又来了,我在浏览器中出入www.host1.net结果出现的内容是:“Welcome to host1.net, operated by Comet Systems, Inc. Click here for more information on this site. ”。 
这又是怎么会事?谁能帮忙解决一下吗?  
 
 
我在启动apache2.0.48是出现这种问题是怎么回事:  
“[root@server1 bin]# apachectl restart  
 
httpd not running, trying to start  
(9 Address already in use: make_sock: could not bind to address 0.0.0.0:80  
no listening sockets available, shutting down” 
 
请高手帮忙解决一下。。谢谢。。 |   
 
 
 
 |