文档章节

web 服务的简单部署,httpd

胡子叭槎
 胡子叭槎
发布于 2016/10/09 21:39
字数 1665
阅读 293
收藏 0

1    安装Apache的软件包httpd

yum list|grep httpd

2    配置httpd 的配置文件

    vim  /etc/httpd/conf/httpd.conf  里面的相关设置

ServerName localhost

监听设置我80端口

Listen 80

httpd启动根目录的设置,例如:DocumentRoot "/var/www/html"

这个根目录可以自己定义

启用访问控制

<Directory "/myweb"> 
    Options  FollowSymLinks
    AllowOverride None
    Order allow,deny   <-----定义acl控制的顺序,这里代表先允许,不再允许范围内的都拒绝
    Allow from all      <----定义允许所有

    IndexOptions NameWidth=*    #根据文件名自动调整列宽

    IndexOptions Charset=UTF-8  #编码格式,防止中文乱码
</Directory>   

配置完成后重启httpd

service httpd restart

在浏览器中访问主机

httpd启动默认访问的是设置的根/myweb下的index.html,如果没有index.html 则主页就会显示上面的阿帕奇的主页。

自己定义个index.html 

[root@wzlvm myweb]# cat index.html 
hello word!

  295 <Directory "/myweb">
 297    Options Indexes FollowSymLinks
 298     AllowOverride None
 299     Order allow,deny
 300     Allow from all
 302 </Directory>

上面的Indexes 索引能提供文件链接,如下:

3    口令验证

    修改参数 ,把AllowOverride none 改成 AllowOverride ALL  

在httpd的启动根目录下建.htaccess文件,文件内容如下:

  Authname "Just for test"
  authtype basic
  authuserfile /etc/httpd/userpw
  require valid-user

用一下命令设置用户和密码

htpasswd -c /etc/httpd/userpw test

设置完用户名和密码就可以重启httpd 然后登陆

4    设置虚拟主机

    如果只有一个主机,需要部署多个服务,就需要配置虚拟主机

    有两种设置方法,基于域名的虚拟主机 和基于端口的虚拟主机

    4.1    基于域名的虚拟主机:

    打开/etc/httpd/conf/httpd.conf 文件里面的 NameVirtualHost *:80 并添加虚拟主机的配置文件

<VirtualHost *:80>
    DocumentRoot /www/wzltest1
    ServerName www.wzltest1.com
    ErrorLog logs/www.wzltest1.com-error_log
    CustomLog logs/www.wzltest1.com-access_log common
</VirtualHost>

该虚拟主机指定了主机名称为www.wzltest1.com  启动根目录为www.wzltest1和相关的日志文件

建好根目录/www/wzltest1并且在里面创建也index.html文件

[root@wzlvm wzltest1]# cat index.html 
hello my name is wzltest1
[root@wzlvm wzltest1]# 

4.2    给域名虚拟主机配置DNS

        根据域名虚拟主机的主机名ServerName www.wzltest1.com 设置DNS的主区域配置文件和区域配置文件。

zone "wzltest1.com"{
    type master;
    file "wzltest1.com";
    };

 

记得修改区域配置文件的权限为root.named

区域配置文件的内容为:

[root@wzlvm named]# cat wzltest1.com 
$TTL 1D
@   IN SOA  ns.wzltest1.com. admin.wzltest1.com. ( 
2016100903   ; serial  
1D  ; refresh   
1H  ; retry       
1W  ; expire   
3H ); minimum 
wzltest1.com.      IN NS   ns.wzltest1.com. 
ns.wzltest1.com.   IN A    192.168.125.132        
www           IN A    192.168.125.132   

根据上面的区域配置文件,可以解析到192.168.125.132

注意:本机的/etc/reslove.conf 也要指定 本DNS服务器

4.2.1   重启DNS 和httpd 并验证

[root@wzlvm named]# service named restart
Stopping named: [  OK  ]
Starting named: [  OK  ]

[root@wzlvm named]# service httpd restart
Stopping httpd: [  OK  ]
Starting httpd: [  OK  ]

校验一下DNS解析是否成功:

[root@wzlvm named]# dig -t A www.wzltest1.com

在浏览器中验证。注意:本测试时在字符界面虚拟机中测试的,字符界面没有浏览器,需要安装elinks 字符浏览器。

elinks www.wzltest1.com

由于本机是Windows,无法DNS解析,可以直接访问192.168.125.132进行访问

重新再配一台虚拟主机:

/etc/httpd/conf/httpd.conf中添加

<VirtualHost *:80>
    DocumentRoot /www/wzltest2
    ServerName www.wzltest2.com
    ErrorLog logs/www.wzltest2.com-error_log
    CustomLog logs/www.wzltest2.com-access_log common
</VirtualHost>

/etc/named.rfc1912.zones 中添加第二部域名虚拟主机的配置

zone "wzltest2.com"{
    type master;
    file "wzltest2.com";
    };

在/var/named下面添加第二部虚拟主机区域配置文件

内容如下:

[root@wzlvm named]# cat wzltest2.com 
$TTL 1D
@   IN SOA  ns.wzltest2.com. admin.wzltest2.com. ( 
2016100903   ; serial  
1D  ; refresh   
1H  ; retry       
1W  ; expire   
3H ); minimum 
wzltest2.com.      IN NS   ns.wzltest2.com. 
ns.wzltest2.com.   IN A    192.168.125.132        
www           IN A    192.168.125.132 

注意:上面的DNS服务器地址和需要DNS解析的目的IP地址是两个不同的概念,只是当前做的实验DNS服务器好客户机是同一台,所以IP地址是一样的。

添加第二台虚拟主机的启动根目录:

/www/wzltest2

重启service named restart 和service httpd restart

验证 dig -t A www.wzltest2.com

根据上面两台虚拟主机www.wzltest1.com 和www.wzltest2.com的部署失效了同有个IP 192.168.125.132部署两个应用。

4.3    基于不同端口的虚拟主机

        和4.2 基于域名的虚拟主机相似,httpd配置文件中要添加

<VirtualHost 172.16.10.1:8081>
    DocumentRoot /www/uplooking
    ServerName www.uplooking.com
    ErrorLog logs/www.uplooking.com-error_log
    CustomLog logs/www.uplooking.com-access_log common
</VirtualHost>
<VirtualHost 172.16.10.1:8082>
   DocumentRoot /www/up17
   ServerName www.up17.com
   ErrorLog logs/www.up17.com-error_log
   CustomLog logs/www.up17.com-access_log common
</VirtualHost>

4.2 的配置段是放在/etc/httpd/conf/httpd.conf中,同样的也可以放在/etc/httpd/conf.d/ 路径下面以.conf结尾

如下:

<VirtualHost 192.168.125.132:8081>
      DocumentRoot /www/wzltest3
      ServerName www.wzltest3.com
      ErrorLog logs/www.wzltest3.com-error_log
      CustomLog logs/www.wzltest3.com-access_log common
</VirtualHost>
<VirtualHost 192.168.125.132:8082>
      DocumentRoot /www/wzltest4
      ServerName www.wzltest3.com
      ErrorLog logs/www.wzltest4.com-error_log
      CustomLog logs/www.wzltest4.com-access_log common
</VirtualHost>

注意,在/etc/httpd/conf/httpd.conf里面要把监听8081 和8082添加上

同样根据上面两个配置文件里面设置的8081端口启动根目录/www/wzltest3 和8082端口的启动根目录/www/wzltest4 添加后相应的目录

主区域配置文件/etc/named.rfc1912.conf 里面也是需要添加之前指定的主机名ServerName www.test3.com

 /etc/named.rfc1912.zones 

zone "wzltest3.com"{
    type master;
    file "wzltest3.com";
    };

最后添加好wzltest3.com对应的区域配置文件

[root@wzlvm www]# cat /var/named/wzltest3.com 
$TTL 1D
@   IN SOA  ns.wzltest3.com. admin.wzltest3.com. ( 
2016100903   ; serial  
1D  ; refresh   
1H  ; retry       
1W  ; expire   
3H ); minimum 
wzltest3.com.      IN NS   ns.wzltest3.com. 
ns.wzltest3.com.   IN A    192.168.125.132        
www           IN A    192.168.125.132  

注意:需要说明的是两个不同的端口配置的DocumentRoot 指定启动根目录不同,根据不同的端口对应不同的应用;ServerName 指定主机名可以相同也可以不同,如果指定相同的主机名则DNS只需要配置一个解析,如果指定不同的主机名则需要配两个DNS 解析,否则会启动httpd会报错找不到主机;但是配置两个不同的主机名到时候解析到的IP应该是一样的,否则失去虚拟主机的意义;所以一般方便期间读只用配相同的主机名就可以了。

重启service named restart 和service httpd restart

验证同一个域名不同的端口对应不同的应用:

elinks www.wzltest3.com:8081

说明:由于域名都是一样的,不受DNS解析的影响,所以我们可以在本机windows 相同的浏览器中直接输入IP加上不同的端口进行验证:

上面两张图足以验证。

© 著作权归作者所有

胡子叭槎
粉丝 22
博文 129
码字总数 134657
作品 0
成都
数据库管理员
私信 提问
Nginx反向代理

Nginx反向代理 1 问题 使用Nginx实现Web反向代理功能,实现如下功能: 后端Web服务器两台,可以使用httpd实现 Nginx采用轮询的方式调用后端Web服务器 两台Web服务器的权重要求设置为不同的值...

天亮说再见
2017/11/09
0
0
在httpd服务器(httpd-2.4)中搭建AWStats日志分析系统

AWStats简介: AWStats是使用Perl语言开发的一款开源日志分析系统。它不仅可以用来分析Apache网站服务器的访问日志,也可以用来分析Samba、Vsftpd、IIS等服务的日志文件。结合crond等计划任务...

cchenyz
2018/06/25
0
0
Web服务之Apache的安装及配置

“Apache HTTP Server”是开源软件项目的杰出代表,正式名称是“httpd”,在Web服务器领域长期保持超过半数的配额,可以在Linux、UNIX、Windows等多种操作系统平台使用 Apache的主要特点 (1...

杨书凡
2017/12/08
0
0
linux系统学习第九天-<

两台虚拟机,均要检测 1.IP地址 2.是否可以解析,server0.example.com 3.Yum是否可用 4.防火墙默认区域修改为trusted #################################################### • 基于 B/S (B...

云计算王森
2017/11/28
0
0
linux系统学习第九天->

两台虚拟机,均要检测 1.IP地址 2.是否可以解析,server0.example.com 3.Yum是否可用 4.防火墙默认区域修改为trusted #################################################### • 基于 B/S (B...

深圳云计算王森
2017/11/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

九、RabbitMQ的集群安装

概述 理解RabbitMQ的集群原理可能需要花点功夫,但是配置RabbitMQ的集群则非常容易。 注意 如果有防火墙,请提前开放相关端口: client端通信口5672 管理口15672 server间内部通信口25672 e...

XuePeng77
19分钟前
1
0
今天的学习

今天学到了用ci框架向数据库添加数据,代码是这样的: $picture = $this->input->post('picture');$price = $this->input->post('price');$name = $this->input->post('name');$standa......

墨冥
28分钟前
1
0
Java agentlib参数分析

Java agentlib参数分析 再用intellij idea进行远程调试的时候,具体的配置选项如下: 标红的一行显示了远程调试需要添加的虚拟机参数。这个参数到底有什么意义? 我在命令行输入java命令,输...

Mr_Tea伯奕
44分钟前
2
0
四种软件架构演进史,程序员会一种就很牛了!

如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。 ...

我最喜欢三大框架
49分钟前
5
0
如何做高可用的架构设计?

定义目标 既然我们的目标是做到高可用,那么我们就有必要先明确清楚高可用的含义,并通过拆解目标,让目标可以被量化。按照我的理解,可以将目标按照以下三条进行拆解: 1. 保持业务高稳定性...

别打我会飞
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部