设为首页 收藏本站
查看: 674|回复: 0

[经验分享] Apache搭建web虚拟主机

[复制链接]

尚未签到

发表于 2018-11-17 11:15:29 | 显示全部楼层 |阅读模式
  在同一台Apache服务器中运行多个web站点,其中的每一个站点实际上不会占用着整个服务器,通过虚拟web主机服务可以充分利用服务器的硬件资源,从而降低网站构建以及运行成本。虚拟主机主要类型分为三种:
  1、基于IP端口
  对每个不同域名的虚拟主机设置单独IP,因此,在服务器中需要设置多个网卡,对于硬件成本和IP成本要求都高,此种方式在实际中不常用,本文暂且略过;
  2、基于端口IP
  使用TCP不同端口来区分不同的站点内容,需要在用户访问站点时跟上指定端口号才可实现访问;
  3、基于主机名
  每个服务器主机可以构建多个不同域名服务器,但都使用相同IP地址;此种方式在实际中较为常用!
  当网页分类内容较多,对于后台运维数据处理与更新压力较大,因此需要建立分类管理的目录,方便管理,称为虚拟目录;
  实验描述:


  • 实验环境Redhat6.5版本
  • 服务器IP地址:192.168.100.107
  • Redhat镜像挂载至/mnt下
  • 本实验使用Apache2.2版本
  rpm -q httpd  //查看Apache版本


环境部署

  rpm -q httpd //检查是否安装Apache
  service iptables stop     //关闭防火墙
  setenforce 0      //关闭增强安全×××


建立Apache虚拟目录(用户访问控制)

1、虚拟目录访问

  rpm -ivh /mnt/Packages/httpd-2.2.15-29.el6_4.x86_64.rpm  // 安装Apache2.2
  vim /etc/httpd/conf/httpd.conf  //编辑主配置文件

  

Listen 192.168.100.107:80  //更改监听地址和监听端口  
#Listen 80   //注释IPV6的监听
  
...
  
ServerName www.yun.com:80  //打开主机域名
  

  vim /etc/httpd/conf.d/vdir.conf
  //在子配置文件目录下创建虚拟目录配置文件 vdir.conf

  在vdir.conf中写入以下内容:
  

Alias /test "/opt/test/"   //指定虚拟目录名称为test,并指定目录站点在/opt/test  

  

  Options Indexes MultiViews FollowSymLinks
  AllowOverride None
  AuthName "hello" //认证名称
  authtype basic //用户认证方式为基本认证方式
  authuserfile /etc/httpd/user  //指定用户认证文件存放位置
  #authgroupfile /etc/httpd/group
  #require Valid-user  //设置用户访问权限,取消注释时即可实现用户授权访问;
  #require user test
  #Require group admin
  

  

  mkdir -p /opt/test   //创建虚拟目录站点
  vim /opt/test/index.html  //创建虚拟目录首页
  service httpd start  //开启httpd服务

DSC0000.jpg


2、用户授权访问

  vim /etc/httpd/conf.d/vdir.conf //编辑服务子配置文件

  

Alias /test "/opt/test/"   //指定虚拟目录名称为test,并指定目录站点在/opt/test  

  

  Options Indexes MultiViews FollowSymLinks
  AllowOverride None
  AuthName "hello" //认证名称
  authtype basic //用户认证方式为基本认证方式
  authuserfile /etc/httpd/user  //指定用户认证文件存放位置
  #authgroupfile /etc/httpd/group
  #require Valid-user  //取消注时即可实现用户授权访问;
  #require user test
  #Require group admin
  

  

  htpasswd -c /etc/httpd/user zhangsan  //创建授权访问用户
  service httpd restart  //重启httpd服务

  当再一次访问网页时变成了需要授权的用户才可访问:
DSC0001.jpg


相同IP不同端口

1、配置DNS
  可参见:DNS域名解析服务配置

  rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm  //首先安装DNS域名解析服务
  vim /etc/named.conf  //配置域名解析主配置文件

  

options {  listen-on port 53 { 192.168.100.107; }; //监听端口主机IP
  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; };   //允许任意网段主机都可解析
  recursion yes;
  

  vim /etc/named.rfc1912.zones  //编辑区域配置文件

  

zone "yun.com" IN {  type master;
  file "yun.com.zone";
  allow-update { none; };
  
};
  

  cd /var/named    //切换到区域数据配置目录下
  cp -p named.localhost yun.com.zone  //复制区域数据配置文件模板
  vim yun.com.zone  //配置区域数据配置文件

  

$TTL 1D  
@       IN SOA  @ admin. (     //修改管理员邮箱
  0       ; serial
  1D      ; refresh
  1H      ; retry
  1W      ; expire
  3H )    ; minimum
  NS      @
  A       127.0.0.1
  
www IN  A       192.168.100.107   //设置解析地址
  

  service named start  //开启DNS服务


2、不同端口不同内容

  vim /etc/httpd/vhost.conf  //创建虚拟主机端口配置文件

  写入以下内容:
  

NameVirtualHost 192.168.100.107:80   //设置主机IP及端口号  

  ServerAdmin webmaster@dummy-host.example.com
  DocumentRoot /opt/yun/  //设置80端口网页站点
  ServerName www.yun.com  //解析域名
  ErrorLog logs/yun.com-error_log  //错误日志存放位置
  CustomLog logs/yun.com-access_log common  //访问日志存放位置
  

  

  
NameVirtualHost 192.168.100.107:250
  

  ServerAdmin webmaster@dummy-host.example.com
  DocumentRoot /opt/yun01/  //设置80端口网页站点
  ServerName www.yun.com   //解析域名
  ErrorLog logs/yun01.com-error_log  //错误日志存放位置
  CustomLog logs/yun01.com-access_log common  //访问日志存放位置
  

  

  mkdir -p /opt/yun     //创建80端口站点
  echo "yun port 80 test web" > /opt/yun/index.html     // 创建 www.yun.com:80的首页内容
  mkdir -p /opt/yun01     //创建250端口站点
  echo "yun port 250 test web" > /opt/yun01/index.html     // 创建 www.yun.com:250的首页内容
  vim /etc/httpd/conf/httpd.conf   //编辑httpd服务主配置文件

  

Listen 192.168.100.107:80   //原有监听端口  
Listen 192.168.100.107:250  //添加监听端口
  

  service httpd restart  //重启httpd服务
  service named restart  //重启DNS服务

  当访问相同IP域名不同端口时出现不同内容:
DSC0002.jpg

DSC0003.jpg


相同IP不同主机

1、配置DNS解析服务

  vim /etc/named.rfc1912.zones  //编辑区域配置文件

  

zone "yun.com" IN {  type master;
  file "yun.com.zone";
  allow-update { none; };
  
};
  
zone "abc.com" IN {         //添加新的解析域名
  type master;
  file "abc.com.zone";
  allow-update { none; };
  
};
  

  cd /var/named
  cp -p yun.com.zone abc.com.zone  //复制区域数据配置文件模板
  vim abc.com.zone

  

$TTL 1D  
@       IN SOA  @ admin. (
  0       ; serial
  1D      ; refresh
  1H      ; retry
  1W      ; expire
  3H )    ; minimum
  NS      @
  A       127.0.0.1
  
www IN  A       192.168.100.107
  

2、不同主机

  vim /etc/httpd/conf.d/vhost.conf

  加入以下内容:
  

  ServerAdmin webmaster@dummy-host.example.com
  DocumentRoot /opt/abc/
  ServerName www.abc.com
  ErrorLog logs/abc.com-error_log
  CustomLog logs/abc.com-access_log common
  

  

  mkdir -p /opt/abc     //创建 www.abc.com的站点
  echo "this is abc" > /opt/abc/index.html  //创建内容
  service httpd restart  //重启httpd服务
  service named restart  //重启DNS服务

DSC0004.jpg

DSC0005.jpg




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636159-1-1.html 上篇帖子: Debian+Apache2服务器 下篇帖子: apache的虚拟目录和多端口多主机名的配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表