apache 使用心得(启动多实例,单实例监听多端口,单实例监听多域名)

很久之前就手动配置过apache了,今天遇到一个需要在阿里云服务器上配置apache路由多个域名到不同的服务器根目录这样的问题,研究了一段时间,得出了下面的心得,分享给大家~

*以windows系统为例子

下面要会说到的内容:

1 开启多个apache实例,监听多个端口(作用就是方便读取不同的配置文件)

2 单个apache实例监听多个端口

3 单个apache实例监听一个端口(80),实现不同域名访问80端口的时候,指向不同的服务器根目录

1 开启多个apache实例

httpd.exe -k install -n “服务名” -f “d:/apache2.2/conf/web2.conf” 切换到apache的安装目录下bin目录,httpd.exe -k install -n “服务名” -f “新配置路径/配置.conf”

添加新服务之后会提示test失败,原因是添加后没有开启,可以手动开启服务,开启方法可以使用apache提供的ApacheMonitor,选择实例开启~~~

有了多个实例之后,就可以分别去配置实例对应的conf文件了~注意不同实例监听的端口不能相同

2 单个实例监听多个端口

在配置文件找到Listen 80(服务器默认监听80),直接在下行加上Listen8080就可以监听第二个端口了

3 为同个端口配置不同的服务器根目录

这个是重点要说的,在配置文件中添加

#默认虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
 ServerName *
 DocumentRoot "C:/htdocs"
<Directory "C:/htdocs">
 Options FollowSymLinks IncludesNOEXEC Indexes
 DirectoryIndex index.html index.htm default.htm index.php default.php index.cgi default.cgi index.pl default.pl index.shtml
 AllowOverride None
 Order Deny,Allow
 Allow from all
</Directory>
</VirtualHost>

#新增虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
 ServerName www.hello.com
 DocumentRoot "C:/hello"
<Directory "C:/hello">
 Options FollowSymLinks IncludesNOEXEC Indexes
 DirectoryIndex index.html index.htm default.htm index.php default.php index.cgi default.cgi index.pl default.pl index.shtml
 AllowOverride None
 Order Deny,Allow
 Allow from all
</Directory>
</VirtualHost>

上面Direcotory不是必要项~

说明:域名可以在提供商处绑定到指定IP,访问域名的时候DNS会将域名解析到指定的IP(访问域名默认为*:80端口),所在IP上的服务器(默认监听80端口)就可以响应访问请求,同时服务器可以知道用户是通过哪个域名访问到服务器的

比如

www.hello.com域名绑定到服务器1.1.1.1

www.welcome.com域名也绑定到服务器1.1.1.1

这样子当有请求来是,服务器是可以知道请求是通过hello.com还是welcom.com进来的,所以就有了上面虚拟主机的配置方法

VirtualHost指定了一个ServerName,就是请求来自哪个域名

上面的配置效果就是,如果有来自www.hello.com的请求,则服务器的根目录为C:/hello,其它域名的根目录就是C:/htdocs了

时间: 2024-11-10 08:14:54

apache 使用心得(启动多实例,单实例监听多端口,单实例监听多域名)的相关文章

Vue.js 基础指令实例讲解(各种数据绑定、表单渲染大总结)——新手入门、高手进阶

Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架--只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用.他是基于AnjularJs 编写的,所以和前者的语法特别相似,却又使用简洁了很多. 那今天,我就给大家详细的说道说道这个 Vue.js ,以下是我们这次详解的目录,朋友们可以根据自己的情况选择性阅读,所有操作均附有代码实现. 1. Vue.js 如何绑定到页面中,使用他的功能. 2.

Apache ZooKeeper 服务启动源码解释

转载:https://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper-code/ 本文首先讲解了 Apache ZooKeeper 服务启动的三种方式,即 Standalone.伪分布式.分布式.然后针对分布式模式启动步骤进行逐步介绍,从 Shell 脚本开始,一直介绍到服务完全启动过程中所有的执行过程.通过本文读者基本可以掌握 ZooKeeper 如何启动.启动过程中做了哪些工作. 分布式系统从根本上来说就是不同节点上的进程并发

SQL:安装多个实例,修改实例端口号,和IP加端口号连接实例

sql server 安装第一个实例,默认实例的端口是1433, 一个库中如果有多个实例,从第二个实例开始的端口是动态端口,需要的话,自己手工指定为静态端口,如指定第二个实例为1434 或着随意一个如2080端口 方法: 点击电脑左下方的“开始”->“Microsoft SQL Server2005”->“配置工具”->“SQL Server Configuration Manager”-> “展开网络配置” -->点击“MYSQLSERVER协议” --> 双击左侧新

Linux下实现MySQL多端口多实例运行

声明 作者:昨夜星辰 博客:http://yestreenstars.blog.51cto.com/ 本文由本人创作,如需转载,请注明出处,谢谢合作! 目的 Linux下实现MySQL多端口多实例运行. 主要操作 创建/etc/my_multi.cnf文件 vi /etc/my_multi.cnf 内容如下(注意!如果你的MySQL是通过源代码方式安装,请根据实际情况更改mysqld和mysqladmin这两项,还有就是注意更改root的密码.) [mysqld_multi] mysqld = 

阿里云服务器实例规格怎么选,阿里云所有实例规格适用场景汇总

现在提到上云服务器,大多用户首先想到的就是阿里云,但是用户在实际购买阿里云服务器的时候却发现阿里云有多大几十种实例规格,对于新手来说,往往就不知道怎么选择了,其实我们可以根据阿里云官方介绍的实例规格所适合的适用场景选择就可以了. 以下表格仅展示了阿里云每个实例规格所适用的场景,更多实例的具体信息(网络收发包能力.处理器等)请参考阿里云帮助中心-实例规格族介绍 以下为阿里云服务器实例规格所对应的适用场景: 实例类型 适用场景 突发性能实例规格族t5 Web应用服务器轻负载应用.微服务开发测试压测服

室内设计 3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

[Apache]apache2不能启动的解决办法(提示could not bind to address 0.0.0.0:80)

昨晚重装了电脑,原来装的是win2003,后来中毒后杀完毒还能用就继续用着,只是运行不了新安装的软件,后来实在没办法才重装了XP,但是装完出现一个问题,系统居然装在了L盘,原来的D盘到J盘依此类推往前进了一位即从C盘到I盘~~原来的xampp装在了D盘,现在变成了C盘,打开XAMPP-Control面板,启动不了apache,后来想起apache/conf/httpd.conf里面的设置有问题,于是把所有的路径有关的设置都由原来的D:改为C:,发现还是不行,于是运行apache_start.ba

Apache shutdown unexpectedly启动错误解决方法

这个问题比较常见, 通常是80.443端口被占用 cmd 通过运行apache/bin/httpd.exe 打印如下log: (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次. : make_sock: could not bind to address 0.0.0.0:443 或者后面是80端口被占用 (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次. : make_sock: could not bind to address 0.0.

创建内部类的实例对象,必须创建外部类的实例对象

Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,方法:Outer.Inner in  = new Outer().new Inner(); 内部类可以引用全局变量; 静态方法创建实例内部类对象 内部类的最重要的一个特点就是它可以直接访问它外部类的成员变量.成员变量是 对象身上的.对象创建完成了,才会为成员变量分配空间.能调用成员变量, 意味着一定有了实例对象. main方法是静态的,它执行的时候可以不用创建那个对象.这就矛盾了. main方法运行的