Linux Apache服务(一)

1、Apache简介

   “Apache HTTP Server”是开源软件项目的杰出表明,基于标准的HTTP网络协议提供网页浏览服务,在Web服务器领域中长期保持着超过半数的份额。Apache服务器能够运行在Linux,UNIX,Windows等多种操做平台中html

2、Apache的特色

  1.   开放源代码:这是APache最重要的特性之一,开源免费,这也是在国内很火的重要缘由。
  2.      跨平台应用:这个特性得益于APache的源代码开放,APache服务器能够运行在绝大多数的软硬件平台上。
  3.        支持各类web编程语言:支持perl,PHP,Python,java等,甚至微软的ASP技术的可使用。
  4.        模块化设计:APache并无将全部功能集中在单一服务器中,而是尽量的经过标准的模块化设计实现专有的功能
  5.         运行稳定:APache服务器可用于构建具备大负载访问量的Web站点,并具备很高的安全性。

3、Centos6和Centos7自带的Apache版本

Centos6:httpd2.2java

Centos7:httpd2.4web

4、Apache的安装方式

  1. rpm安装
  2. 编译安装
  3. yum安装

5、Centos6 Apache程序环境

3.1 配置文件

/etc/httpd/conf/httpd.conf apache

/etc/httpd/conf.d/*.conf编程

 3.2 服务脚本

/etc/rc.d/init.d/httpd vim

配置文件:/etc/sysconfig/httpd浏览器

 3.3 主程序文件

/usr/sbin/httpd
/usr/sbin/httpd.event
/usr/sbin/httpd.worker 安全

 3.4 日志文件目录

/var/log/httpd 服务器

/var/log/httpd/access_log 访问日志 网络

/var/log/httpd/error_log 错误日志

 3.5 站点文档目录

/var/www/html

3.6 模块文件路径

/usr/lib64/httpd/modules

3.7 配置文件的组成

[root@Server ~]# grep "Section" /etc/httpd/conf/httpd.conf 
### Section 1: Global Environment
### Section 2: 'Main' server configuration
### Section 3: Virtual Hosts

3.8 配置格式

directive  value
directive: 不区分字符大小写
value:为路径时,取决于文件系统

6、服务搭建

6.1 使用yum安装Apache

1 [root@Server ~]# yum -y install httpd httpd-manual

6.2  启动apache服务

6.2.1.先编辑一下配置文件/etc/httpd/conf/httpd.conf,在ServerName 那一行加上localhost:80 不然在启动服务的时候会报错 

[root@Server ~]# vim /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80
ServerName localhost:80

6.2.2  启动httpd服务

[root@Server ~]# service httpd start
正在启动 httpd:

6.3 关闭SELINUX和iptables防火墙

[root@Server ~]# service iptables stop
[root@Server ~]# setenforce 0

 6.4 重启httpd服务并用浏览器进行测试

[root@Server ~]# service httpd restart
中止 httpd:                                               [肯定]
正在启动 httpd:                                           [肯定]

 7、Apache配置详解

7.1 基本配置

1.基本配置

ServerRoot "/etc/httpd"              //apache软件安装的位置。其它指定的目录若是没有指定绝对路径,则目录是相对于该目录。 
PidFile run/httpd.pid              //第一个httpd进程(全部其余进程的父进程)的进程号文件位置。 

Timeout 60 //
设置链接超时,参数timeout,当链接超过必定的空闲时间,就会自动断开

KeepAlive On //设置keepalive,提升网络效率,默认是关闭的

MaxKeepAliveRequests 100 //设置keepaliverequest,设置为0 的时候没有限制,不过最好仍是用默认值,或者本身根据状况来改变
Listen 80                           //服务器监听的端口号。 

ServerName localhost:80      //主站点名称(网站的主机名)。 

ServerAdmin admin@clusting.com        //管理员的邮件地址。 

DocumentRoot "/var/www/htdocs"    //主站点的网页存储位置。 

DirectoryIndex index.html index.html.var //设置网站主页文件
AddDefaultCharset UTF-8                   //设置字符集,参数AddDefaultCharset,建议最好设置utf-8,这是通用的。

 2.对网站目录或文件进行访问控制

<Directory "/var/www/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

在上面这段目录属性配置中,主要有下面的选项:

  • Options:配置在特定目录使用哪些特性,经常使用的值和基本含义以下:

    ExecCGI: 在该目录下容许执行CGI脚本。

    FollowSymLinks: 在该目录下容许文件系统使用符号链接。

    Indexes: 当用户访问该目录时,若是用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用                                 户。

    SymLinksIfOwnerMatch: 当使用符号链接时,只有当符号链接的文件拥有者与实际文件的拥有者相同时才能够访问。

  • AllowOverride:容许存在于.htaccess文件中的指令类型(.htaccess文件名是能够改变的,其文件名由AccessFileName指令决定):

    None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(能够减少服务器开销)。

    All: 在.htaccess文件中可使用全部的指令。

  • Order:控制在访问时Allow和Deny两个访问规则哪一个优先:

     Allow:容许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。

     Deny:拒绝访问的主机列表。

 3. 服务器的优化 (MPM: Multi-Processing Modules) 

apache2主要的优点就是对多处理器的支持更好,在编译时同过使用–with-mpm选项来决定apache2的工做模式。若是知道当前的apache2使用什么工做机制,能够经过httpd -l命令列出apache的全部模块,就能够知道其工做方式:

prefork:若是httpd -l列出prefork.c,则须要对下面的段进行配置:

<IfModule prefork.c> 

StartServers 5 #启动apache时启动的httpd进程个数。 

MinSpareServers 5 #服务器保持的最小空闲进程数。 

MaxSpareServers 10 #服务器保持的最大空闲进程数。 

MaxClients 150 #最大并发链接数。 

MaxRequestsPerChild 1000 #每一个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。 

</IfModule> 
View Code

 4.HTTP返头回信息配置

5.持久性链接设置

6.别名设置

7.CGI设置

7.2 日志的设置

1.错误日志

2.访问日志

7.3 用户认证配置

7.4 虚拟主机配置

7.5 SSL加密的配置

相关文章
相关标签/搜索