apache虚拟主机

apache:服务器,Host,物理主机

虚拟主机:

apache服务:

服务于多个不同的站点:

apache:

中心主机

虚拟主机

基于IP

IP1:80

IP2:80

基于端口

IP:80

IP:8080

基于域名

IP:80

主机名不同

www.a.com

www.b.net

www.c.org

apache 2.2

NameVirtualHost

apache 2.4

serverAlias

serverName

DocumentRoot: /www/a.org

<Directory "/www/a.org">

Option

AllowOverride

</Directory>

Alias

Errorlog

Customlog

<Location "/images">

ScriptAlias  允许当前主机执行CGI脚本

</Location>

CGI:通用网关接口

得先取消中心主机,注释中心主机的DocumentRoot即可。

虚拟主机的定义

<VirtualHost Host>

</virtualHost>

基于IP,HOST的写法

IP1:80

IP2:80

基于端口:

HOST

IP:80

IP:8080

基于域名:

*:80

ServerName 不同

vim /etc/httpd/conf/httpd.conf

首先#掉#    DocumentRoot

或者在其他地方写一个vim /etc/httpd/conf.d/virtual.conf

定义基于IP和基于端口的虚拟主机

<VirtualHost 192.168.10.3:80 >

serverName www.b.com

DocumentRoot "/www/b.com"

</virtualHost>

<VirtualHost 192.168.10.4:80 >

serverName www.c.com

DocumentRoot "/www/c.com"

</virtualHost>

<VirtualHost 192.168.10.97:8080 >

serverName www.d.com

DocumentRoot "/www/d.com"

</virtualHost>

需要在配置文件中监听端口

Listen 80

Listen 8080

[[email protected] conf]# mkdir -p /www/b.com

[[email protected] conf]# mkdir -p /www/c.com

[[email protected] conf]# mkdir -p /www/d.com

[[email protected] c.com]# vim index.html分别在几个目录里创建一个文件来模拟网站

[[email protected] d.com]# ip addr add 192.168.10.3/24 dev eth0 创建2个别名

[[email protected] d.com]# ip addr add 192.168.10.4/24 dev eth0

[[email protected] d.com]# ip addr show 查看

基于名称虚拟主机的定义

namevirtualhost 192.168.1.51:80

<virtualhost 192.168.1.51:80>

servername www.b.net

documentroot "/www/b.net"

CustomLog "/var/log/httpd/b.net/access_log combined" 日志文件

<directory "/www/b.net" >拒绝192.168.1.100访问

options none

allowoverride none

order deny,allow

deny from 192.168.1.100

</directory>

--------------------------------------

<VirtualHost 192.168.1.51:80>

ServerName _default_    定义默认虚拟主机。当用户输错以后自动访问此主机。

DocumentRoot "/www/default"

</VirtualHost>

-----------------------------------------

<virtualHost 192.168.1.51:80>

servername www.b.com

documentroot "/www/b.com"

customlog "/var/log/httpd/b.com/access_log cmbined"

<dirctory  "/www/b.com"> 定义所有用户用密码访问

options none

allowOverride authconfig

authtype basic

authname  "Resteict area."

authuserfile "/etc/httpd/.htpasswd"

Require valid-user

</Dirctory>

</virtualhost>

#<Location /server-status>  定义一个Handler,在此是显示server的状态。

#    SetHandler server-status

#    Order deny,allow

#    Allow from all

#</Location>

时间: 2024-08-11 03:36:37

apache虚拟主机的相关文章

Apache虚拟主机配置

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似. 1. Apache基于域名配置虚拟主机: 打开Apache安装目录下的配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息: <VirtualHost _default_:80> DocumentRoot &quo

Apache虚拟主机及别名配置

Apache虚拟主机配置 增加监听端口(修改conf/httpd.conf文件) Listen 127.0.0.1:8092 修改主站点权限(修改conf/httpd.conf文件) <Directory /> AllowOverride none # Require all denied </Directory> 允许虚拟主机配置(修改conf/httpd.conf文件) # Virtual hosts Include conf/extra/httpd-vhosts.conf 增

Apache 虚拟主机简单设置

Listen 80 <VirtualHost 192.168.5.129> DocumentRoot /var/www/html/web ServerName 192.168.5.129 ErrorLog /etc/httpd/logs/129_error_log </VirtualHost> <VirtualHost 127.0.0.1> DocumentRoot /var/www/html ServerName 127.0.0.1 ErrorLog /etc/htt

Apache虚拟主机(VirtualHost)配置

首先找到Apache的配置文件httpd.conf find / -name httpd.conf 找到以下代码处 #Virtual hosts #Include conf/extra/httpd-vhosts.conf 按照上面的格式加入一行,你的虚拟主机配置文件,当然,你可以先加入再去写配置 Include conf/extra/httpd-vhosts.端口号.conf #此处填写端口号是为了统一管理,便于记忆 之后新建配置文件,在配置文件中输入以下信息 touch conf/extra/

配置LANMP环境(7)-- 配置nginx反向代理,与配置apache虚拟主机

一.配置nginx反向代理 1.修改配置文件 vim /etc/nginx/nginx.conf 在35行http下添加一下内容: include /data/nginx/vhosts/*.conf; include /etc/nginx/upstream.conf; 2.在/etc/nginx/目录下新建 upstream.conf文件 vim upstream.conf upstream dev.test1.com { server 127.0.0.1(换成虚拟机ip):8080 weigh

Apache虚拟主机搭建(单IP多网站服务器配置)

一些小型网站若一个网站放在一台服务器上会大量浪费服务器资源,如何在一个服务器上架设多个网站呢? 我们已经知道,架设一个网站需要http服务,安装Apache后,我们可以把我们网站的内容放入到/usr/local/apache2/htdocs/里面,启动httpd服务,设置好防火墙,就可以浏览我们的网站了,那么若是想要部署多个网站要怎么做呢?这就需要apache的一个vhost虚拟主机功能了.我们来用一个实验实现这个效果:计算机浏览器输入www.a.com 显示"I am A!",输入w

二、 搭建Apache虚拟主机

二. 搭建Apache虚拟主机 1.背景: 虚拟主机:一台web主机配置多个站点,每个站点,希望用不同的域名和站点目录,或者是不同的端口,或者是不同的IP. 假设网站的域名为:52linux.com,网站下面设有 http://www.52linux.com;: http://blog.52linux.com;: http://bbs.52linux.com: 三个站点,这样我们可以在一台apache主机上配置虚拟主机来实现. 通常虚拟主机分为3种: 基于域名,基于端口,基于IP,以及它们的混合

DNS服务+Apache虚拟主机

安装RPM包 [[email protected] extra]# rpm -qa | grep "^bind" bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64 伪根 (可有可无) 主要: bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64 bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64 bind-9.8.2-0.17.rc1.el6_4.6.x86_64 安装软件包 yum instal

http服务(四)——apache虚拟主机配置

apache虚拟主机分为三类:基于IP.基于端口.基于域名.通常虚拟主机和物理主机不能同时使用,开启虚拟主机需注释掉以下一行: DocumentRoot "/var/www/html" 一.基于IP 1. 假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP: [[email protected] root]# ifconfig eth0:1 192.168.1.11 [[email protected] root]# ifcon

ubuntu下apache虚拟主机出现forbidden错误的解决办法

交换两个变量:例如num1=5,num2=6→num1=6,num=5 怎么样?是不是觉得灰常简单,你是不是用下面的方法做的: int num1=5: int num2=6: int temp=num1: num1=num2; num2=temp; Console.WriteLine("num1={0},num2={1}",num1,num2); 好吧!你赢了!你做的非常对!就就是所谓的值传递 声明一个中间变量temp!没有可说的!大家都懂的! 接着我们来看下面这个比较犀利的出题人: