Apache学习笔记

来源:互联网 发布:js中array的长度 编辑:程序博客网 时间:2024/06/02 11:58

一、Apache服务器的工作原理与安装

工作原理


安装

最好先卸载系统自带的版本比较低的Apache

1.       下载apache, http://httpd.apache.org/download.cgi  通过这个官方网站,我们可以下到最新的版本。现在版本都是以这样的方式表达的:httpd-*.*.*.tar.gz

2.       例如,你现在去官网下载的就是最新版本:httpd-2.4.10.tar.gz

3.       好了,下载到你的家目录/root里面。

4.       [root@localhost~]# ls    // 你会看到你下载的httpd-2.4.10.tar.gz.

5.       [root@localhost~]# tar –zxvf  httpd-2.4.10.tar.gz // 解压后为httpd-2.4.10








启动Apache服务器:/usr/local/apache2/bin/apachectl start

查看端口:netstat –tnl

设置开机自启动:

echo  “/usr/local/apache2/bin/apachectl  start” >>/etc/rc.d/rc.local

 

另一个介绍Apache安装的博客:http://blog.csdn.net/loverwind/article/details/3064356


二、Apache的目录结构与配置指令


 

1、本文将Apache安装在/usr/local/apache2目录下,该目录为Apache的Home目录,下面用~表示。

~/bin:Apache执行文件的目录

~/cgi-bin:预设给一些CGI网页程序存放的目录

~/error:默认的错误应答文件目录

~/htdocs:默认Web文档根目录

~/icons:提供Apache预设给予的一些小图标

~/logs:Apache日志文件存放的目录

tail –f access-log  //动态查看访问日志

~/man:帮助手册所在目录

~/modules:动态加载模块所在位置

 

2、Apache配置文件所在目录

/etc/httpd  (安装时可以自己指定,存放httpd.conf)

/etc/httpd/extra(存放辅助配置文件 *.conf)

 

3、辅助配置文件:

httpd-autoindex.conf配置目录列表

httpd-languages.conf配置语言支持

httpd-ssl.conf配置SSL模块的辅助配置文件

httpd-dav.conf配置DAV模块的辅助配置文件

httpd-manual.conf文档访问

httpd-userdir.conf配置用户主目录的辅助配置文件

httpd-default.conf与Apache自身相关的辅助配置文件

httpd-mpm.conf多路处理模块

httpd-vhosts.conf设置虚拟主机

httpd-info.conf服务器信息与状态显示的辅助配置文件

httpd-multilang-errordoc-errordoc.conf多语言错误应答

 

4、配置库文件语法:

l  #表示注释

l  文件的每一行包含一个指令

l  \表示续行(与下一行之间不能有其他字符)

l  指令名  参数

l  配置文件中的指令不区分大小写

l  指令的参数通常是大小写敏感的

l  空行或指令前的空白都将被忽略

l  目录分割符只能用“/”

5、检查配置错误

l  ~/bin/apachectl configtest

l  ~/bin/apachectl –t


三、Apache服务器的参数设置

 

httpd.conf主配置文件的全局参数

1、  ServerRoot “/usr/local/apache2”

用于指定Apache服务器的配置文件及日志文件存放的根目录,服务器的基础目录。Apache所有的内容都是相对于此目录(除了配置文件)

2、  Lisete [IP:]portnumber [protocol]

Listen 80

Listen192.168.1.12:80

Listen192.168.1.12:80 https

IPv6地址需用[]括起来

3、  LoadModule 模块名称模块文件路径名

LoadModule  php5-module  modules/libphp5.so

Apache默认将已经编译的 DSO(DynamicShared Object)模块存放于Apache安装目录子目录Modules中。

4、  User 用户名、

       Group 组名

ps –aux|grep httpd //查看运行httpd的用户

chown –R daemon.daemonwww //改变www目录的所有者和所属组

5、  ServerAdmin you@example.com

6、  DocumentRoot    “/usr/local/apache2/htdocs”

                                      文档根目录

7、  ServerName www.example.com:80

8、<IfModule dir-module>

         DirectoryIndex  index.html  index.php 目录索引   //默认访问文档

      </IfModule>

 

 

httpd-default中的全局参数

Timeout   300

KeepAlive   on

MaxKeepAliveRequests   100

KeepAliveTimeout   5

 

httpd-mpm.conf中的全局参数

<IfModule mpm-prefork-module>

  StartServer   5       //服务器启动时建立的子进程数

  MinSpareServer   5   //最小空闲子进程数

  MaxSpareServer   10  //最大空闲子进程数

  MaxClient   150      //同一时间段服务器允许连接数

  MaxRequestsPerChild   0  //每个子进程生存期内最大请求数,0为无限制

</IfModule>


四、Apache服务器中使用配置段(容器)

<Directory></Directory>系统目录空间

<DirectoryMatch></DirectoryMatch>

<Location></Location>网络目录空间

<LocationMatch></LocationMatch>

 <File></File>

<FileMatch></FileMatch>

 

.htaccess文件:控制该文件所在目录的权限,在httpd.conf中的AccessFileName指令中指定,尽量避免使用。用AllowOverride None禁用

 

 

别名

Alias /abc/“/var/www/html/”

 

<Directory“/var/www/html/”>

   Options  Indexes  FollowSymLinks

</Directory>

五、配置虚拟主机


1、  基于IP的虚拟主机

ifconfig eth0:1192.168.1.10 //绑定多个IP

ifconfig eth0:2192.168.1.11

ifconfig eth0:3192.168.1.12

 

httpd-vhost.conf配置文件中的

 <VirtualHost></VirtualHost>

 

2、 基于域名的虚拟主机

 

NameVirtualHost *:80

 

<VirtualHost *:80>

  DocumentRoot

  ServerName

</VirtualHost>

 

以ServerName区分




0 0