使用MD语法
WAMP是什么?
wamp全称windows+apache+mysql+php,是一组常用的搭建动态网站或服务器的开源软件。相对的还有LAMP,LNMP等。
因为我打算用JSP所以没有搭建PHP,数据库也已经有了,所以重点是apache和tomcat已经他们的整合。
前期准备
Apache任意一个版本,这里提供2.4,Apache改名为Httpd,貌似32位在64位上运行也没问题
httpd-2.4.27-x86-vc14
Apache官网
tomcat任意版本,这里提供9
toapache-tomcat-9.0.0.M22-windows-x64mcat9
tomcat官网
Apache tomcat整合工具,注意:要和Apache同一个版本,这里提供2.2和2.4版本
tomcat-connectors-1.2.33-windows-i386-httpd-2.2.x
tomcat-connectors-1.2.33-windows-i386-httpd-2.4.x
VC++运行库
VC++2015
JDK
因为运行jsp的话需要java环境
jdk-8u144-windows-i586_8.0.1440.1
安装JAVA环境
- 下载好jdk后,然后安装,一直下一步然后完成就好了
- 打开CMD,输入java,有大堆东西现实则安装成功
-
配置环境变量,重要!!!
右键我的电脑-属性-高级-环境变量
新建
名:CLASSPATH
值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
注意前面有点,分号不能少新建
名:JAVA_HOME
值:C:\Program Files (x86)\Java\jdk1.8.0_144
这里的值是你安装JAVA的根目录编辑path,在最后加上
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
然后WIN+R打开CMD,输入javac,如果有大堆的东西说明成功了,如果现实javac不是有效的命令,自己百度解决。一般都是环境变量的填写问题。jdk要在tomcat前安装!
安装配置Apache
解压即可,然后重命名为Apache,复制到方便记录的路径,我选择C:\WAMP\Apache
同时在C:\WAMP\目录下新建一个文件夹起名为AT,用来存放Apache和Tomcat共同的应用(可以放在不同的目录,理论上讲这样更安全)。
用记事本打开Apache/conf/httpd.conf
其中有几处必须修改
1. 修改Apache安装根目录:直接查找ServerRoot 然后将值改为Apache的根目录 “C:\WAMP\Apache”
2. 同上,修改Apache网站服务目录:DocumentRoot “C:\WAMP\AT”
3. 修改默认主页:查找Directory将其修改为如下:
4. 为方便测试,主机名改成下面的:
Listen 127.0.0.1:80
Listen 80
基本配置完了,可以随便写个网页放在AT下,然后打开浏览器输入http://localhost/ 看看是否能显示成功
Apache处理静态页面,Tomcat处理动态页面,所以需要将两者整合起来
安装配置Tomcat
- 解压,复制到WAMP目录下,重命名为tomcat
- 解压整合工具,将其中的mod_jk.so复制到Apache目录下的modules里
在Apache的httpd.conf文件最后添加以下语句:
# 配置 mod_jk
LoadModule jk_module “C:/WAMP/Apache/modules/mod_jk.so”
#加载集群中的workers
JkWorkersFile “C:/WAMP/tomcat/conf/workers.properties”
#指定jk的日志输出文件
JkLogFile “C:/WAMP/Apache/logs/mod_jk.log”
#指定日志级别
JkLogLevel warn
# 声明mod_jk的日志的时间戳格式(可选)
JkLogStampFormat “[%a %b %d %H:%M:%S %Y]”
# 将/.action和/.jsp类型的请求都分配给Tomcat,其余类型的有Apache Http Server自己处理
# 注意JkMount后面的ajp13即对应worker.properties文件中worker.list里的实例ajp13的名称
JkMount /*.action ajp13
JkMount /*.do ajp13
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13JkWorkersFile 这一列的workers.properties文件要自己在C:/WAMP/tomcat/conf/目录下新建,其内容为:
workers.tomcat_home=”C:/WAMP/tomcat/” #让mod_jk模块知道Tomcat的安装路径
workers.java_home=”C:\Program Files (x86)\Java\jdk1.8.0_144” #让mod_jk模块知道jdk路径
ps=\ #当前目录
worker.list=ajp13 #这里是关键,名字要和httpd.conf的一致。如果这里改了httpd.conf也要改。
worker.ajp13.port=8009 #工作端口,tomcat的jk监听端口,可以查看Server.xml中有port=”8009”
worker.ajp13.host=localhost #Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP
worker.ajp13.type=ajp13 #协议类型,不能改变,会出问题
worker.ajp13.lbfactor=1 #负载平衡因子修改Tomcat发布app的目录
在C:/WAMP/tomcat/conf/server.xml最下找到:Host标签对,将其中的appBase=””值改为”C:/WAMP/AT”,这样C:/WAMP/AT就是Tomcat和Apache共用的的发布目录了。- 在C:/WAMP/AT/目录下新建一个Myjsp.jsp文件内容为:HELLO WORLD !(不能使html页面,因为测试的是Apache有没有将动态也没按转交给Tomcat处理)
启动服务
首先启动Apache服务,打开Apache/bin/ApacheMonitor.exe
然后点右下角会弹出界面,然后点start,如果失败的话,打开CMD:
cd c:/WAMP/Apache/bin
httpd.exe -k start -n “Apache” (有可能是Apache2.2或2.4)
如果没有显示则开启成功。有提示的话按照提示排除,我打开的时候显示cannot load mod_jk.so ,搞了很久才发现版本不对,换了个版本还是不对,最后在网上直接找了一个2.4版本的.so(提供的文件已修改),然后成功。
然后启动tomcat服务,有两种方法。
第一种是每次手动开启。打开tomcat/bin/startup.bat
然后CMD出来了。不能关,关了服务就关了。可以按Ctrl+C停止。
这个时候服务就算是启动了。
第二种是将tomcat设置成本地服务。
修改startup.bat
在第一行前加入如下内容:
SET
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_144
SET
CATALINA_HOME=C:\WAMP\tomcat
JAVA_HOME就是环境变量中配置的内容.CATALINA_HOME就是Tomcat的目录
修改shutdown.bat
在第一行前加入如下内容:
SET
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_144
SET
CATALINA_HOME=C:\WAMP\tomcat
修改service.bat
在第一行前加:
set
CATALINA_HOME=C:\WAMP\tomcat
set
SERVICE_NAME=Tomcat
set
PR_DISPLAYNAME=Tomcat Apache
第一行自不必说,第二行是服务的名字,在命令行中通过该名字进行服务的控制(启动/关闭),第三行是服务的显示名称,即在服务管理器中显示的名称.
然后用管理员打开CMD,进tomcat的bin里,
service remove Tomcat
service.bat install
如果有则说明安装成功
然后可以运行services.msc 看看有没有tomcat的服务。有的话就成功。服务名为Apache tomcat9.0
测试
在AT下写个网页,在浏览器输入并回车:http://localhost/index.html ,
http://localhost/Myjsp.jsp (默认80端口这里省略80,对应Apache)
在AT下写个jsp,在浏览器输入并回车:http://localhost:8080/Myjsp.jsp (8080端口不可省略,对应Tomcat)
如果上述两种结果能显示,并且jsp显示一样,则说明整合成功。