博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache配置文件httpd.conf
阅读量:6574 次
发布时间:2019-06-24

本文共 3350 字,大约阅读时间需要 11 分钟。

(1) 基本配置:

ServerRoot "/apache" #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。 PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。 Listen 80 #服务器监听的端口号。 ServerName www.cib.com:80 #主站点名称(网站的主机名)。 ServerAdmin admin@cib.com #管理员的邮件地址。 DocumentRoot "/mnt/web/cib" #主站点的网页存储位置。 复制代码

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

Options FollowSymLinks AllowOverride None Order allow,deny Allow from all
复制代码

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

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,则需要对下面的段进行配置:

StartServers 5 #启动apache时启动的httpd进程个数。 MinSpareServers 5 #服务器保持的最小空闲进程数。 MaxSpareServers 10 #服务器保持的最大空闲进程数。 MaxClients 150 #最大并发连接数。 MaxRequestsPerChild 1000 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。
复制代码

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

StartServers 2 #启动apache时启动的httpd进程个数。 MaxClients 150 #最大并发连接数。 MinSpareThreads 25 #服务器保持的最小空闲线程数。 MaxSpareThreads 75 #服务器保持的最大空闲线程数。 ThreadsPerChild 25 #每个子进程的产生的线程数。 MaxRequestsPerChild 0 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。
复制代码

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

NumServers 5 #服务器启动时启动的子进程数 StartThreads 5 #每个子进程启动时启动的线程数 MinSpareThreads 5 #内存中的最小空闲线程数 MaxSpareThreads 10 #最大空闲线程数 MaxThreadsPerChild 2000 #每个线程最多被请求多少次后退出。0不受限制。 MaxRequestsPerChild 10000 #每个子进程服务多少次后被重新fork。0表示不受限制。
复制代码

(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/ 
#对该目录进行访问控制设置 Options Indexes MultiViews AllowOverride AuthConfig Order allow,deny Allow from all
复制代码

CGI设置

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

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

你可能感兴趣的文章
Nginx 项目部署和配置
查看>>
laravel validate 设置为中文(验证提示为中文)
查看>>
1. ansible-playbook 变量定义与引用
查看>>
OkHttp3源码详解(五) okhttp连接池复用机制
查看>>
SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值
查看>>
CSS3之超出隐藏
查看>>
通用Web后台魔方NewLife.Cube
查看>>
java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
查看>>
Windows7下安装配置PostgreSQL10
查看>>
HSmartWindowControl 之 显示图像
查看>>
ASP.NET Core 用户注册 - ASP.NET Core 基础教程 - 简单教程,简单编程
查看>>
dom4j解析xml获取所有的子节点并放入map中
查看>>
【spring boot】启动类启动 错误: 找不到或无法加载主类 com.codingapi.tm.TxManagerApplication 的解决方案...
查看>>
WPF 利用键盘钩子来捕获键盘,做一些不为人知的事情...完整实例
查看>>
C# 创建、部署和调用WebService的简单示例
查看>>
因为喜欢“对抗”,这位安全首席架构师一年为网易云节省上千万
查看>>
Dora.Interception,为.NET Core度身打造的AOP框架 [5]:轻松地实现与其他AOP框架的整合...
查看>>
Centos7通过yum安装最新MySQL
查看>>
poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)
查看>>
WPF 从文件加载字体
查看>>