Apache配置文件httpd.conf

(1) 基本配置:

ServerRoot "/apache" #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。 

PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。 

Listen 80 #服务器监听的端口号。 

ServerName www.cib.com:80 #主站点名称(网站的主机名)。 

ServerAdmin admin@cib.com #管理员的邮件地址。 

DocumentRoot "/mnt/web/cib" #主站点的网页存储位置。 
复制代码

以下是对主站点的目录进行访问控制:

<Directory "/mnt/web/cib"> 
Options 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:拒绝访问的主机列表。 
复制代码

DirectoryIndex index.html index.htm index.php #主页文件的设置(本例将主页文件设置为:index.html,index.htm和index.php)

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

prefork:如果httpd -l列出prefork.c,则需要对下面的段进行配置:

<IfModule prefork.c> 

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

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

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

MaxClients 150 #最大并发连接数。 

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

</IfModule> 
复制代码

worker:如果httpd -l列出worker.c,则需要对下面的段进行配置:


<IfModule worker.c> 

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

MaxClients 150 #最大并发连接数。 

MinSpareThreads 25 #服务器保持的最小空闲线程数。 

MaxSpareThreads 75 #服务器保持的最大空闲线程数。 

ThreadsPerChild 25 #每个子进程的产生的线程数。 

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

</IfModule> 
复制代码

perchild:如果httpd -l列出perchild.c,则需要对下面的段进行配置:

<IfModule perchild.c> 

NumServers 5 #服务器启动时启动的子进程数 

StartThreads 5 #每个子进程启动时启动的线程数 

MinSpareThreads 5 #内存中的最小空闲线程数 

MaxSpareThreads 10 #最大空闲线程数 

MaxThreadsPerChild 2000 #每个线程最多被请求多少次后退出。0不受限制。 

MaxRequestsPerChild 10000 #每个子进程服务多少次后被重新fork。0表示不受限制。 

</IfModule> 
复制代码

(3) HTTP返头回信息配置: ServerTokens Prod #该参数设置http头部返回的apache版本信息,可用的值和含义如下:

Prod:仅软件名称,例如:apache 
Major:包括主版本号,例如:apache/2 
Minor:包括次版本号,例如:apache/2.0 
Min:仅apache的完整版本号,例如:apache/ 2.0.54 
OS:包括操作系统类型,例如:apache/2.0.54(Unix) 
Full:包括apache支持的模块及模块版本号,例如:Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g 
ServerSignature Off #在页面产生错误时是否出现服务器版本信息。推荐设置为Off 
复制代码

(4) 持久性连接设置

KeepAlive On #开启持久性连接功能。即当客户端连接到服务器,下载完数据后仍然保持连接状态。 

MaxKeepAliveRequests 100 #一个连接服务的最多请求次数。 

KeepAliveTimeout 30 #持续连接多长时间,该连接没有再请求数据,则断开该连接。缺省为15秒。 
复制代码

别名设置

对于不在DocumentRoot指定的目录内的页面,既可以使用符号连接,也可以使用别名。别名的设置如下: 

Alias /download/ "/var/www/download/" #访问时可以输入:http://www.custing.com/download/ 

<Directory "/var/www/download"> #对该目录进行访问控制设置 
Options Indexes MultiViews 
AllowOverride AuthConfig 
Order allow,deny 
Allow from all 
</Directory> 
复制代码

CGI设置

ScriptAlias /cgi-bin/ "/mnt/software/apache2/cgi-bin/" # 访问时可以:http://www.clusting.com/cgi-bin/ 。但是该目录下的CGI脚本文件要加可执行权限!
<Directory "/usr/local/apache2/cgi-bin"> #设置目录属性 
AllowOverride None 
Options None 
Order allow,deny 
Allow from all 
</Directory> 
复制代码

SSL加密的配置

证书的概念:首先要有一个根证书,然后用根证书来签发服务器证书和客户证书,一般理解:服务器证书和客户证书是平级关系。SSL必须安装服务器证书来认证。

因此:在此环境中,至少必须有三个证书:根证书,服务器证书,客户端证书。 在生成证书之前,一般会有一个私钥,同时用私钥生成证书请求,再利用证书服务器的根证来签发证书。

(1) conf/ssl.conf 配置文件中的主要参数配置如下:

SSL所使用的证书可以自己生成,也可以通过一个商业性CA(如Verisign 或 Thawte)签署证书。

SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt 
SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key 
复制代码

转载于:https://juejin.im/post/5b9f928b5188255c3175dba0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值