今日搭建httpd版本为:httpd-2.2.17.tar.gz 所用linux服务器为 :CentOs6.5
搭建准备
卸载rpm方式安装的httpd包。
rpm -e httpd --nodeps && rpm -q httpd
2.卸载rpm方式安装的httpd包,及所属依赖关系。
rpm -e httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-httpd php php-cli php-ldap php-common mysql dovecot --nodeps (需要的情况下使用0-0)
3.将软件包,放入linux中 (本人习惯在root下)
开始搭建过程
解包
tar -zxf httpd-2.2.17.tar.gz && cd httpd-2.2.17
2.配置
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
3.安装
make && make install
4.查看是否安装成功
ls /usr/local/httpd
优化路径
ln -s /usr/local/httpd/bin/* /usr/local/bin
查看是否优化成功
ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
查看程序版本
httpd -v
添加http服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
编辑httpd
vim /etc/init.d/httpd
添加
1 #!/bin/sh
2 #chkconfig: 35 85 21
3 #description:apache httpd server
chkconfig --add httpd
chkconfig --list httpd
httpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
基本配置
vim /usr/local/httpd/conf/httpd.conf
97 #ServerName www.benet.com
httpd -t
我遇到的错误:
(如果更改主机名为 benet, vim /etc/hosts 添加127.0.0.1 benet)
如果启动httpd报错
httpd: Could not reliably determine the server‘s fully qualified domain name, using localhost.localdomain for ServerName httpd not running, trying to start
解决问题的方法
vim /usr/local/httpd/conf/httpd.conf
98行 加入一句 ServerName localhost:80
service httpd restart
netstat -anpt | grep httpd
网页文档
vim /usr/local/httpd/htdocs/index.html
httpd的主配文件
vim /usr/local/httpd/conf/httpd.conf
主配文件(全局配置)
安装位置
29 ServerRoot "/usr/local/httpd"
监听端口
40 Listen 80
运行用户 组
65 User daemon
66 Group daemon
管理员的邮箱
88 ServerAdmin you@example.com
默认的主页文件
104 DocumentRoot "/usr/local/httpd/htdocs"
默认主页
165 <IfModule dir_module>
166 DirectoryIndex index.html (可修改 可添加)
167 </IfModule>
错误日志文件
186 ErrorLog "logs/error_log"
日志级别
193 LogLevel warn(警告)
常见日志
215 CustomLog "logs/access_log" common
包含另一个配置文件
397 #Include conf/extra/httpd-default.conf
查看web站点访问情况
tail -f /usr/local/httpd/logs/access_log
4.进程模式process 和 线程模式(thread)
进程是指在系统中正在进行的一个应用程序
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;
如何调优:(进程模式 )
#<IfModule mpm_prefork_module>
StartServers 5 启动apache时候启动进程数量
MinSpareServers 不能大大 5 最小空闲(备用)进程 如当前空闲子进程数少于MinSpareServers 那么Apache将以最大每秒一个的速度产生新子进程
MaxSpareServers 10 最大空闲(备用)进程 如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。
ServerLimit 150 服务器允许配置的进程数上限
MaxClients 150 最大进程数
MaxRequestsPerChild 0
然后 使用ab 命令进行压测 ab -n 1000 -c 1000 httpd://localhost/ )-n 请求次数 -c 客户端数
区域配置项
114 <Directory /> /目录的开始
115 Options FollowSymLinks 允许使用符号链接
116 AllowOverride None 不允许隐含控制文件中的覆盖配置
117 Order deny,allow 访问控制策略的应用顺序
118 Deny from all 禁止任何人访问此区域
119 </Directory> /目录的结束
本文出自 “浅笑习惯囿你” 博客,谢绝转载!
原文:http://1339329314.blog.51cto.com/10122825/1703965