Apache 配置虚拟主机 VirtualHost 多站点

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

前提:
  拥有一个域名,并有两个 A 解析,同时解析到这台服务器的 IP
  分别拥有一个 JSP 和 PHP 的页面(网站)
目的:
  使用 php.test.com 访问的时候解析到 PHP 的网站上
  使用 jsp.test.com 访问的时候解析到 JSP 的网站上
操作系统:
Centos 7.x 如果是之前的版本或是其他系统可能出现不同的情况
0X01 安装 httpd (Apache)

安装并启动服务
yum install httpd
systemctl start httpd.service
0X02 安装 PHP

yum install php
0X03 安装 JDK 用来配合 JSP

yum install java-1.8.0-openjdk
0X04 安装 tomcat 用于解析 JSP 页面

yum install tomcat tomcat-webapps tomcat-admin-webapps
systemctl start tomcat.service
0X05 配置 httpd 用于同时支持 PHP 和 JSP

打开配置文件
vim /etc/httpd/conf/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>
0X06 最后

systemctl restart httpd.service
systemctl restart tomcat.service
现在就可以使用 php.test.com 和 jsp.test.com 分别访问到 PHP 和 JSP 的页面了

时间: 2024-09-19 09:44:45

Apache 配置虚拟主机 VirtualHost 多站点的相关文章

分享三种Apache配置虚拟主机的方式_Linux

一.基于IP  1. 假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP: [root@localhost root]# ifconfig eth0:1 192.168.1.11 [root@localhost root]# ifconfig eth0:2 192.168.1.12 [root@localhost root]# ifconfig eth0:3 192.168.1.13  2. 修改hosts文件,添加三个域名与之一一对应:

CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法_服务器其它

本文实例讲述了CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法.分享给大家供大家参考,具体如下: 如何让centos(redhat)配置虚拟主机,让服务器支持多个网站,针对Apache,只需要你修改apache配置文件/etc/httpd/conf/httpd.conf即可. 里面有个example文件,你只要对应配置即可. #<VirtualHost *:80> # ServerAdmin webmaster@dummy-host.example.com # Do

Apache配置虚拟主机及开启rewrite模式

Apache配置虚拟主机 修改httpd.conf 启用Virtual hosts #Include conf/extra/httpd-vhosts.conf (查找这行,把前面的#去掉) 注释 DocumentRoot "D:/Program Files/Apache/Apache2.2/htdocs" 注释 #<Directory /> #    Options FollowSymLinks #    AllowOverride None #    Order deny

apache配置虚拟主机,为什么总是第一个VirtualHost起效

问题描述 hosts配置如下:/*********************************127.0.0.1localhost127.0.0.1school.jiaoyu365.net127.0.0.1m.jiaoyu365.net127.0.0.1c.jiaoyu365.net127.0.0.1api.app.jiaoyu365.net/*********************************httpd.conf配置如下/***************************

windows2003 apache配置虚拟主机和绑定域名服务_win服务器

本篇文章的方法大概在网上都可以找到解决方法,只是不是很明确,在这为了减少网友像我这么粗心的少走些弯路,我自己写了下一个简单明了的设置过程. 先说下我的服务器的环境: windows 2003 服务器 apache_2.0.48 php4.2 (我们服务器是独立IP,服务器上也没有装IIS,也没有装DNS服务器之类的,所以只能用Apache虚拟主机了) 下面开始说设置步骤:(我这只说基于主机名的虚拟主机一个IP地址,多个网站 的配置过程,如需了解更多,请参考Apache虚拟主机文档) 1.在win

windows2003下apache配置虚拟主机和绑定域名服务_win服务器

本篇文章的方法大概在网上都可以找到解决方法,只是不是很明确,在这为了减少网友像我这么粗心的少走些弯路,我自己写了下一个简单明了的设置过程. 先说下我的服务器的环境: windows 2003 服务器 apache_2.0.48 php4.2 (我们服务器是独立IP,服务器上也没有装IIS,也没有装DNS服务器之类的,所以只能用Apache虚拟主机了) 下面开始说设置步骤:(我这只说基于主机名的虚拟主机一个IP地址,多个网站 的配置过程,如需了解更多,请参考Apache虚拟主机文档) 1.在win

Linux下Nginx配置虚拟主机VirtualHost实例教程

增加 Nginx 虚拟主机 这里假设大家的 Nginx 服务器已经安装好, 不懂的请阅读各 linux 发行版的官方文档或者 LNMP 的安装说明. 配置 Virtual host 步骤如下: 进入 /usr/local/nginx/conf/vhost 目录, 创建虚拟主机配置文件 demo.neoease.com.conf ({域名}.conf). 打开配置文件, 添加服务如下:    代码如下 复制代码 server {     listen          80;           

apache配置虚拟主机方法

如果你安装的是 wamps教程erver 集成的   那你就进入wampbinapacheapache2.2.11confextrahttpd-vhosts.conf 配置文件 进行如下配置: 意思是配置3个虚拟主机 ,分别是 1 website.localhost:8080 c:usersn.zhangdocumentswebsitedhr3 2 tools.localhost:8080 c:usersn.zhangdocumentstools 3 test.localhost:8080 c:

apache配置虚拟主机的方法详解_php技巧

1.apache配置文件中打开vhost的配置LoadModule vhost_alias_module modules/mod_vhost_alias.soInclude conf/extra/httpd-vhosts.conf 2.extra目录中的httpd-vhosts.conf里面进行配置,有三个:第一个DocumentRoot,项目的绝对目录,后面以/结尾:第二个是ServerPath,与DocumentRoot一致:第三个是ServerName,自己在浏览器中输入的域名.如:tes