Apache基于域名、端口、IP的虚拟主机配置(Centos 6.5)
虚拟主机:部署多个站点,每个站点,希望用不同的域名和站点目录,或者是不同的端口,不同的ip,需要虚拟主机功能。一句话,一个http服务要配置多个站点,就需要虚拟主机。
虚拟主机分类:基于域名、基于端口、基于ip;所谓的基于**,就是靠**来区分不同的站点,支持各种混合,N多个虚拟主机。
基于域名的虚拟主机配置如下:
创建环境:
| 站点目录 | 域名 |
| /var/html/blog | blog.bqh123.com |
| /var/html/bbs | bbs.bqh123.com |
[root@bqh- extra]# mkdir /var/html/{blog,bbs} -p
[root@bqh- extra]# touch /var/html/{blog,bbs}/index.html
[root@bqh- extra]# tree /var/html/
/var/html/
├── bbs
│ └── index.html
└── blog
└── index.html
directories, files
[root@bqh- extra]# for name in blog bbs;do echo "http://$name.bqh123.com" >/var/html/$name/index.html;done
[root@bqh- extra]# for name in blog bbs;do cat /var/html/$name/index.html;done
http://blog.bqh123.com
http://bbs.bqh123.com
配置虚拟主机配置文件:httpd-vhosts.conf
[root@bqh- extra]# vim httpd-vhosts.conf #
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration. #
# Use name-based virtual hosting.
#
NameVirtualHost *: #
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:>
ServerAdmin @qq.com
DocumentRoot "/var/html/blog"
ServerName blog.bqh123.com
ServerAlias bg.bqh123.com
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost> <VirtualHost *:>
ServerAdmin @qq.com
DocumentRoot "/var/html/bbs"
ServerName bbs.bqh123.com
ServerAlias bs.bqh123.com
ErrorLog "logs/bbs-error_log"
CustomLog "logs/bbs-access_log" common
/VirtualHost>
在主配置文件(httpd.conf)里激活生效:
- Include conf/extra/httpd-vhosts.conf
- Include conf/extra/httpd-mpm.conf

检测配置文件语法错误并刷新配置:
[root@bqh- extra]# ../../bin/apachectl -t
httpd: apr_sockaddr_info_get() failed for bqh-
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
[root@bqh- extra]# ../../bin/apachectl graceful
httpd: apr_sockaddr_info_get() failed for bqh-
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
配置一下hosts解析:
[root@bqh- extra]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.0.119 blog.bqh123.com bbs.bqh123.com
windows系统,在“C:\Windows\System32\drivers\etc”下的hosts中配置一下域名解析:

----------------------------------------------------------------------------------
用cur或客户端浏览器测试一下:


解决方法:
在主配置文件(httpd.conf)追加一下内容:
<Directory "/var/html">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
检测配置文件语法错误,刷新配置,从新启动:
[root@bqh- conf]# vim httpd.conf
[root@bqh- conf]# ../bin/apachectl -t
httpd: apr_sockaddr_info_get() failed for bqh-
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
[root@bqh- conf]# ../bin/apachectl graceful
httpd: apr_sockaddr_info_get() failed for bqh-
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
用cur或客户端浏览器测试一下:



---------------------------------------------------------------------------------
ok,Apache基于域名的虚拟主机配置及测试完成。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
基于端口的虚拟主机配置如下:
①在主配置文件httpd.conf里配置监听新增端口:

②在虚拟机配置文件httpd-vhosts.conf修改如下:

③检测配置文件语法错误,刷新配置,从新启动:
[root@bqh- conf]# ../bin/apachectl -t
httpd: apr_sockaddr_info_get() failed for bqh-
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
[root@bqh- conf]# ../bin/apachectl graceful
httpd: apr_sockaddr_info_get() failed for bqh-
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[root@bqh- conf]# netstat -lntup|egrep "80|90"
tcp ::: :::* LISTEN /httpd
tcp ::: :::* LISTEN /httpd
④用cur或客户端浏览器测试一下:



注:如果不加端口访问,默认以ip的形式解析访问。
ok,Apache基于端口的虚拟主机配置及测试完成。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
基于IP的虚拟主机配置如下:
①添加别名IP


②在虚拟机配置文件httpd-vhosts.conf修改如下:

③检测配置文件语法错误,刷新配置,从新启动:

④用cur或客户端浏览器测试一下:



ok,Apache基于IP的虚拟主机配置及测试完成
Apache基于域名、端口、IP的虚拟主机配置(Centos 6.5)的更多相关文章
- CentOS 7运维管理笔记(6)----Apache 基于 IP 的虚拟主机配置
Apache 配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置.本篇随笔记录自己基于IP的虚拟主机配置. 如果同一台服务器有多个IP,可以使用基于IP的 ...
- Nginx总结(二)基于ip的虚拟主机配置
前面讲了如何安装配置Nginx,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要说的 ...
- 源码编译安装LAMP环境及配置基于域名访问的多虚拟主机
实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本: Mysql-5.6.23 php版本 ...
- 源码编译安装LNMP环境及配置基于域名访问的多虚拟主机
实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) nginx版本: nginx-1.6.2 mysql版本: Mysql-5.6.23 php版本: ...
- mac 下 xampp 多域名 多站点 多虚拟主机 配置
前言:最近用mac工作了,需要搭建个调试前段程序的站点,选了xampp,需求是能同时运行多个站点,多个域名,目录自定义,网上找了好多资料,都感觉有些不符合心意,且复制文确实很多,甚至有些没实践过的在乱 ...
- 基于ip的虚拟主机配置——在一台服务器上绑定多个 IP 地址
进入/etc/sysconfig/network-scripts,修改ifcfg-ens33文件 输入 ip addr 查看ip 引用:https://blog.csdn.net/u013887008 ...
- 【 APACHE 】 Apache2.4.x版本虚拟主机配置
今天准备使用apache搭建一个目录浏览的服务,折腾了一下. apache2.4.x以后的版本: Require all granted 代替了apache2.4.x以前版本: Order Allow ...
- lamp centos虚拟主机配置
1.基于不同端口的虚拟主机配置 [root@lamp~]# vi /etc/httpd/conf/httpd.conf Listen 80 #设置监听不同的虚拟主机需要使用的端口 Liste ...
- Nginx配置基于多域名、端口、IP的虚拟主机
原文:https://www.cnblogs.com/ssgeek/p/9220922.html ------------------------------- Nginx配置基于多域名.端口.IP的 ...
随机推荐
- Spring cloud微服务安全实战-6-9sentinel之熔断降级
来讲一下降级规则 服务会互相调用,服务A会有一些服务之间的依赖. 假设服务D的响应时间变长了.A调用D就会卡住了. 熔断,某一个服务出现问题,会把服务拖死.如果A出现,会把依赖A的那些服务拖死. 主要 ...
- C++的override和final
1.final用于让虚函数不可被重写 struct B2 { virtual void f() final {} // final 函数 }; struct D2 : B2 { virtual voi ...
- Python - Django - ORM 聚合查询和分组查询
models.py: from django.db import models # 出版社 class Publisher(models.Model): id = models.AutoField(p ...
- LeetCode_226. Invert Binary Tree
226. Invert Binary Tree Easy Invert a binary tree. Example: Input: 4 / \ 2 7 / \ / \ 1 3 6 9 Output: ...
- 客户端业务层(非数据层json或xml层)的数据结构
private string errorMessage = "系统繁忙,请稍后重试";//不成功时的提示信息:成功时,可以忽略掉 private int result ...
- Dockerfile构建nginx镜像
Dockerfile构建nginx镜像 [root@bogon ~]# mkdir /opt/docker-file [root@bogon ~]# cd /opt/docker-file/ [roo ...
- Mathtype安装与最简破解
1.MathType资源 链接: https://pan.baidu.com/s/1UapJCcfU7Me_rIWdAe5nfw 提取码: 1y9i 2.破解 我之前的30天试用期过了,没来得 ...
- [计算机视觉][ARM-Linux开发] Ubuntu14.04安装OpenCV3.2中遇到的问题的解决方案
2. ubuntu下,opencv3.x安装一直downloading这个包,要看超时信息里的下载路径,把它放到下载路径中,比如我的opencv3.2.0源文件路径为/home/han/softwar ...
- input回退禁止
//处理键盘事件 禁止后退键(Backspace)密码或单行.多行文本框除外 function forbidBackSpace(e) { var ev = e || window.event; //获 ...
- Nio学习笔记(大部分网上摘抄)
Nio与IO的区别 原有的 IO 是面向流的.阻塞的,NIO 则是面向块的.非阻塞的. 1.IO流每次从流中读一个或多个字节,直至读完所有字节,他们没有被缓存在其他地方,并且,IO流不能移动流中的数据 ...