Apache 配置虚拟主机之2--基于 IP

  • 基于 name-based
  • 基于 IP
  • 基于 port
  • 结合

二、基于IP

配置hosts,httpd.conf,eno

1、假设服务器已有IP为192.168.136.140,使用ifconfig在同一个网络接口eno16777736(或者eth0)绑定另外2个IP,或者同 nmtui 配置。可以进行ping探测。

[[email protected] ~]# ifconfig eno16777736:192.168.136.143
[[email protected] ~]# ifconfig eno16777736:192.168.136.144
2、修改/etc/hosts文件,添加一一对应的域名
# IP-Based
192.168.136.143    www3.example.com
1921.68.136.144    www4.example.com

3、建立虚拟主机存放网页的根目录

# /var/www 目录结构
[[email protected] www]# tree
.
├── cgi-bin
├── html
├── logs
│   ├── www1
│   │   ├── access_log
│   │   └── error_log
│   ├── www2
│   │   ├── access_log
│   │   └── error_log
│   ├── www3
│   │   ├── access_log
│   │   └── error_log
│   └── www4
│   ├── access_log
│   └── error_log
└── vhosts
    ├── www1
    │   └── index.html
    ├── www2
    │   └── index.html
    ├── www3
    │   └── index.html
    └── www4
        └── index.html

index.html内容分别如下

[[email protected] www3]# cat index.html ../www4/index.html
Holle world!
Welcom to www3.example.com site with IP-Based.
Holle world!
Welcom to www4.example.com site with IP-Based.

4、在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着修改httpd-vhosts.conf配置

# IP-Based
<VirtualHost 192.168.136.143:80>
    ServerAdmin [email protected]
    ServerName www3.example.com
    DocumentRoot "/var/www/vhosts/www3"
    ErrorLog "/var/www/logs/www1/error_log"
    CustomLog "/var/www/logs/www1/access_log" combined
</VirtualHost>

<VirtualHost 192.168.136.144:80>
    ServerAdmin [email protected]
    ServerName www4.example.com
    DocumentRoot "/var/www/vhosts/www4"
    ErrorLog "/var/www/logs/www4/error_log"
    CustomLog "/var/www/logs/www4/access_log" combined
</VirtualHost>

5、配置语法检查 httpd -S,可看到Name-Based和IP-Based共存。

[[email protected] www]# httpd -S
VirtualHost configuration:
192.168.136.143:80     www3.example.com (/etc/httpd/conf/httpd.conf:98)
192.168.136.144:80     www4.example.com (/etc/httpd/conf/httpd.conf:106)
*: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 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
Mutex proxy: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48
Group: name="apache" id=48

6、重启服务 systemctl restart httpd.service,然后访问4个站点。

[[email protected] www]# curl www1.example.com  www2.example.com www3.example.com www4.example.com
Holle world!
welcome to www1.example.com site with Name-Based.
Holle world!
welcome to www2.example.com site with Name-Based.
Holle world!
Welcom to www3.example.com site with IP-Based.
Holle world!
Welcom to www4.example.com site with IP-Based.
# 通过IP或者域名访问3,4
[[email protected] www]# curl www3.example.com  192.168.136.143:80  www4.example.com 192.168.136.144:80
Holle world!
Welcom to www3.example.com site with IP-Based.
Holle world!
Welcom to www3.example.com site with IP-Based.
Holle world!
Welcom to www4.example.com site with IP-Based.

Holle world!
Welcom to www4.example.com site with IP-Based.

至此已完成了IP-Based的配置。

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

问题:用户如何配置和管理。

时间: 2024-10-04 18:44:25

Apache 配置虚拟主机之2--基于 IP的相关文章

Apache 配置虚拟主机之3--基于IP+Port结合

基于 name-based 基于 IP 基于 port 结合 三.基于IP+Port 这次是创建www5,通过IP:8080访问www5.example.com 目录/var/www vim /etc/httpd/conf/httpd.conf 添加内容 httpd -S 检查配置 apachectl restart 重启服务 尝试访问网站 到此,已完成了IP+port虚拟主机配置. 问题: 1)如何控制各虚拟主机的访问流量,如何了解各主机的性能状态?

[Linux]Apache配置虚拟主机

Apache 配置虚拟主机的方式很多,种类也很多,主要分为两类: 基于名称的虚拟主机 (每个 IP 多个站点) 基于 IP 的虚拟主机 (每个 IP 一个站点) 基于名称的虚拟主机:  www.2cto.com 在windows下  Apache 的配置文件 conf/httpd.conf 中加载 虚拟主机配置文件  /extra/httpd-vhosts.conf 找到 Include "conf/extra/httpd-vhosts.conf" 取消注释即可. 现在,到httpd-

windows环境利用apache 配置虚拟主机

1.修改http.host #LoadModule vhost_alias_module modules/mod_vhost_alias.so #Include conf/extra/httpd-vhosts.conf 去掉这两项的# 2.修改httpd-vhosts.conf添加如下内容 <VirtualHost 127.0.0.1:80> DocumentRoot D:/wamp/www/trc ServerName www.abc.com </VirtualHost> 3.修

apache配置虚拟主机时需要注意到几个小细节

如今apache在web服务器这块市场占有率还是很高的,而配置虚拟主机现在也是用的非常多,不过在配置虚拟主机的时候一定要注意几个小细节. 首先要注意你的apache版本,注意是2.2还是2.4的. 配置2.2的时候,配置虚拟主机该这样写: NameVirtualHost ip:80   //注意此处与2.4不同 <VirtualHost ip:80> ServerName www1.myweb.com DocumentRoot "/myweb/vhost/www1" <

CentOS 5上Apache配置虚拟主机范例

昨天实践了下在CentOS 5上通过Apache直接配置虚拟主机,服务器没有安装面板软件,所以只能通过SSH远程连接操作了.Apache安装在/etc/httpd目录下,这个即是Apache的根目录,所以Apache配置文件/etc/httpd/conf/httpd.conf中的ServerRoot设置的是ServerRoot “/etc/httpd”.我们编辑httpd.conf,在虚拟主机配置区看到如下的代码: #NameVirtualHost *:80ps:中间数行无关紧要注释略去了.#<

apache配置虚拟主机 个人理解

范例 Listen 80 #NameVirtualHost * <VirtualHost *:8080> ServerName apacheconfig2 DocumentRoot /var/www/apacheconfig/test1 DirectoryIndex index.html #站点的默认访问资源,即不指明请求资源时,默认访问index.html文件 <Directory "/var/www/apacheconfig/test1"> #设置对目录的访

win10下关于apache配置虚拟主机

apache安装完默认是不开启虚拟服务器的,如果希望在本地apache上面配置虚拟服务器,类似于在网上买的虚拟主机,可以按照以下步骤进行配置: 1,修改本机的hosts文件,如下 示例:127.0.0.1 localhost127.0.0.1 xlb.com 127.0.0.1 xlb2.com 2,打开Apache的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. LoadModule vhost_alias_module modules/mod_vhost_alias

Apache配置虚拟主机后,不能访问localhost的问题

今天想试用一下php7,但是发现php7只支持Apache2.4版本,而我电脑上的Apache是2.2版本,为了想尝鲜,就必须去下载新的Apache2.4 php7和apache2.4安装整合以后,localhost可以正常访问,没问题. 然后我又配置了几个虚拟主机,这时候,虚拟主机可以正常访问,但是localhost就访问不了了. 其实以前这种问题我也经历过,比如我之前用的php5.4搭配Apache2.2,就可以虚拟主机和localhost都可以访问: 但是我之前怎么解决的我也不记得了,今天

mac 安装apache 配置虚拟主机

来源:http://blog.csdn.net/qianling3439/article/details/29410381 启动Apache 打开“终端(terminal)”,输入 sudo apachectl -v,(可能需要输入机器秘密).如下显示Apache的版本 接着输入 sudo apachectl start,这样Apache就启动了.打开Safari浏览器地址栏输入 “http://localhost”,可以看到内容为“It works!”的页面.其位于“/Library(资源库)