检查httpd是否安装;

rpm -q httpd

安装httpd:

yum install httpd -y

启动httpd服务:

        service httpd start

# 如果你更改过主机名此时会报一个小错误

 WEB服务之httpd基本应用_浏览器

    通过修改/etc/hosts文件可以解决,

    vim /etc/hosts 将当前的ip和主机名添加进去就好了;

WEB服务之httpd基本应用_防火墙_02

    172.16.249.135 是我现在的ip,Xuan是我的主机名,就这样添加进去就好了,

    service httpd restart #重启一下httpd服务看效果,

关闭防火墙:

    service iptables stop

    # 在浏览器输入IP能够访问http服务了,会显示页面Apache 2 Test Page powered by CentOS

(1)

此时显示的页面是httpd默认的,在/etc/httpd/conf.d/welcome.conf文件中有定义,如果/var/www/html/下没有index.html 文件,那么默认在/var/www/error下的一个叫noindex.html文件,

不想让它这样显示的办法有三:个人推荐第二种,

    1,将welcome.conf重命名或者删除

    2,修改noindex.html文件内容

    3,在工作目录下创建index.html

(2)

yum 安装httpd默认的工作目录为/etc/httpd 文档工作目录,

    配置文件结构 grep 'Section' /etc/httpd/conf/httpd.conf

        得知httpd配置文件有三段,

### Section 1: Global Environment        # 全局环境配置

### Section 2: 'Main' server configuration # 核心服务配置

### Section 3: Virtual Hosts                    # 虚拟主机配置

     第二段和第三段不能同时存在,默认是关闭虚拟主机,

指定httpd服务端口:

        在配置文件内搜索Listen

WEB服务之httpd基本应用_防火墙_03

表示httpd服务监听在172.16.249.135这个ip的80号端口上的,默认ip可以不指定,Listen也可以出现多个,比如这里的80 和 8080,这样写就通过172,16,249.135:80 172,16,249.135:8080 都能访问httpd服务,

(3)
        指明网页文件的路径,按照它默认的格式,修改DocumentRoot路径,

        DocumentRoot

         WEB服务之httpd基本应用_service_04

(4)

        站点路径访问控制,

                基于本地文件系统路径  /

                <Directory 'path/dir'>

                </Directory>

                基于URL                     /var/www/html

                <location '/path/url'>

                </localtion>

(5)

        Directory 定义访问控制

               Options

                         Indexes:如果访问路径下没有主页面,是否建立目录索引(绝对关闭啊)

                         FollowSysLinks:跟随符号连接指向的源文件,

                        #     这里有个问题,如果(1)里面的welcome.conf文件没删除的话,他会现出现noindex.html这文件,这样也不会创建目录索引,不过建议还是把Indexes给删除掉吧,

                AllowOverride 对用户访问该目录的权限设置,不检查这个文件:.htaccess

        (a)Order allow,deny     #白名单

                            Deny from 172.16.100.177 #禁止这个IP访问

                       Allow from all          # all表示所有

        (b)Order deny,allow     #黑名单

                             Allow from 172.16.100.177 #允许这个IP访问

                       Allow from all          # all表示所有

                WEB服务之httpd基本应用_防火墙_05

(6)

        定义默认的主页面

            DirectoryIndex index.html #这就是为什么(1)加上index.html 就不会显示error/noindex.html的原因,

      WEB服务之httpd基本应用_防火墙_06

(7)

        日志管理:

            错误日志:

            WEB服务之httpd基本应用_防火墙_07

            ErrorLog 定义了错误日志存放目录,

            LogLevel 定义了错误记录的等级(日志错误有七级)

            访问日志:

         WEB服务之httpd基本应用_service_08

            LogFormat 定义了记录日志格式

            LogFormat "%{User-agent}i" agent

            # "%{User-agent}i" 是日志记录格式, combined 表示被调用时的名称 LogFormat指令

            CustomLog logs/access_log combined 

            # CustomLog指令 logs/access_log 日志路径 combined 日志名称

            

    

(3)

    持久连接:

        什么是持久连接,持久连接在WEB的应用,

         KeepAlive off | on

         MaxKeepAliveRequests 100

         KeepAliveTimeout 15

(4)

    MPM