apache在相同端口及不同端口设置多个虚拟主机,以及在本机自定义域名
- 格式:doc
- 大小:27.00 KB
- 文档页数:2
Apache绑定多IP多域名1.为Apache绑定多IP多域名(备用)当然还想尝试多域名的功能–网上也有很多.相比上一篇IIS上绑定多IP多域名,在Apache服务器上绑定方法要简单些,主要因为Apache是个开源独立的服务器软件,而且支持跨平台安装和配置,支持丰富的API扩展,所以很多人对Apache 的好感要甚于IIS,Apache的优点就不用多说了,还是来看看如何为Apache配置多 IP和多域名,天缘在上篇文章中说过,多IP和多域名绑定问题有很多种方法,所以本文仍然只介绍常规的绑定方法,即通过修改httpd.conf文件来绑定IP地址和域名。
HTTPD配置文件说明:Apache服务器httpd.conf配置文件说明注意:•无论Windows主机还是Linux主机,在Apache接收处理前,首要要确保这些IP地址已经映射到APACHE服务上,也就是说,对要首先保证操作系统本身接受这些IP地址访问,Windows绑定多IP参考前一篇文章(如何为Windows绑定多个IP和多个域名),Linux 绑定多IP地址先自行搜索解决,以后再补充。
•测试之前,确保域名已经解析到本服务器上且已生效。
•本文默认按照80端口配置,还可以通过同IP但不同端口来区分不同网站,该情况一般是用在主机管理上。
举个例子:可以使用http://192.168.1.100作为正常网址,而http://192.168.1.100:2020则可以用来做后台配置管理等。
•绑定方法有很多种,比如虚拟绑定、单IP多域名绑定、多IP单域名绑定、多IP多域名绑定、端口识别绑定等等,而且每种绑定可能还有不同的实现方法,根据自己习惯和场合选择使用。
1.Apache绑定单IP多域名1、示例绑定:•IP地址192.168.1.100•对应两个域名和http://bbs.(二级域名)2、绑定过程a、打开http.conf,该文件位置在apache/conf下面,直接用文本编辑器即可打开。
Apache下关于虚拟主机的配置关于虚拟主机的概述:配置虚拟主机主要应用场景:多站点访问,一个服务器放置了多个站点服务。
主要的三种配置方法:1、基于IP 2、基于端口3、基于主机名步骤详解:1.虚拟主机使用的话,必须将中心服务关闭,在/etc/httpd/conf/httpd.conf文件里,将DocumentRoot一行注释掉来关闭中心服务。
2.可以在httpd.conf文件最后面直接添加虚拟主机的配置内容,也可以在/etc/httpd/conf.d/下面创建一个自己的配置文件,如:my.conf文件。
3.my.conf文件配置详解1)基于IP配置<VirtualHost 192.168.0.112:80>ServerName DocumentRoot "/www/"</VirtualHost><VirtualHost 192.168.0.113:80>ServerName DocumentRoot "/www/"</VirtualHost>以上2个虚拟主机配置的IP分别为192.168.0.113和192.168.0.112,端口同为80端口。
这样在浏览器分别输入不同的ip或域名时就会访问到不同的站点。
Tips:如果只有一块网卡可以同过ipaddr add 192.168.0.112 dev eth0来添加辅助ip。
如果是域名方式访问,还需要在windows和linux下的hosts文件里面自行添加域名解析。
关于辅助ip的设置:ipaddr add 192.168.0.112/24 dev eth0这是为网卡设置一个辅助ip。
假如一个网卡的ip地址为192.168.0.22,执行上面的命令,在用ifconfig 查看,会发现有两个ip地址,而192.168.0.22称为主地址(Primary IP address),而192.168.0.112称为辅助地址(secondary IP address),一块网卡是允许有多个IP地址的,所以就算再多添加几个secondary IP 也是合法行的。
内容:这里讲述一些Apache虚拟主机中比较容易发生的问题和解决的一些基本思路,给出一些比较典型的错误的示例理解。
一.设置虚拟主机会发生些什么问题?基本上会最容易遇到两个问题:1.虚拟主机发生冲突。
2.宿主机的丢失。
(当然还会遇到其他很多的问题,但是这里我们先讨论这2个问题)1.虚拟主机发生冲突:无论是采用哪种形式的虚拟主机,都会发生虚拟主机冲突的问题,尤其是在Apache的虚拟主机系统变得庞大而复杂的时候尤其容易发生。
但是请记住,无论什么采用什么形式的虚拟主机,甚至多种混用,如果造成虚拟主机冲突的话,根本原因就只有一个:“至少有一个原因,使得Apache不能区别一些虚拟主机”。
之前一个一直强调的一个部分就是“Apache需要能够做到区分每个虚拟主机”。
如果能够通过IP区分的话,那就通过IP区分;如果需要多个主机共享一个IP 的话,那么可以设定不同的端口让Apache去区分;如果需要多个虚拟主机使用一个IP并且端口也用同一个的话,那么也要通过不同的域名来让Apache做到对不同虚拟主机的区分。
一个最经常发生的错误,就是在多个IP地址上进行基于域名方式虚拟主机的配置当中,没有指定和规划好哪几个虚拟主机是归属于哪个IP地址下,造成Apache对一些虚拟主机不能区别。
沿用第二章中的示例,以下给出一个典型错例。
[root@kcentos5 ~]# vi /etc/httpd/myconf/virthosts.conf------------(注意:此为典型错误配置的示例)----------NameVirtualHost 192.168.1.111:80(VirtualHost后面没有指定自己归属的IP地址)DocumentRoot /var/www/vhost1/ServerName (VirtualHost后面没有指定自己归属的IP地址)DocumentRoot /var/www/vhost2/ServerName NameVirtualHost 192.168.1.222:80(VirtualHost后面没有指定自己归属的IP地址)DocumentRoot /var/www/vhost3/ServerName (VirtualHost后面没有指定自己归属的IP地址)DocumentRoot /var/www/vhost4/ServerName -------------------------------------------------------在这个虚拟主机的配置当中,通过2个NameVirtualHost配置项指出Apache将在192.168.1.111和192.168.1.222 这两个IP地址上分别做基于域名的虚拟主机。
Apache 虚拟主机 VirtualHost 配置虚拟主机 (Virtual Host)是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的IP 和端口, 也可让多个网站拥有不同的域名.Apache 是世界上使用最广的 Web 服务器, 从版开始支持虚拟主机. 本文将讲解在不同服务器 (Redhat Enterprise Linux, Ubuntu Linux, Windows) 上使用 Apache 搭建虚拟主机来搭建多个网站.主旨本文旨在让读者知道如何在同一台机器上搭建多个网站, 并附带一些使用技巧. 以操作为主, 不会过多谈及原理.目标本文是写给拥有一定的服务器配置和管理技能, 工作中需要同时维护多个网站的网站主, 网站开发者和网络管理员. 如果你是互联网公司的配管工程师, 对计算机服务器原理和操作十分熟悉, 请忽视本文, 你不会在上面找到太多有价值的东西.Redhat Enterprise LinuxRedhat Enterprise Linux (包括 CentOS Linux), 是使用最广的 Linux 服务器, 大量的网站应用都部署在其上.1. 打开文件 /etc/httpd/conf/, 搜索 VirtualHost example, 找到代码如下:## VirtualHost example:# Almost any Apache directive may go into a VirtualHost container.# The first VirtualHost section is used for requests without a known# server name.##<VirtualHost *:80># ServerAdmin# DocumentRoot /www/docs/ ServerName ErrorLog logs/ CustomLog logs/ common#</VirtualHost>2. 仿照例子, 添加一段代码来指定某一域名的网站.## DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致#<VirtualHost *:80>ServerAdminDocumentRoot /var/www/httpdocs/demo_aliluna_comServerName ErrorLog logs/ CustomLog logs/ common</VirtualHost>3. 重启 httpd 服务, 执行以下语句.service httpd restartUbuntu LinuxUbuntu 在 Linux 各发行版中, 个人用户数量最多的. 很多人在本机和虚拟机中使用. 但 Ubuntu 和 Redhat 的 VirtualHost 设置方法不相同.1. 打开目录 /etc/apache2/sites-available/, 发现 default 和default-ssl 两个文件, 其中 default 是 http 虚拟主机服务的配置文件, default-ssl 是配置 https 服务使用的. 可以复制一份 default 文件. 并修改配置文件名, 文件名必须与域名一致 (如:2. 打开新建的配置文件, 修改 DocumentRoot, ServerName 和对应的配置目录. 例子如下:## DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致#<VirtualHost *:80>ServerAdminDocumentRoot /var/www/httpdocs/demo_aliluna_comServerName ErrorLog ${APACHE_LOG_DIR}/ CustomLog ${APACHE_LOG_DIR}/ combined</VirtualHost>3. 通过 a2ensite 激活虚拟主机配置sudo a2ensite 打开目录 /etc/apache2/sites-enabled/, 你会发现所有激活的虚拟主机, 可以通过 a2dissite 进行注销sudo a2dissite 重启 Apache 服务, 激活虚拟主机sudo/etc/apache2 restartWindowsWindows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其VirtualHost 配置方法与 Linux 上有些差异, 以下方式适合原生 Apache, XAMPP 和 WAMP 套件.1. 打开目录 {Apache2 安装目录}\conf\extra\, 找到文件.2. 仿照例子, 添加一段代码来指定某一域名的网站.## DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致#<VirtualHost *:80>ServerAdminDocumentRoot "D:/workspace/php/demo_aliluna_com"ServerName ErrorLog "logs/"CustomLog "logs/" common</VirtualHost>3. 打开文件, 添加如下语句.# Virtual hostsInclude conf/extra/4. 重启 Apache 服务.总结最近我在不同的几台服务器上搭建了一些网站服务, 这篇文章也算是我的个人笔记, 望日后可自用, 也希望对读者有用. 文中介绍了几个主流开发和部署环境上配置虚拟主机的方法, 其他 OS 大同小异.。
Apache配置详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。
其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。
PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。
Listen 80 #服务器监听的端口号。
ServerName :80 #主站点名称(网站的主机名)。
ServerAdmin admin@ #管理员的邮件地址。
DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。
以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。
FollowSymLinks: 在该目录下允许文件系统使用符号连接。
Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。
其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#options AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。
环境:Ap ache2.2.9,Resin-3.1.6,Win Serv er 20031.解压Re sin至任意目录,我的是D:;2.安装Apa che,具体操作下一步、下一步即可,其中要配置的地方是需要你填写网站名等信息,这里可以不用管它,全部填写loc alhos t,默认端口 80;3.进入Resi n目录运行setup.exe,勾选Web Serv ers中的Apach e复选框,并在后面的输入框中填写你的Ap ache安装目录,我的是D:\Apach e2.2;4.打开 Apa che的配置文件(D:\Apa che2.2\con f\htt pd.co nf,我的),找到这行:Loa dModu le ca ucho_modul e "D:/resi n-3.1.6/wi n32/a pache-2.0/mod_c aucho.dll",就是你的Resin安装目录中与Apac he整合的插件模块,不过它默认的是ap ache-2.0目录下的,使用这个模块,在启动Ap ache服务器时会出错,必须使apach e-2.2目录下的mod_c aucho.dll,修改后为:LoadM odule cauc ho_mo dule"D:/r esin-3.1.6/win32/apa che-2.2/mo d_cau cho.d ll";5.找到这行:#S erver Namelocal host:80,将前面的#号去掉(不知道为什么它默认把它注释了); 6.找到这行:<Di recto ry "D:/Apa che2.2/htd ocs">,改为<D irect ory />,如果不改Apac he将不会去找虚拟主机配置文件中对应的目录(如果你用loca lhost访问);7.将O ption s Ind exesFollo wSymL inks,目录列表,安全设置为将Inde xes去掉,不显示目录列表;8.将#i ncl ude c onf/e xtra/httpd-vhos ts.co nf前面的#号去掉,打开虚拟主机配置;至此ht tpd.c onf配置结束. 下面对h ttpd-vhost s.con f进行配置.ht tpd-v hosts.conf在"D:\Apach e2.2\conf\extra" 目录下,将"Na meVir tualH ost *:80"改为"Nam eVirt ualHo st lo calho st:80",确定为你本机(测试时),如果正式启用Inter net服务,就把它换成你的服务器的IP地址吧,下面的是虚拟主机基本配置:X ml代码<Vir tualH ost l ocalh ost:80> S erver Namelocal host Doc ument RootE:/wo rkspa ce/ss hDemo/WebR oot Alia s /te st E:/work space/test/WebR oot Resi nConf igSer ver 127.0.0.1 6800 </V irtua lHost><Virt ualHo st lo calho st:80>Se rverN ame l ocalh ost Do cumen tRoot E:/w orksp ace/s shDem o/Web RootAlia s /te st E:/work space/test/WebR ootResin Confi gServ er 127.0.0.1 6800</Virtu alHos t>各个元素说明:<Virtu alHos t loc alhos t:80>:loca lhost为网站域名,80端口可以不写,如果改成别的端口则需要写上,同时还要修改httpd.conf中的监听端口号:L isten 80 Serve rName:网站域名,同上;Docu mentR oot:网站程序主目录;A lias:网站中其他的WEB应用的名称及目录位置;Re sinCo nfigS erver:Resi n服务器监听端口,我这里是本地为:127.0.0.1,如果有多台机器作为服务器,修改成对应IP地址即可; 以上就将虚拟主机的配置完成了,一个网站对应一个<Virtu alHos txxx.xxx.com></Virt ualHo st>标记;Re sin配置:Re sin 配置文件:D:\Res in-3.1.6\c onf\r esin.conf,打开并搜索"8080"对应的就是HTTP端口,将H TTP端口注释,因为我们已经不需要Re sin提供WEB服务了,只要让它监听本的端口就行,本地监听端口位置大概在149,这样一行"<serv erid="" a ddres s="127.0.0.1" p ort="6800"/>",同样如果Ap ache装在别的机器上,这里就改成这台机器的IP地址了,否则Apach e会找不到Resin的端口的;如果想使用多J VM来实现多机器的功能实现:一个JV M一个配置文件; 每个配置文件的监听端口不能相同,要改<serve r id="" ad dress="127.0.0.1"po rt="6800"/>中的po rt值,6801,6802,...以此类推,Apa che与之保持一致;将Re sin注册成为 Wi ndows服务: 命令行切换至Resi n主目录,运行htt pd -i nstal l 完成默认resi n服务安装,http d -re move完成默认re sin服务卸载,使用多JVM时就不能这样安装,如下:ht tpd -insta ll-as服务名-conf对应re sin配置文件; httpd -rem ove-a s 服务名然后启动Apac he与Re sin,这时会发现R esin服务只能启动一个,为什么呢,因为Resi n 在注册为Windo ws服务的时候都有一个自己监控的功能,它会占用一个端口:6600,在r esin.conf中大概121行的位置可以看到:"<wat chdog-port>6600</wat chdog-port>",所当该端口被占用,re sin服务便失败了,修改之,为方便可以这样来修改:本地监听端口6800,自己监听:6600,6801:6601,方便,记忆快. 这样就完成了Apa che与R esin实现多网站的应用了;分类: Apac he2011-09-08--------------------------------------------------------------------------------c1009。
Apache2.0多个虚拟主机+Tomcat6多个虚拟主机整合配置来源:开发界Apache与Tomcat介绍Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力。
Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
为什么需要整合整合的最主要原因是为了在现有的硬件条件下提供最大的负载。
如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制;在测试中,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。
所以现在提出一个“整合”解决方案:将html与jsp的功能部分进行明确分工,让tomcat 只处理jsp部分,其它的由apache这个webserver处理。
Apache与Tomcat各司其职,那么服务器的整体效率就能够得到提升。
整合的基本原理作为Apache下面的子项目,Tomcat与Apache之间有着天然的联系。
在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给tomcat 服务器,由tomcat服务器进行解析后,发回apache,再由apache发回用户。
Apache 配置虚拟主机三种方式1. 基于IP2.基于主机名3.基于端口基于ip需要多个IP;基于主机名需要只在本机有效,或者需要改动每个客户端的hosts文件;所有采用基于端口的。
基于端口的Apache配置虚拟主机1.打开httpd.conf,查找Virtual hosts将Include conf/extra/httpd-vhosts.conf前面的#去掉2. 建立虚拟主机存放网页的根目录,如在/htdocs目录下建立test1、test2文件夹,在文件夹中分别存放index.php,内容分别为<?php echo “test1”;?>,<?php echo “test2”;?> 3.修改配置文件将原来的Listen 80改为Listen 80Listen 80804. 打开apache\conf\extra\httpd-vhosts.conf文件,在httpd-vhosts.conf中写入如下配置:<VirtualHost *:8080>DocumentRoot "D:/xampp/htdocs/test1"ServerName test1<Directory "D:/xampp/htdocs/test1">Order Allow,DenyAllow from 192.168.1.237</Directory></VirtualHost><VirtualHost *:80>DocumentRoot " D:/xampp/htdocs/test2"ServerName test2</VirtualHost>5.重启apache,测试。
从ip为192.168.1.237电脑的浏览器中输入192.168.1.239:8080可以访问,输出”test1”;本地输入192.168.1.239:8080,禁止访问。
apache实现部署多个⽹站(⼀个ip部署多域名)的⽅法详解前⾔在⽇常的⽹站发布中很多情况下都⽆法做到⼀个IP对应⼀个站点,在IP4的情况下IP的资源是相对有限的。
然⽽作为最流⾏的Apache⾃然也考虑到这种情况,下⾯来⼀起看看详细的介绍吧。
配置⽅法⾸先apache的版本是2.4.7,然后系统是Ubuntu 14.04.1 LTS。
(因为好像配置⽂件和⽬录有差异)⾸先进到apache2⽬录下,我们要探讨的主要是sites-available和sites-enabled根据字⾯意思,前⼀个是⽹站可⽤的,后⼀个是⽹站可⽤的,然后我们还知道了,sites-enabled⾥⾯的⽂件是sites-available⾥⾯⽂件的软链接,所以我们主要改site-available的⽂件,打开site-available有两个⽂件,但我们只需要000-default.conf⽂件,打开cat⽂件代码如下:<VirtualHost *:80># The ServerName directive sets the request scheme, hostname and port that# the server uses to identify itself. This is used when creating# redirection URLs. In the context of virtual hosts, the ServerName# specifies what hostname must appear in the request's Host: header to# match this virtual host. For the default virtual host (this file) this# value is not decisive as it is used as a last resort host regardless.# However, you must seothert it for any further virtual host explicitly.#ServerName ServerAdmin webmaster@localhostDocumentRoot /var/www/# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,# error, crit, alert, emerg.# It is also possible to configure the loglevel for particular# modules, e.g.#LogLevel info ssl:warnErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined# For most configuration files from conf-available/, which are# enabled or disabled at a global level, it is possible to# include a line for only one particular virtual host. For example the# following line enables the CGI configuration for this host only# after it has been globally disabled with "a2disconf".#Include conf-available/serve-cgi-bin.conf</VirtualHost>这就是⽹址配置⽂件了,⽽我们要修改的只有被注释掉的ServerName 域名,DocumentRoot 路径这两个部分,去掉注释剩下。
实验一Apache服务器配置1Apache服务器介绍与安装Apache是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web 服务器端软件之一。
1.1Apache安装Network Domain 和Server Name 分别为这台服务器的域名和服务器名称.1.2端口号设置找到apache的安装目录,进入conf文件夹,找到httpd.conf。
用记事本或者其他文本编辑软件打开,查找80.将Listen 80 和ServerName localhost:80中的80改成8081或者8001等你喜欢的数字。
现在重启apache服务器,输入localhost:8080即可查看。
但是在此建议大家不要修改apache的端口号。
下文所有文章端口号都是用的80端口。
2httpd.conf文件主要功能介绍●ServerRoot directory-pathServerRoot指令设置了服务器所在的目录。
一般来说它将包含conf/和logs/子目录。
使用DEB包安装的系统, 此项的默认值为"/etc/apache2" 也就是说仅仅包括apache2的配置文件.必须注意, 该目录是受保护的, 不允许非root用户对其进行修改.●Include file-path | directory-path这个指令允许在服务器配置文件中加入其它配置文件。
●Alias URL-path file-path|directory-pathAlias指令使文档可以被存储在DocumentRoot以外的本地文件系统中。
以(%已解码的)url-path路径开头的URL可以被映射到以directory-path开头的本地文件。
●< Directory directory-path > ... < / Directory >< Directory > 和< / Directory > 用于封装一组指令,使之仅对某个目录及其子目录生效。
在PHP服务器上配置apache绑定多域名关于如何在apache上绑定多域名的问题apache服务器配置文件在/apache/conf/httpd.conf这个文件夹下有三个文件,httpd.conf是主配置文件,其他的,初学者可以不管,但是在安全上有些问题。
绑定域名的设置,在httpd.conf的最后几行,例如:### 部分3: 虚拟主机# 基于名称的虚拟主机示例:[/color]## ServerAdmin webmaster@# DocumentRoot /www/docs/# ServerName # ErrorLog logs/-error_log# CustomLog logs/-access_log common#注意,每行前有#号的,说明这只是注释,并不对apache产生控制,所以,如果你要绑定域名,在下面加入行,去掉#就可以了。
如下:### 部分3: 虚拟主机# 基于名称的虚拟主机示例:#设置网站管理员邮箱ServerAdmin webmaster@#虚拟主机目录(网站根目录)DocumentRoot /www/docs/#要绑定的域名ServerName #产生记录文件ErrorLog logs/-error_log#记录文件CustomLog logs/-access_log common如果你是在本机测试,这篇文章的意义不大。
谁也不会把域名绑定到一个变动IP的机器上,如果是在服务器上安装apache,则要先指定IP,使用以下命令:#指定主机IP地址NameVirtualHost 12.34.56.78这样的话,就把域名绑定到指定IP上了。
————————————————————[color=crimson]关于如何安装win2000adv+php5.0+iis+apache2+mysql+perl如果你用windows,下载最新的apache(2.0.54),php(5.0.4),mysql(5.x的是测试版,推荐用4.1.1x),zend optimizer 2.5.7和kehui cms。
CentOS服务器apache绑定多个域名的⽅法Apache是最流⾏的HTTP服务器软件之⼀,其以快速、可靠(稳定)⽽著称,并且可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,并且源代码全部开放。
如果有⾃⼰的服务器或者VPS,并且不想为了⽅便⽽购买昂贵的控制⾯板的话,那⾃⼰动⼿配置Apache就成了⼀门必修课了。
下⾯简单的介绍了如何通过设置Apache的http.conf⽂件,进⾏多个域名以及其相关的⼆级域名的绑定(假设我们要绑定的域名是和,⼆级域名是,独⽴IP为72.167.11.30).apache怎么绑定多个域名打开http.conf1、ServerName 127.0.0.1 修改成ServerName 72.167.11.302、#NameVirtualHost * 修改成"NameVirtualHost 72.167.11.30"3、在⽂件最后⾯有虚拟主机格式:#<VirtualHost *># ServerAdmin [email]admin@[/email]# DocumentRoot /www/httpd/html/# ServerName # ErrorLog logs/-error_log# CustomLog logs/-access_log common#</VirtualHost>//简单的添加:<VirtualHost 72.167.11.30>DocumentRoot usr/local/www/ServerName 72.167.11.30</VirtualHost><VirtualHost 72.167.11.30>DocumentRoot usr/local/www//ServerName </VirtualHost><VirtualHost 72.167.11.30>DocumentRoot usr/local/www//ServerName </VirtualHost>⽇志⽂件的话也可以按照⾃⼰的路径添加。
apache中使⽤mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)在apache的环境下该如何配置多个HTTPS虚拟主机呢?利⽤的原理的都是同⼀个,也就是SNI。
基于域名的虚拟主机,即共享同⼀个IP地址和端⼝的HTTPS虚拟主机。
SNI—服务器名称指⽰,是⼀个TLS的扩展,它使得启⽤SSL的基于域名的虚拟主机的配置成为可能。
打破了每个HTTPS的虚拟主机需要⼀个IP地址的要求。
因此,成本⼤⼤降低,因为所有的HTTPS虚拟主机可以共享相同的IP地址和端⼝,使HTTPS Web服务的更简单。
在apache环境下,需要使⽤mod_gnutls来实现同⼀个IP上配置多个HTTPS主机。
下⾯来看看实现过程:1. 安装mod_gnutls复制代码代码如下:# yum install httpd-devel gnutls-devel# wget /downloads/mod_gnutls/mod_gnutls-0.2.0.tar.bz2# tar -xjvf mod_gnutls-0.2.0.tar.bz2# cd mod_gnutls-0.2.0# ./configure --prefix=/usr# make3. 配置httpd.conf复制代码代码如下:Listen 10.1.1.22:443LoadModule gnutls_module modules/mod_gnutls.soAddType application/x-x509-ca-cert .crtAddType application/x-pkcs7-crl .crlGnuTLSCache dbm "/var/cache/mod_gnutls_cache"GnuTLSCacheTimeout 300NameVirtualHost 10.1.1.22:443创建回话缓存⽬录复制代码代码如下:# mkdir -m 0700 /var/cache/mod_gnutls_cache# chown nobody.nobody /var/cache/mod_gnutls_cache4. 配置虚拟主机复制代码代码如下:<VirtualHost 10.1.1.22:443>ServerName :443GnuTLSEnable onGnuTLSCertificateFile ./ssl/.public.cerGnuTLSKeyFile ./ssl/.private.keyDocumentRoot "/data/wwwroot//webroot"</VirtualHost><VirtualHost 10.1.1.22:443>ServerName :443GnuTLSEnable onGnuTLSCertificateFile ./ssl/.public.cerGnuTLSKeyFile ./ssl/.private.keyDocumentRoot "/data/wwwroot//webroot"</VirtualHost>这样访问每个虚拟主机都正常。
Apache下的虚拟主机设置.txt22真诚是美酒,年份越久越醇香浓型;真诚是焰火,在高处绽放才愈是美丽;真诚是鲜花,送之于人手有余香。
一颗孤独的心需要爱的滋润;一颗冰冷的心需要友谊的温暖;一颗绝望的心需要力量的托慰;一颗苍白的心需要真诚的帮助;一颗充满戒备关闭的门是多么需要真诚这一把钥匙打开呀!Apache下的虚拟主机设置摘要:本文介绍了WWW服务器的虚拟主机的工作原理,讨论了在Apache WWW服务器下的各种虚拟主机、尤其是大规模虚拟主机的设置技术,并比较了各种方式的特点。
关键词:Apache WWW Virtual Hosting 虚拟主机一、WWW服务器虚拟主机原理WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器。
比如由一台机器同时提供, 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别。
使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度。
另外,对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的WWW服务器,目前国内有很多公司都提供这种免费的服务。
WWW虚拟主机有两种工作方式:1.1 基于IP地址的虚拟主机方式这种方式下,不同的主机名解析到不同的IP地址,提供虚拟主机服务的机器上同时设置有这些IP地址。
服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。
缺点:基于IP地址的虚拟主机方式需要在提供虚拟主机服务的机器上设立多个IP地址,既浪费了IP地址,又限制了一台机器所能容纳的虚拟主机数目。
因此这种方式越来越少使用。
但是,这种方式是早期使用的HTTP 1.0协议唯一支持的虚拟主机方式。
1.2 基于主机名的虚拟主机方式由于基于IP地址的虚拟主机方式有如上的缺点,HTTP 1.1协议中增加了对基于主机名的虚拟主机的支持。
Apache中在相同端口及不同端口设置多个虚拟主机,以及在本机自定义域名
参考了一些资料,自己又试了以下,有一点成功的经验。
以下步骤在appserv2.5.9的apache中成功。
一、在一个不同端口(如1234):
1.从apache的程序目录\conf\httpd.conf 中增加 Include
conf/extra/httpd-vhosts.conf(取消前面井号)
2.从apache的程序目录\conf\extra\httpd.conf 中增加一条记录,设置好网站根目录,域名,管理员可不设
如
<VirtualHost *:1234>
ServerAdmin admin@
DocumentRoot D:/AppServ/www/yoursiteroot
ServerName
</VirtualHost>
3.增加httpd.conf 中listen的端口号,在listen 80下面加入listen 1234
二、若需要在相同端口安装不同域名网站:
1.从apache的程序目录\conf\httpd.conf 中增加 Include
conf/extra/httpd-vhosts.conf(取消前面井号)
2.从apache的程序目录\conf\extra\httpd-vhosts.conf 中增加一条记录,新增网站的端口保持为80
如
<VirtualHost *:80>
ServerAdmin admin@
DocumentRoot D:/AppServ/www/yoursiteroot
ServerName
</VirtualHost>
把原有的示例记录注销掉,因为原有范例设置网站根目录不存在,apache重新启动时会报错。
若启用虚拟主机,则原来的localhost的指向不会保持为未开启前的,而是指向新设置的网站根目录,于是需要在\conf\extra\httpd-vhosts.conf 中增加一个指向原来的文件夹端口同样为80的记录。
三、实现在本机自定义的域名和IP的映射关系:
在host文件(c:/windows/system32/drivers/etc/host)中增加“域名 IP”映射,注意是“域名 IP”映射,IP不能包含端口号和路径。
否则设置无效。
原来的host文件中有
localhost 127.0.0.1
的映射,增加
127.0.0.1
即可在本机用来访问本机上搭建的网站。
结合以上几个可实现在一台机器相同端口搭建不同域名的网站,同理可在非80的许多端口搭建多个网站。
***** From flflag from NENU 20120222 *****。