Apache 2.2.22的安裝
apache2.x增加如下特性:a.預派生(Profork) b.工作者(Worker) c.獨立子進程(Perchild).
1.下載地址
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. 下載:
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>
|