apache安装(1)

Apache 2.2.22的安装

apache2.x 增加如下特性:a. 预派生(Profork) b. 工作者(Worker) c. 独立子进程(Perchild).
 
1.下载地址
http://www.apache.org
 
2.       安装前准备

#> rpm -qa | grep httpd    // 检查系统是否安装过httpd 服务
  httpd-2.0.40-21
#> rpm -e httpd-2.0.40-21 // 删除系统rpm 包安装的apache

 
3.安装:

 
./configure  \
--prefix=/usr/local/apache \
--enable-cgi  \
--enable-so  \
--enable-proxy \
--enable-rewrite \
--enable-speling \
--enable-suexec \
--with-suexec-caller=daemon \
--with-suexec-docroot=/data
 
#> make
#> make install

Speling 是忽略大小写,如果使用要在httpd.conf 文件最后加入 CheckSpelling on
 
设置httpd.conf

<Directory /> # 此处要根据实际目录
    Options -Indexes FollowSymLinks
    AllowOverride All
</Directory>

Options   -Indexes 是禁止目录浏览
4.改apache最大连接数
httpd.conf 中找到,把前面的#去掉
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-vhost.conf
 
修改 extra/httpd-mpm.conf

<IfModule mpm_prefork_module>
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000
</IfModule>

 
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
( 压力测试时查看有多少个连接)
最高设置到20000, 如果想要20000 以上的并发数,那就只有从新编译了。
 
5.安装Cronolog,日志分割
 
  如果是centos可直接 yum install cronolog
 
5.1.  下载:
http://cronolog.org/download/cronolog-1.6.2.tar.gz
5.2.  安装
# ./configure
# make
# make install
 
5.3.  查看
# which cronolog
 
5.4.  配置httpd.conf
CustomLog "|/usr/local/sbin/cronolog /data/logs/access_log.%Y%m%d" combined
ErrorLog "|/usr/local/sbin/cronolog /data/logs/error_log.%Y%m%d"
 
5.5.  建虚机用户
useradd -g users -s /sbin/nologin -M web001
6.配置httpd.conf文件
去掉下行的# ,根据实际情况命名
ServerName www.example.com
 
虚拟主机站点根目录,可更改
<Directory "/usr/local/www">
 
7.虚拟主机的配置
以共享ip 为例, httpd.conf 最后添加

#VIRTUAL_CONFIG
 
NameVirtualHost 192.168.1.100
 
<VirtualHost 192.168.1.100>
DocumentRoot /usr/local/apache/htdocs
ServerName test.com
ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
</VirtualHost>
 
<VirtualHost 192.168.1.101>
SuexecUserGroup web001 users
ServerAdmin [email protected]
DocumentRoot /data/aaa/htdocs
ServerName aaa.com
ServerAlias aaaa.com
ServerAlias www.aaa.com
ScriptAlias /cgi-bin/ /home/aaa/cgi-bin/
DirectoryIndex index.php index.htm
</VirtualHost>
 
<VirtualHost 192.168.1.102>
SuexecUserGroup web002 users
ServerAdmin [email protected]
DocumentRoot /data/bbb/htdocs            
ServerName bbb.com
ServerAlias bbbb.com       
ServerAlias www.bbb.com       
php_admin_value open_basedir "/tmp:/usr/local/www/web002"    //php 权限 
php_admin_value safe_mode On  
ScriptAlias /cgi-bin/ /data/bbb/cgi-bin/
DirectoryIndex index.php index.htm
</VirtualHost>
 

 
 

 

你可能感兴趣的:(apache,安装,职场,休闲,工作者)