Apache网站服务基础

一.安装httpd服务器

1.      为了避免端口冲突,程序冲突,建议先卸载使用RPM方式安装的httpd

rpm  -q | grep httpd

rpm  -e httpd  --nodeps

2.      源码编译及安装

a)        解包

tar zxfhttpd-2.2.17.tar   -C /root

cd  ~

b)        配置

根据服务器实际的应用需求,可以灵活设置不同的定制选项

wKiom1cB9E3gE0RbAAAXWuVq9hI578.png

各选项的含义:

--prefix:指定将httpd服务程序安装到哪个目录下

--enable-so:启用动态加载模块支持,使httpd具备进一步扩展的能力

--enable-rewrite启用网页地址重写功能,用于网站优化及目录迁移维护

--enable-charset-list启动字符集支持,以便支持用各种字符集编码的网页

--enable-cgi启用CGI脚本程序支持,便于扩展网站的应用访问能力

c)编译及安装

make && make install

3.      确认安装结果

wKiom1cB9E2gQDB0AAAdAD1YNUA795.png

主要目录的用途:

/usr/local/httpd/bin存放httpd服务的各种执行程序文件,包括主程序httpd,服务控制工具apachectl

/usr/local/httpd/conf:存httpd服务的各种配置文件,包括主配置文件httpd.conf,增强配置子目录extra

/usr/local/httpd/htdocs存放网页文档,包括默认首页文件index. html

/usr/local/httpd/logs:存放httpd服务的日志文件

/usr/local/httpd/modules存放httpd服务的各种模块文件

/usr/local/httpd/cgi-bin存放各种CGI 程序文件

4.      优化执行路径

通过源码编译安装的httpd服务,程序路径并不再默认的搜索路径中,为了使该服务在使用时更方便,可以为相关程序添加符号链接。

ln  -s  /usr/local/httpd/bin/*  /usr/local/bin/

5.      添加httpd系统服务

cp /usr/local/httpd/bin/apachectl  /etc/init.d/httpd

vim/etc/init.d/httpd(在前三行填写如下图内容)wKioL1cB9PbD08CvAAAjtBfR8nE993.pngchkconfig –add httpd  //httpd添加为系统服务

chkcofnig –list http   //查看httpd服务的自启动状态

. httpd的部署过程

    1.配置并启动服务

   vim/usr/local/httpd/conf/httpd.conf

ServerName www.akhack.com       //设置网站名称

修改httpd.conf文件的配置内容后,建议使用带“-t”选项的apachectl命令对配置文件内容进行语法检查,如没有语法错误,则显示“Syntax OK”的信息

/usr/local/httpd/bin/apachectl  -t

    2.启动服务

       service  httpd start

      查看服务是否启动

       netstat  -anpt | grep httpd

   3.查看web站点访问情况

     通过查看日志文件access_log,可以了解web站点的访问情况

      通过查看日志文件error_log,可以为排查服务器运行故障提供参考

wKioL1cB9PfyPUAiAACcsVRKtTo109.png

 

.httpd.conf配置文件

     1.全局配置项

       ServerRoot:设置httpd服务器的根目录,该目录下包括了运行web站点必须的子目录和文件。

       Listen设置httpd服务器监听的网络端口号,默认端口80.

       User设置运行httpd进程时的用户身份,默认为daemon

       Group:设置运行httpd进程的的组身份,默认为daemon

       ServerAdmin设置httpd服务器的管理员E-mail地址。

       ServerName设置web站点的完整主机名(域名)

       DocumentRoot设置网站根目录,即网页文档在系统中的存放路径

       Directorylndex设置网站的默认首页,可以设置多个首页文件,用空格隔开

       ErrorLog设置错误日志文件的路径,默认路径为logs/error_log

       LogLevel设置记录日志的级别,默认级别为warn(警告)

       CustomLog设置访问日志文件的路径,默认为logs/access_log

       PidFile设置用于保存httpd进程号(PID)的文件

       CharsetDefault设置站点中的网页默认使用的字符集编码,如UTF-8

       lnclude包含另一个配置文件的内容

    2.区域配置项

     除了全局配置项以外,httpd.conf文件中的大多数配置是包括在区域中的。区域配置使用一对组合标记,限定了配置项的作用范围。

      常见的目录区域配置的形式如下所示:

     <Directory />    //定义“/”目录区域的开始

        Options FollowSymLinks  //控制选项,允许使用符号链接

        AllowOverride None    //不允许隐含控制文件中的覆盖配置

        Order deny,allow     //访问控制策略的应用顺序

        Deny from all       //禁止任何人访问此区域

     </Directory>   //定义“/”目录区域的结束

四.基于域名的虚拟主机

1.为虚拟主机准备网页文档

        mkdir /var/www/html/bjcom
        mkdir /var/www/html/shcom
        echo “<h1>www.beijing.com<h1>”  /var/www/html/bjcom/index.html
        echo “<h1>www.shanghai.com<h1>” /var/www/html/shcom/index.html


2.添加虚拟主机配置

httpd服务器的主配置文件中,修改一下内容

a)监听地址:使用NameVirtualHost配置项指定提供虚拟主机服务的ip地址

b)虚拟主机区域:使用<VirtualHost监听地址>。。。。。。</VirtualHost>区域配置,为每一个虚拟主机建立独立的配置内容。

c)目录权限:使用<Directory 目录位置>。。。。。。。。</Directory>区域配置,为每一个虚拟主机的网站目录设置访问权限,

 

(1)vi/usr/local/httpd/conf/extra/httpd-vhosts.conf

    wKioL1cB9fDisZceAABbBXDNq6A472.png

(2)修改主配置文件

Include conf/extra/httpd-vhosts.conf     //加载独立的配置文件,去掉#

 

五.基于ip址的虚拟主机

1)vi/usr/local/httpd/conf/extra/httpd-vhosts.conf

wKioL1cB9fDSsbrxAABb2IpzXWU363.png

2)修改主配置文件

Include conf/extra/httpd-vhosts.conf     //加载独立的配置文件,去掉#

六.基于端口的虚拟主机

1)vi/usr/local/httpd/conf/extra/httpd-vhosts.conf

wKiom1cB9UfDNQn3AAB2yb7YA8M266.png

2)修改主配置文件

Include conf/extra/httpd-vhosts.conf     //加载独立的配置文件,去掉#

Listen 192.168.1.20:80             //监听80端口

Listen 192.168.1.20:8080        //监听8080端口