红联Linux门户
Linux帮助

Cent OS 7.x下PHP JSP共存(使用Apache进行反向代理-vhost)

发布时间:2016-06-17 16:10:00来源:linux网站作者:mouse_ts

如果我们只有一台服务器,应该怎么实现让这台服务器同时处理PHP和JSP的请求?这里的解决方案是通过Apache的虚拟主机(vhost)来进行端口转发。
Apache会通过访问服务器的域名将请求转发至不同的端口或者不同的服务器。


0、前提 and 目的

前提:
拥有一个域名,并有两个A解析,同时解析到这台服务器的IP
分别拥有一个JSP和PHP的页面(网站)
目的:
使用php.test.com访问的时候解析到PHP的网站上
使用jsp.test.com访问的时候解析到JSP的网站上


1、安装httpd(Apache)

安装httpd
yum install httpd

启动httpd服务
systemctl start httpd.service


2、安装PHP

yum install php


3、安装JDK用于配合JSP

yum install java-1.8.0-openjdk


4、安装tomcat用于解析JSP页面

安装tomcat
yum install tomcat tomcat-webapps tomcat-admin-webapps

启动tomcat
systemctl start tomcat.service


5、配置httpd用于同时支持PHP和JSP

打开配置文件
vim /etc/httpd/coinf/httpd.conf

在最前端添加如下内容:

NameVirtualHost *:80

<VirtualHost *:80>
ServerName php.test.com #指定一个域名
DocumentRoot /var/www/html #PHP网站的位置
ErrorLog logs/php.test.com-error.log #日志位置
CustomLog logs/php.test.com-access.log common #日志位置
</VirtualHost>

<VirtualHost *:80>
ServerName jsp.test.com #指定另一个域名
DocumentRoot /var/lib/tomcat/webapps/ROOT #JSP网站的位置
ErrorLog logs/jsp.test.com-error.log  #日志位置
CustomLog logs/jsp.test.com-access.log common #日志位置
ProxyPass / http://127.0.0.1:8080/ #转发位置
ProxyPassReverse / http://127.0.0.1:8080/ #转发位置
</VirtualHost>


6、最后

重启相关服务
systemctl restart httpd.service
systemctl restart tomcat.service

现在可以使用php.test.com,jsp.test.com分别解析到PHP和JSP的页面了。


本文永久更新地址:http://www.linuxdiyf.com/linux/21609.html