Win2008R2+Apache+PHP+Tomcat配置

时间:2022-02-12 19:48:32

一、VC运行库

    对于ApachePHP,在Windows上运行的话都需要对应VC运行库的支持,即ApachePHPVC运行库这三者的版本必须相对应,这就会带来很多问题,比如下了较新的ApachePHP,但是找不到对应的和对方连接的VC运行库,此外还要注意系统是32位还是64位。而Linux就没这种破问题,所以我很想不通那些用Windows来做这种较复杂服务器的人脑子里装的是神马。当前常见的VC运行库包括VC9VC11x86x64都装上才保险。可以去http://www.microsoft.com/zh-cn/download/上进行下载。

Win2008R2+Apache+PHP+Tomcat配置

     如果服务器上装了神马安全狗,全都给它退出,否则很可能会报以下错误:

Win2008R2+Apache+PHP+Tomcat配置

二、Apache代理服务器

    这个可以采用较新的Apache 2.4.9,功能更强大一些。下载Apache的话有一个很好的网站http://www.apachelounge.com/download/

Win2008R2+Apache+PHP+Tomcat配置

 

     做代理的话,除了要在配置文件httpd.conf中指定ServerRoot和DocumentRoot,还需要指定它的端口为80。此外,要加载proxy对应模块,即将LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_html_module modules/mod_proxy_html.soLoadModule proxy_http_module modules/mod_proxy_http.so这三行代码前面的注释“#”去掉,以及启用虚拟主机,即将Include conf/extra/httpd-vhosts.conf前面的注释“#”去掉,这样对应的配置就是在httpd-vhosts.conf里生效了,代码如下:

<VirtualHost *:80>

    ServerAdmin crytoll@163.com

    ServerName localhost

 

    ProxyRequests Off

    ProxyPass / http://127.0.0.1:8081/

    ProxyPassReverse / http://127.0.0.1:8081/

 

    ErrorLog "logs/dummy-localhost-error.log"

    CustomLog "logs/dummy-localhost-access.log" common

</VirtualHost>

 

<VirtualHost *:80>

    ServerAdmin crytoll@163.com

    ServerName 127.0.0.1

 

    ProxyRequests Off

    ProxyPass / http://127.0.0.1:8080/

    ProxyPassReverse / http://127.0.0.1:8080/

 

    ErrorLog "logs/dummy-127-error.log"

    CustomLog "logs/dummy-127-access.log" common

</VirtualHost>

意思就是代理服务器的监听端口是80,如果访问的是localhost,就将请求转发到8081端口;如果访问的是127.0.0.1,就将请求转发到8080端口。

最后为其安装服务,设置自动启动。

此外,有的系统比较奇葩,整体是PHP写的,某个子目录却是JSP写的,比如zsb.xidian.edu.cn,访问它需要转发给Apache解析PHP,但若是访问zsb.xidian.edu.cn/zzzs,就需要转发给Tomcat来解析JSP了。对于这样的系统,需要在同一个VirtualHost里配置两个ProxyPass。需要注意的是,按照Apacheurl匹配策略,一旦从前到后匹配成功它就不再继续匹配了,所以子目录的ProxyPass一定要写在前面。配置代码如下:

 

<VirtualHost *:80>

    ServerAdmin crytoll@163.com

    ServerName localhost

    ProxyRequests Off

    ProxyPass /zzzs/ http://127.0.0.1:8080/

    ProxyPassReverse /zzzs/ http://127.0.0.1:8080/

    ProxyPass / http://127.0.0.1:8081/

    ProxyPassReverse / http://127.0.0.1:8081/

    ErrorLog "logs/dummy-localhost-error.log"

    CustomLog "logs/dummy-localhost-access.log" common

</VirtualHost>

 

三、PHP

PHP不同版本间的差别还是比较大的,保守起见可选择php-5.3.28-Win32-VC9-x86.msi直接进行安装,安装包在http://windows.php.net/download/上可以找到。

Win2008R2+Apache+PHP+Tomcat配置  

四、Apache解析服务器

考虑到要与PHP进行连接,可以选用httpd-2.2.27-win32-VC9,网上有很多。同样是要在配置文件中指定ServerRoot,令其监听端口为8081Include conf/extra/httpd-vhosts.conf前面的注释“#”去掉,其中httpd-vhosts.conf的代码如下:

<VirtualHost *:8081>

    ServerAdmin crytoll@163.com

    DocumentRoot "C:/WebSite"

    <Directory "C:/WebSite">

        DirectoryIndex index.php

        Order deny,allow

        allow from all

    </Directory>

    ServerName localhost

    ErrorLog "logs/dummy-localhost-error.log"

    CustomLog "logs/dummy-localhost-access.log" common

</VirtualHost>

意思是本虚拟主机的端口是8081,网站根目录是C:/WebSite,默认主页是index.php。然后需要为Apache解析服务器添加解析PHP文件的功能,即修改 Apache解析服务器的 httpd.conf 文件。在该文件中添加如下2行,表示以模块方式安装PHP进入Apache:
LoadModule php5_module D:/php/php5apache2_2.dll
AddType application/x-httpd-php .php

如图所示:

Win2008R2+Apache+PHP+Tomcat配置

最后为其安装服务,设置自动启动。

五、JDK

目前既新且较稳定的版本为1.7.53,可以在http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html上下载到。

Win2008R2+Apache+PHP+Tomcat配置

 

六、Tomcat

    可以选用7.0.53版本,在官网上可以下载到。部署完成后为其安装服务,设置自动启动。而JSP子系统部分为了方便起见,就可以直接放到Tomcat的默认Web目录下