热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Apache配置虚拟主机之1基于名称(namebased)

基于name-based基于IP基于port结合一、基于名称(name-based)需要配置hosts,httpd.conf实验环境需求:2个域名:www1.example.com
  • 基于 name-based
  • 基于 IP
  • 基于 port
  • 结合

一、基于名称(name-based)

需要配置 hosts,httpd.conf

实验环境需求:

2个域名:www1.example.com www2.example.com

IP:192.168.136.140

端口:80

文件目录。/var/www目录下的结构如下。

[root@docker1 www]# tree
.
├── cgi-bin
├── html
├── logs
│   ├── www1
│   │   ├── access_log
│   │   └── error_log
│   └── www2
│   └── error_log
└── vhosts
    ├── www1
    │   └── index.html
    └── www2
        └── index.html

10 directories, 3 files

index.html的内容如下

[root@docker1 www]# cat /var/www/vhosts/www[12]/*

Holle world!
welcome to www1.example.com site.
Holle world!
welcome to www2.example.com site.

# 编辑本地DNS
vim /etc/hosts

# 添加多域名的记录
192.168.136.140 www1.example.com www2.example.com

# 添加 Name-Based 虚拟主机块配置
vim /etc/httpd/conf/httpd.conf
## Name-Based ####################################################
80>
    # This first-listed virtual host is also the default for *:80 第一个虚拟主机为默认主机
    ServerName www1.example.com
    ServerAlias example1.com
    DocumentRoot "/var/www/vhosts/www1"


80>
    ServerName www2.example.com
    #ServerAlias example2.com
    DocumentRoot "/var/www/vhosts/www2"

###################################################################

# 检查配置语法 *:80    is a NameVirtualHost 这里能正常解析,语法OK
[root@docker1 vhosts]# httpd -S
VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server www1.example.com (/etc/httpd/conf/httpd.conf:82)
         port 80 namevhost www1.example.com (/etc/httpd/conf/httpd.conf:82)
                 alias example1.com
         port 80 namevhost www2.example.com (/etc/httpd/conf/httpd.conf:89)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default 
Mutex mpm-accept: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48
Group: name="apache" id=48
[root@docker1 vhosts]# 

# 重启 httpd
systemctl restart httpd.service
systemctl status httpd.service

[root@docker1 vhosts]# systemctl status httpd.service -l
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-12-14 15:56:58 CST; 26min ago
     Docs: man:httpd(8)
           man:apachectl(8)
  Process: 5951 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 5957 (httpd)
   Status: "Total requests: 9; Current requests/sec: 0; Current traffic:   0 B/sec"
   Memory: 4.1M
   CGroup: /system.slice/httpd.service
           ├─5957 /usr/sbin/httpd -DFOREGROUND
           ├─5958 /usr/sbin/httpd -DFOREGROUND
           ├─5959 /usr/sbin/httpd -DFOREGROUND
           ├─5960 /usr/sbin/httpd -DFOREGROUND
           ├─5962 /usr/sbin/httpd -DFOREGROUND
           ├─5975 /usr/sbin/httpd -DFOREGROUND
           ├─5978 /usr/sbin/httpd -DFOREGROUND
           ├─5979 /usr/sbin/httpd -DFOREGROUND
           ├─5980 /usr/sbin/httpd -DFOREGROUND
           ├─5981 /usr/sbin/httpd -DFOREGROUND
           └─6233 /usr/sbin/httpd -DFOREGROUND

Dec 14 15:56:58 docker1 systemd[1]: Starting The Apache HTTP Server...
Dec 14 15:56:58 docker1 httpd[5957]: AH00558: httpd: Could not reliably determine the servers fully qualified domain name, using 192.168.136.140. Set the ServerName directive globally to suppress this message
Dec 14 15:56:58 docker1 systemd[1]: Started The Apache HTTP Server.
[root@docker1 vhosts]# 

# 验证通过域名访问
[root@docker1 vhosts]# curl 127.0.0.1

Holle world!
welcome to www1.example.com site.

[root@docker1 vhosts]# curl www1.example.com

Holle world!
welcome to www1.example.com site.

[root@docker1 vhosts]# curl www2.example.com

Holle world!
welcome to www2.example.com site.

现在基于主机名的配置已完成。

附:http://httpd.apache.org/docs/2.4/vhosts/name-based.html

技术分享

Apache 配置虚拟主机之1--基于名称(name-based)


推荐阅读
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 本文探讨了如何在 F# Interactive (FSI) 中通过 AddPrinter 和 AddPrintTransformer 方法自定义类型(尤其是集合类型)的输出格式,提供了详细的指南和示例代码。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
author-avatar
83984246_42dbe6
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有