简单Web服务器的用法以及配置信息

在linux中,要搭建一个web服务器基本上都是基于httpd实现的,所以要想使用web服务器,则需要先安装httpd

yum install httpd

关于httpd的软件包,主要有3种

我们安装的就是最基本的httpd工具

      而httpd.i386 是我们的httpd工具       

      httpd-devel.i386  则是服务器软件包 

      httpd-manual.i386   则是各种各样的说明文档,帮助文档。

 

    小扩展:
        /etc/httpd 目录下保存着所有的配置文件
        相关的日志文件都在 /var/log/httpd
        相关的模块都在/usr/lib/httpd/modules
        相关的pid文件都在/var/run
        相关的二进制文件/usr/sbin  /usr/bin
        服务脚本:/etc/rc.d/init/httpd
        而在/etc/httpd目录下
        ./conf目录:放的是我们主配置文件
        ./conf.d目录:保存着可以被分为配置文件一部分的,在启动时被加载的,所以这里面所有.conf结尾的文件都会被当做主配置文件加载时候的一部分一起被加载。

 

当我们安装好httpd,我们就可以开启这个服务来使用了!

service httpd start
service httpd status

开启 httpd服务以及监听

       小扩展: 
             nststat -tnl 我们经常使用这个命令来查看80端口是否已经开启
             service httpd reload 而用这条命令在重读配置文件

开启之后我们就可以在自己的浏览器输入我们的ip试试啦!

 

我们看到了Redhat为我们准备的一个欢迎页,为什么会是这样的呢?
因为其实我们的正确的主页默认在:/var/www/html/目录下的index.html
当我们没有这个文件的时候,他就会自动读取/etc/httpd/conf.d/下的welcome.conf,而这个文件,则就是我们现在看到的主页啦!

==================================================


当然,仅仅能开启,能用,是不行的,我们必须要加入自己的元素,那么怎么做呢?
修改/etc/httpd/conf/httpd.conf文件!

httpd.conf的简单介绍:
首先注意这个配置文件里的所有指令都不区分大小写。但是后面跟的路径将严格区分大小写。

 

主要配置文件分为三大段:
 Section 1 全局配置
 Section 2 主服务器的配置
 Section 3 关于虚拟主机的

 

一点一点的来看:
         ServerTokens OS
                         服务器标示,它主要用于定义底下显示什么信息的。(初始化为 OS)
                         如果想看ServerTokens提供哪些指令,则需要装那个帮助文档包
         ServerRoot "/etc/httpd"
                         主目录装在哪,这个很重要,不能改。后面的相对路径都是根据这个路径来的
         Timeout 120
                        TCP连接的超时时间。(120秒)
         KeepAlive Off
                        是否使用持久连接。 
         MaxKeepAliveRequests 100
                        定义最多请求多少对象
         KeepAlive Timeout 15
                        不能让你长期占坑的超时时间。
 
 接下来的这种形式表示它是一个“容器”这个“容器”里的参数只对被定义的一个文件/目录/IP等有效
          <IfModuie prefork.c>   ##比如这个就是对prefork.c这个c语言的文件有效
                          StartServers        8
                          MinSpareServers   5
                          MaxSpareServers  20
                          ServerLimit        256     服务器最多允许多少个用户连进来
                          MaxClients        256      最大并发客户端数
                          MaxRequestsPerChild    4000 每一个进程最多允许多少请求。
           </IfModule>
 
         Listen 80
                    监听在所有地址的80端口上 
         LoadModule 这个表明了启用什么模块
                    格式:LoadModule foo_module modules/mod.foo.so
                    其实就是 LoadModule 模块名 模块位置
         Include conf.d/*.conf
                    这则就是指定了所有在/etc/httpd/conf.d/下的以conf结尾的文件都可以当配置文件的一部分来使用。
         User apache
         Group apache
                    这两个定义安全上下文的时候,用户/组访问进来到底以哪个身份来运行。这里默认是apache身份  
         ServerAdmin
root@localhost
                    服务器管理员的邮箱地址,可以随便的自定义
         ServerName
www.a.org
                    服务器的名字。
         DocumentRoot "/var/www/html"
                    定义默认情况下主服务器中网页文件存放在什么地方(这个是需要我们根据实际情况来修改的)

  

好吧,我们又遇到了一个“容器”,来看看这个容器是干什么用的。
         <Directory "/var/www/html">   定义某个特定目录在被访问的时候,应该有哪些访问特征的 
                     Options Indexes FollowSymLinks  这里定义了 允许映像文件 和 追踪符号链接。其实这两项暂时对我们都没有什么很大的用途,可以将其改成 None
                       这个选项还有其他的选择比如:
                                 SynLinksifOwnerMatch 属主匹配的时候允许访问
                                 ExecCGI 是否允许执行这个网站的CGI脚本。
                                 MultiViews 多功能视图 可以显示不同的页面功能。
           AllowOverride None
                      是否允许覆盖,这里的None表示不允许任何人覆盖。主要覆盖什么呢?其实就是定义了是否启用下面这俩,访问控制的,如果是None则启用下面的,如果是其他则屏蔽下面的
           Order allow,deny    # 定义访问控制  
                      定义允许/不允许如何 这里只能定义一种(允许|不允许)的条件, 而哪项写在后面,那项就是默认。
           Allow from all    基于客户端来源的访问控制规则,这里直接Allow from all则定义了所有都允许。
          
                      比如:定义,拒绝192.168.0.1访问
                       Order deny,allow
                       deny from 192.168.0.1
                      比如:定义只允许 192.168.0.0/24网段访问
                       Order allow,deny
                       Allow from 192.168.0.0/24
  
          <Directory>     结束,标志着我们的容器到头了
 

 OK我们继续~

          DirectoryIndex index.html index.html.var
                    指定主页面叫什么名字,有多个则按顺序一个个的检查。
          Errorlog logs/error_log
                    错误日志的存放位置
                    这里保存着服务器启动的信息,和发生的错误信息
          LogLevel warn
                    日志级别,只有高于或等于这个级别(warn)的日志才会被记录下来
          LogFormat "........"
                    定义日志格式,每一种格式的名称叫什么。
          CustomLog logs/access_log combines
                    定义访问日志,并以什么格式显示,这里我们用定义好的 combines 格式进行显示。

当我们修改完httpd.conf的时候,我们就可以保存退出了,然后需要运行
httpd -t 来检查一下我们的配置文件是否有语法错误。

当一切OK的了之后,我们就可以重读配置文件来使用了!
 

------------------------------------------------------------------------
那么我们练习一下:
实现以下应用:
1、网页存放位置:/web/html
2、访问控制列表:仅允许 192.168.0.0/24 访问,且不允许索引文件,但允许使用链接文件
3、使用common格式的访问日志
4、设定可以使用主页面文件为index.php、index.jsp和index.html;
5、设定持久连接的保持时间为3秒钟;
6、设定同时监听80和8080端口;

你是否设置成功了呢?是否遇到了这样的问题呢?

[root@station29 conf]# service httpd start
Starting httpd: Syntax error on line 282 of /etc/httpd/conf/httpd.conf:  
DocumentRoot must be a directory        [FAILED]


好吧,其实我忘了告诉你一个很重要的知识点:

httpd接受了selinux的控制。
          我们在使用配置httpd的功能的时候,必须将selinux临时关掉,因为它会发现你企图修改一个灰常重要的文件,所以它会禁止你的~
如何关掉呢?很简单~
          setenforce 0 

而我们可以使用 getenforce可以查看selinux的状态
          Enforcing  表示开着
          Permissive  表示关了……

OK,说了这么多,这条命令输入之后,重新启动一次httpd,看看是不是可以了呢?     

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WEB 服务器硬件配置方案 入门级常规服务器配置方案: 硬件名称 基本参数 数量 参考价 CPU 奔腾E2160系列,LPGA封装,双核,工作功率65W,核心电压1.25V,主频1800MHZ,总线频率800MHZ,倍频9,外频200MHZ,128M一级缓存,1M二级缓存,指令集 MMX/SSE/SSE2/SSE3/Sup-SSE3/EM64T 1 ¥460 内存 Kingston DDRII 667 1G,采用PBGA封,频率667MHZ 1 ¥135 主板 采用Intel P965/ICH8芯片组,集成Realtek ALC 662声卡芯片,适用Core2 Extreme/Core 2 Quad/Core 2 Duo/奔腾4/赛扬D/PentiumD系列处理器。前端总线频率FSB 1066MHz 1 ¥599 硬盘 台式机 硬盘容量:160GB 转速/分:7200转/分 缓存(KB):8000KB 接口类型:Serial ATA 接口速率:Serial ATA 300 1 ¥380 机箱 机箱类型:金河田飓风II 机箱样式:立式 机箱结构:Micro ATX/ATX 3.5英寸仓位:1个软驱仓位+6个硬盘仓位 光驱仓位:4个 产品电源:金河田355WB 3C 1 ¥230 光驱 选配,普通DVD光驱 1 - 散热器 热器类型:CPU散热器 散热方式:风冷 风扇转数(RPM):2200 轴承类型:合金轴承 适用范围:Intel LGA775 Conroe、PentiumD、Pentium4 Celeron D全系列 最大风量(CFM):43CFM 1 ¥60 UPS UPS电源类型:后备式UPS 额定输出容量:0.5kva 1 ¥200 稳压器 选配 1 - 显示器 普通显示器 1 - 鼠标键盘 普通PS键盘和鼠标 1 ¥100 备注:作为WEB服务器,首先要保证不间断电源,机房要控制好相对温度和湿度。这里有额外配置的UPS不间断电源和稳压器,此服务器配置能胜基本的WEB请求服务,如大量的数据交换,文件读写,可能会存在带宽瓶颈。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值