码迷,mamicode.com
首页 > Web开发 > 详细

httpd安装配置

时间:2016-07-13 06:57:47      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:httpd安装配置


www.httpd.apace.org

httpd:

 事先创建进程

 按需维持适当的进程

 模块设计,核心比较小,各种功能都模块添加

     支持运行配置,支持单独编译模块

支持多种方式的虚拟主机配置

Socket  IP:Port

   虚拟主机:

    基于IP的虚拟主机;

    基于端口的虚拟主机;

    基于域名的虚拟主机;

支持https协议 (mod_ssl)

支持用户认证

支持基于IP或主机名的acl

支持每个目录的访问控制

支持URL重写,/image/a.jpeg, /bbs/images/a.jpeg

安装:

 1.rpm包

 2.源码编译

 httpd:SELinux(事先关闭)

 httpd:

    /usr/sbin/httpd(MPM:prefork)

httpd: root:root 主导进程,管理空闲进程(master process)

httpd: apche:apche (worker process))

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

Port: (80/tcp),(ssl:443/tcp)

/etc/httpd:工作的根目录,相当于程序安装的目录

/etc/httpd/conf:配置文件目录

             主配置文件:httpd.conf

   /etc/httpd/conf.d/*.conf 

    /etc/httpd/modules:模块目录

/etc/httpd/logs--> /var/log/httpd:日志目录

日志文件有两类:访问日志access_log,错误日志:err_log

/var/www/

        html静态类容使用的路劲

cgi-bin动态类容使用的路劲


[root@localhost ~]# yum -y install httpd

service httpd start        

[root@localhost ~]# ps aux |grep httpd 已经启动了多个空闲进程来准备相应客户

root      1848  0.0  0.3  11372  3332 ?        Ss   09:24   0:00 /usr/sbin/httpd

apache    1850  0.0  0.2  11372  2116 ?        S    09:24   0:00 /usr/sbin/httpd

apache    1851  0.0  0.2  11372  2116 ?        S    09:24   0:00 /usr/sbin/httpd

apache    1852  0.0  0.2  11372  2116 ?        S    09:24   0:00 /usr/sbin/httpd

apache    1853  0.0  0.2  11372  2116 ?        S    09:24   0:00 /usr/sbin/httpd

apache    1854  0.0  0.2  11372  2116 ?        S    09:24   0:00 /usr/sbin/httpd

apache    1855  0.0  0.2  11372  2116 ?        S    09:24   0:00 /usr/sbin/httpd

apache    1856  0.0  0.2  11372  2116 ?        S    09:24   0:00 /usr/sbin/httpd

apache    1857  0.0  0.2  11372  2116 ?        S    09:24   0:00 /usr/sbin/httpd

root      1867  0.0  0.0   5976   728 pts/1    S+   09:28   0:00 grep httpd

[root@localhost yum.repos.d]# vim /etc/httpd/conf.d/welcome.conf 默认欢迎界面

[root@localhost yum.repos.d]# cd/etc/httpd/conf

[root@localhost conf]# cp httpd.conf  httpd.conf.back 备份一下原有的配置文件

[root@localhost conf]# grep "Section" httpd.conf

### Section 1: Global Environment

### Section 2: ‘Main‘ server configuration 主服务器段。和虚拟主机不能同时生效

### Section 3: Virtual Hosts 虚拟主机

[root@localhost conf]# vim httpd.conf

由指令和参数组成。指令不区分大小写

value则根据需要有可能要区分

[root@localhost conf]# yum -y install httpd-manual 安装此包可以自动生成配置文件

[root@localhost conf.d]# cd /etc/httpd/conf.d/

[root@localhost conf.d]# vim manual.conf 

[root@localhost conf.d]# service httpd restart 改了配置文件后都需要重启服务器

http://192.168.10.2/manual

URL Rewriting Guide 指令参考


默认地,服务器HTTP响应头会包含apache和php版本号。像下面的,这是有危害的,因为这会让黑客通过知道详细的版本号而发起已知该版本的漏洞攻击。
1.Server: Apache/2.2.17 (Unix) PHP/5.3.5
为了阻止这个,需要在httpd.conf设置ServerTokens为Prod,这会在响应头中显示“Server:Apache”而不包含任何的版本信息。
1.# vi httpd.conf
2.ServerTokens Prod
下面是ServerTokens的一些可能的赋值:
ServerTokens Prod 显示“Server: Apache”
ServerTokens Major 显示 “Server: Apache/2″
ServerTokens Minor 显示“Server: Apache/2.2″
ServerTokens Min 显示“Server: Apache/2.2.17″
ServerTokens OS 显示 “Server: Apache/2.2.17 (Unix)”
ServerTokens Full 显示 “Server: Apache/2.2.17 (Unix) PHP/5.3.5″ (如果你这指定任何的值,这个是默认的返回信息)

3.ServerRoot "/etc/httpd"服务器的工作目录

4.PidFile  run/httpd.pid 进程的PID号,保存位置在 /etc/httpd/run/httpd.pid

5.Timeout 120 超时间,用户三次握手的等待时间

6.KeepAlive 0ff 是否使用长连接,只要服务器访问了不是很大,打开长连接可以提高效率

7.MaxKeepAliveRequests 100   开启长连接用户最多可以一次请求100个资源,设置为0代表无限次

8.KeepAliveTimeout 15 长连接的断开时长


LoadRunner测试服务器的工具


MPM多道处理模块

mpm_winnt 是专门针对Windows NT优化的MPM(多路处理模块),它使用一个单独的父进程产生一个单独的子进程,在这个子进程中轮流产生多个线程来处理请求。也就是说 mpm_winnt只能启动父子两个进程, 不能像Linux下那样同时启动多个进程。

prefork 一个请求用一个进程响应 ,稳定可靠。性能差

worker  一个请求用一个线程响应,启动多个进程,每个进程生成多个线程

event 一个进程处理多个请求

[root@localhost conf.d]# rpm -ql httpd |grep bin

/usr/sbin/apachectl

/usr/sbin/htcacheclean

/usr/sbin/httpd

/usr/sbin/httpd.event

/usr/sbin/httpd.worker

/usr/sbin/httxt2dbm

/usr/sbin/rotatelogs

/usr/sbin/suexec

/var/www/cgi-bin

/var/www/icons/binary.gif

/var/www/icons/binary.png

/var/www/icons/binhex.gif

/var/www/icons/binhex.png

/var/www/icons/small/binary.gif

/var/www/icons/small/binary.png

/var/www/icons/small/binhex.gif

/var/www/icons/small/binhex.png

[root@localhost conf.d]# vim /etc/sysconfig/httpd 

HTTPD=/usr/sbin/httpd.worker 启用以后服务器改成worker模型

[root@localhost conf.d]# vim /etc/httpd/conf/httpd.conf 定义的模型

# prefork MPM

......

<IfModule prefork.c>

StartServers       8   服务器刚开机时定义几个空闲进程

MinSpareServers    5   最少几个空闲进程

MaxSpareServers   20   最大空闲进程

ServerLimit      256   最大客户端数

MaxClients       256   指定ServerLimit上限

MaxRequestsPerChild  4000  每个子进程最多可以响应多少次

</IfModule>


# worker MPM

......

<IfModule worker.c>

StartServers         4

MaxClients         300

MinSpareThreads     25 最小空闲线程

MaxSpareThreads     75 最大空闲线程

ThreadsPerChild     25  一个进程生成多少个线程   

MaxRequestsPerChild  0 每个进程最多响应多少个请求0表示不限定

</IfModule>


Listen指定监听的地址和端口,可以同时监听多个端口列如

Listen 80

Listen 8080


LoadModule指定httpd服务启动时装载的模块



本文出自 “linux运维” 博客,谢绝转载!

httpd安装配置

标签:httpd安装配置

原文地址:http://coolcl.blog.51cto.com/4514424/1825886

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!