假设:
apache安装目录为APACHE_HOME
tomcat安装目录为TOMCAT_HOME (要设到环境变量中)
jdk安装目录为JAVA_HOME(要设到环境变量中)
1.安装apache:(假定安装目录为APACHE_HOME,根据你实际安装自行替换)
废话不多说,安装后修改APACHE_HOME/CONF/httpd.conf 以下6个地方:
1) Port 8080 或者80 随你
2) ServerName localhost
3) DocumentRoot "e:/www" (为了发布方便,不如自己建个目录作为文档根)
4) 把原来的<Directory "APACHE_HOME/htdocs">改为
<Directory "e:/www">
5) 添加index.jsp为缺省的主索引文件
<IfModule mod_dir.c>
DirectoryIndex index.html index.jsp
</IfModule>
6) 这是最关键一步,在httpd.conf最后加上
#tomcat支持
include TOMCAT_HOME/conf/mod_jk.conf-auto
只需要这一句就够了,别听那些白痴的话,加上什么tomcat-apache.conf,那没用.
把mod_jk.dll拷贝进APACHE_HOME/module目录
这会先不管apache了,来设置tomcat3.2
步骤:
把tomcat解压缩,将它真正的目录jarakar-tomcat拷贝到你要的目录名TOMCAT_HOME
修改TOMCAT_HOME下的conf目录中的server.xml
1) 如果你不想看TOMCAT启动信息,这么做:
<Logger name="tc_log"
path="logs/tomcat.log"
verbosityLevel = "INFORMATION"
/>
增加一个PATH="logs/tomcat.log" 就可以了
2) 让tomcat改到8081上,一般来说www服务在80或者8080上:
<!-- Normal HTTP -->
<Connector className="org.apache.tomcat.service.PoolTcpConnector">
<Parameter name="handler"
value="org.apache.tomcat.service.http.HttpConnectionHandler"/>
<Parameter name="port" value="8081"/>
</Connector>
3)增加APJ13协议支持
<!-- Apache AJP13 support. This is also used to shut down tomcat. -->
<Connector className="org.apache.tomcat.service.PoolTcpConnector">
<Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp13
ConnectionHandler"/>
<Parameter name="port" value="8009"/>
</Connector>
就放在原来的APJ12连接器后面就可以了
4)配合APACHE修改文档根目录
<!-- 文档根目录 -->
<Context path="/" docBase="e:/www" >
</Context>
5)为了用例子测试,还得改一下EXAMPLES的CONTEXT:
<Context path="/examples"
docBase="TOMCAT_HOME/webapps/examples" crossContext="false" >
</Context>
要使用MOD_JK还得改一下同一目录下的WORKERS.PROPERTIES文件:
1) workers.tomcat_home=TOMCAT_HOME
2) workers.java_home=JAVA_HOME
3) ps= 我爱windows 赫赫
现在ok了,开始启动!
别慌,还有启动顺序问题,注意啊,先启动tomcat让它自己修改一下配置,第一次一定
要先tomcat,以后除非修改tomcat的设置,都可以先启动apache了。
ok 来启动tomcat:运行TOMCAT_HOME/bin下面的startup.bat
看到:Startting tomcat. Check logs/tomcat.log for error messages.那就对了
再来检查tomcat的情况
先随便在e:www里面放个index.jsp文件,内容是
JAVA天堂
<%="啊哈!jsp第一次运行!"%>
用浏览器打开http://localhost:8081
如果看到上面的话出现,那么根文档就成功了,再来用例子测试一下,用浏览器打开:
http://localhost:8081/examples/jsp
运行猜数字游戏,如果正确了,说明咱们的examples上下文也关联正确。这就简单了。
剩下就是运行apache了
运行apache,看到这么一行:
Apache/1.3.14 (win32) with mod_jk running...那就对了
再来测试它们的组合,用浏览器打开http://localhost:8080(我假设你用8080端口,如
果是80端口,那就用http://localhost
还是看到那句“啊哈!jsp第一次运行!”
这就说明apache和tomcat连上了!
你可以再用http://localhosy:8080/examples/jsp测试一下例子。
一些细节:
Apache是开放源代码的Web服务器软件,是最常用的Web服务器。Apache常用于Unix系统,也有Windows平台的版本。本文以Windows XP平台为例,介绍Apache的安装和配置。
一、下载
Windows平台的Apache(后缀名为“.exe”或“.msi”):
apache_2.0.58-win32-x86-no_ssl.msi
二、安装
双击apache_2.0.58-win32-x86-no_ssl.msi直接运行,将其安装到C:\Program Files\Apache Group\Apache2。
Apache的安装过程很简单:
在“Network Domain”里输入域。若使用的是二级域名,如“user.xxx.net”,则输入“xxx.net”;若使用的是顶级域名,则输入“xxx.com”。此设置在后面也可以再修改。
在“Server Name”里输入服务器名。若使用的是二级域名,如“user.xxx.net”,则输入“user.xxx.net”;若使用的是顶级域名,则输入www.xxx.com;直接使用IP地址也可以。此设置在后面也可以再修改。
在“Administrator's Email Address”里输入网站管理员的Email地址。
除此之外,安装过程里所有的选项,全部选用默认选项。
三、运行
用默认选项安装的Apache,除了在“开始”-->“程序”里增加一个“Apache HTTP Server”的组之外,还会在系统的服务里增加一个Apache服务。该服务被设置为系统启动时自动运行。如果你有防火墙,请确保防火墙允许对Apache的访问。
四、配置Apache
1、配置文件:
Apache是一个后台运行的程序,没有界面。所有的配置,都包含在配置文件里。主配置文件是:C:\Program Files\Apache Group\Apache2\conf\httpd.conf;
若要修改Apache的配置,可以用任何一个文本编辑工具(如记事本)编辑这个配置文件。在配置文件里,以“#”开头的行是注释行,不起作用。
2、配置选项:
在配置文件里的主要选项如下:
ServerRoot "C:\Program Files\Apache Group\Apache2\"
此项表示Apache安装在哪个目录下。
Listen 3000
Listen 80
Apache服务器的监听端口。一般来说不需要设置,Apache会绑定在本机所有IP地址的80端口上,若想根据端口不同来配置虚拟主机,则须将每个端口加入到Listen队列中。也可以在端口号之前加上IP地址,指明监听服务的IP,通常对多IP的服务器有实际意义。
ServerAdmin abc@mail.nankai.edu.cn
Apache管理员的邮箱地址。
ServerName aa.bb.cc.dd:80
Apache Web服务器的名字,安装时输入的“Server Name”就是保存在这里,若没有域名,可以用IP地址来代替。
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"
这是网站的默认根目录。如果您想把网站文件存放在“D:\myweb”目录下,可以把DocumentRoot后面的目录修改为“D:/myweb”。
下面这项表示是否允许目录访问,去掉Indexs就禁止目录访问:
<Directory />
Options FollowSymLinks Indexs AllowOverride None
</Directory>
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
同样需要改为:”D:/myweb”。
Options Indexes FollowSymLinks MultiViews
为了安全起见,请把上面的“Indexes”删掉。否则网站可能显示为树型结构。
DirectoryIndex index.html index.htm
默认首页文件名。在浏览器中输入网址时,Apache会查找这个默认的首页文件并打开。若要配置多个默认首页文件名,用空格分开。
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"
CGI文件存放路径。
LoadModule access_module modules/mod_access.so
此项用来配置Apache加载的服务模块,Apache已经加载了一些服务模块。这些模块在C:\Program Files\Apache Group\Apache2\module目录下。
3、高级配置:
1. 设置虚拟目录/jsp至D:/website/site:
Alias /jsp "D:/website/site"
<Directory "D:/website/site">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Apache默认开设了两个虚拟目录:“/icons/”和“/manual/”。这两个虚拟目录没有用,可以在配置文件中删除。
2. 虚拟主机设置:
基于域名的虚拟主机:例如你的服务器地址是:61.132.27.69,现在我们要建www.justdn.org 和 www.justdn.com 两个虚拟主机。
在Apache的httpd.conf后面加上如下的代码:
NameVirtualHost 61.132.27.69
<VirtualHost 61.132.27.69>
ServerAdmin webmaster@justdn.com
DocumentRoot C:/home/justdn.com/
ServerName www.justdn.com
ServerAlias justdn.com wwww.justdn.com
ErrorLog logs/www.justdn.com-error_log
CustomLog logs/www.justdn.com-access_log common
ErrorDocument 404 /404.html
</VirtualHost>
<VirtualHost 61.132.27.69>
ServerAdmin webmaster@justdn.com
DocumentRoot c:/home/justdn.org/
ServerName www.justdn.org
ServerAlias wwww.justdn.org justdn.org
ErrorLog logs/www.justdn.org-error_log
CustomLog logs/www.justdn.org-access_log common
</VirtualHost>
若使用IP访问服务器,由于www.justdn.com有最高优先级,被认为是默认服务器或主服务器。
基于端口的虚拟主机配置:服务器只有一个IP, 61.132.27.69,域名为: www.justdn.com。不需要另外的别名或IP,采用端口型虚拟主机即可设置一个配置有别于主服务器的虚拟主机。
在Apache的httpd.conf后面加上如下的代码:
Listen 80
Listen 8080
ServerName www.domain.tld
DocumentRoot /www/domain
NameVirtualHost 61.132.27.69:80
<VirtualHost 61.132.27.69:8080>
ServerAdmin webmaster@justdn.com
DocumentRoot C:/home/justdn.com/ 虚拟主机主目录
ServerName www.justdn.com 主机域名
ServerAlias justdn.com wwww.justdn.com 主机别名
ErrorLog logs/www.justdn.com-error_log
CustomLog logs/www.justdn.com-access_log common
ErrorDocument 404 /404.html
</VirtualHost>
3. 如何解决中文网页显示乱码
(1)在配置文件中找包含“AddLanguage”或“AddCharset”的行,在这些行最前面增加一行:
AddDefaultCharset GB2312此项表示设定apache服务的默认字符集
(2)养成良好的习惯,在每个网页的<head></head>里加入这行:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
一般的中文版网页编辑工具(例如FrontPage、Dreamweaver等)都会自动加上这行。
另外注意:每次配置文件更改后,要重新启动Apache才会生效。