Apache服务器——基于不同端口不同域名搭建的虚拟Web主机
2018-06-06 20:24
1151 查看
Apache 简介:
Apache HTTP Server是开源软件项目的杰出代表,基于标准的 HTTP 网络协议提供网页浏览服务,在 Web 服务区领域长期保持着超过半数的份额。Apache 服务器可以运行在Linux、Unix、Windows等多种操作系统平台中。Apache的主要特点:
1.源代码开放;2.跨平台应用;
3.支持各种 Web 编程语言;
4.模块化设计;
5.运行非常稳定;
6.良好的安全性。
虚拟 Web 主机:
虚拟Web主机是指在同一台服务器中运行多个Web站点,其中的每一个站点实际上并不独自占用整个服务器。在实际企业应用当中,可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。使用 httpd 可以非常方便的搭建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的 Web 站点。httpd 支持的虚拟主机类型包括以下三种:
1.基于域名:为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的。
2.基于 IP 地址:为每个虚拟主机使用不同的域名,且各自对应的 IP 地址也不相同。
3.基于端口:这种方式并不使用域名、IP 地址来区分不同的站点内容,而是使用不同的 TCP 端口号,因此要求用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。
本次我们在 CentOS7 上搭建一台 Apache 服务器,并在这台服务器上配置基于域名及基于端口的不同 Web 站点。
实验环境:
CentOS 7 (搭建httpd 网站服务,DNS 域名解析服务)IP 地址:192.168.100.200
挂载镜像光盘到目录/mnt:mount /dev/cdrom /mnt
开始实验:
一:测试 Apache 服务
搭建 httpd 服务:rpm -ivh /mnt/Packages/httpd-2.4.6-67.el7.centos.x86_64.rpm
编辑httpd.conf配置文件:
vim /etc/httpd/httpd.conf Listen 192.168.100.200:80 #Listen 80 ServerName www.wzn.com:80
测试:
关闭防火墙,开启服务并尝试访问:systemctl stop firewalld setenforce 0 systemctl start httpd
多个域名及端口的虚拟 Web 主机的配置文件在安装目录下的区域配置项中,其主要形式如下:
<Directory /> //定义"/"目录区域的开始
Options FollowSymlinks //控制选项,允许使用符号链接
AllowOverride None //不允许隐含控制文件中的覆盖配置
Order deny,allow //访问控制策略的应用顺序
Deny from all //禁止任何人访问此区域
</Directory> //定义"/"目录区域的结束
二:基于不同域名的虚拟主机
创建不同域名访问的配置文件:[root@CentOS7-1 ~]# cd /etc/httpd/conf.d/ [root@CentOS7-1 conf.d]# vim vhost.conf <Directory /var/www/html> //设置目录访问权限 Order allow,deny Allow from all </Directory> NameVirtualHost 192.168.100.200:80 //设置虚拟主机监听地址 <VirtualHost 192.168.100.200:80> //设置wzn虚拟站点区域 ServerAdmin admin@wzn.com //管理员邮箱 DocumentRoot /var/www/html/wzn/ //虚拟主机目录 ServerName www.wzn.com //域名 ErrorLog logs/wzn.com-error_log //错误日志> CustomLog logs/wzn.com-access_log common //访问日志 </VirtualHost> NameVirtualHost 192.168.100.200:80 <VirtualHost 192.168.100.200:80> ServerAdmin admin@wzn01.com DocumentRoot /var/www/html/wzn01/ ServerName www.wzn01.com ErrorLog logs/wzn01.com-error_log CustomLog logs/wzn01.com-access_log common </VirtualHost>
为虚拟主机准备网页文档:
[root@CentOS7-1 ~]# mkdir /var/www/html/wzn [root@CentOS7-1 ~]# mkdir /var/www/html/wzn01 [root@CentOS7-1 ~]# echo "<h1>this is wzn.com</h1>" > /var/www/html/wzn/index.html [root@CentOS7-1 ~]# echo "<h1>this is wzn01.com</h1>" > /var/www/html/wzn01/index.html
我们要用到域名解析服务,安装 bind 进行域名解析:
[root@CentOS7-1 ~]# rpm -ivh /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm
编辑 bind 主配置文件:
[root@CentOS7-1 conf.d]# vim /etc/named.conf options { listen-on port 53 { 192.168.100.200; }; //监听本机地址 listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; //允许任意地址解析
编辑区域配置文件,将需要解析的域名放入 zone 中:
[root@CentOS7-1 ~]# vim /etc/named.rfc1912.zones ##省略部分信息## zone "wzn.com" IN { type master; file "wzn.com.zone"; allow-update { none; }; }; zone "wzn01.com" IN { type master; file "wzn01.com.zone"; allow-update { none; }; };
配置区域配置文件:
[root@CentOS7-1 ~]# cd /var/named/ [root@CentOS7-1 named]# cp -p named.localhost wzn.com.zone [root@CentOS7-1 named]# vim wzn.com.zone $TTL 1D @ IN SOA @ admin ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 192.168.100.200 www IN A 192.168.100.200
由于 wzn01.com 的区域配置文件和 wzn.com 相同,故直接保留权限复制即可:
[root@CentOS7-1 named]# cp -p wzn.com.zone wzn01.com.zone
测试
重启服务并测试:[root@CentOS7-1 named]# systemctl restart named [root@CentOS7-1 named]# systemctl restart httpd
三:基于端口的虚拟主机
创建不同端口访问的配置文件:[root@CentOS7-1 ~]# vim /etc/httpd/conf.d/vhostport.conf //创建独立的配置文件 <Directory /var/www/html> //设置目录访问权限 Order allow,deny Allow from all </Directory> NameVirtualHost 192.168.100.200:80 //设置虚拟主机监听地址 <VirtualHost 192.168.100.200:80> //设置wzn03虚拟站点区域 ServerAdmin admin@wzn03.com //管理员邮箱 DocumentRoot /var/www/html/wzn03 //虚拟主机目录 ServerName www.wzn03.com //域名 ErrorLog logs/wzn03.com-error_log //错误日志 CustomLog logs/wzn03.com-access_log common //访问日志 </VirtualHost> NameVirtualHost 192.168.100.200:8080 <VirtualHost 192.168.100.200:8080> ServerAdmin admin@wzn04.com DocumentRoot /var/www/html/wzn04 ServerName www.wzn04.com ErrorLog logs/wzn04.com-error_log CustomLog logs/wzn04.com-access_log common </VirtualHost>
为虚拟主机准备网页文档:
[root@CentOS7-1 ~]# mkdir /var/www/html/wzn03 [root@CentOS7-1 ~]# mkdir /var/www/html/wzn04 [root@CentOS7-1 ~]# echo "<h1>this is wzn03.com</h1>" > /var/www/html/wzn/index.html [root@CentOS7-1 ~]# echo "<h1>this is wzn04.com</h1>" > /var/www/html/wzn01/index.html
更改主配置文件添加监听端口 8080 :
[root@CentOS7-1 ~]# vim /etc/httpd/conf/httpd.conf ##省略部分信息# Listen 192.168.100.200:80 Listen 8080 //添加 8080 端口
测试:
重启 httpd 服务,并通过客户机访问不同端口:[root@CentOS7-1 ~]# systemctl restart httpd
相关文章推荐
- Apache服务器搭建--基于域名的虚拟主机
- 在linux平台上搭建目前企业公司中基于域名,ip以及端口的虚拟主机apache服务!还有
- apache 基于域名,IP,端口 3种方式的虚拟主机
- apache基于域名和端口的虚拟主机
- apache搭建基于IP/域名的虚拟主机
- Apache配置虚拟主机的三种方法(基于IP、端口、域名)
- RHEL的Apache配置(基于ip&端口&域名的虚拟主机和认证)
- 第二章 Web网站服务(二)——搭建基于域名的虚拟web主机
- linux配置DNS服务器并基于域名IP端口配置虚拟web服务器【实验】
- 如何配置Apache虚拟主机?(基于IP、基于端口、基于域名)
- Centos中基于IP,域名,端口的虚拟主机搭建图文教程
- Apache虚拟主机(基于IP、基于端口、基于域名)
- 在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- apache虚拟主机基于域名,ip,端口,配置方法。
- Apache 的修改端口,虚拟主机搭建基于网站加密和常见问题解答
- linux小白搭建apache服务-基于端口的虚拟主机
- 在RHEL5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- apache服务器基于ip以及基于端口的虚拟主机访问
- Centos中基于IP,域名,端口的虚拟主机搭建图文教程
- 配置DNS服务器并配置基于域名 IP 端口配置虚拟web服务器