日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache经常使用配置

發布時間:2025/5/22 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache经常使用配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


?

Apache採用IBM HTTPServer,內核為Apache/2.0.47

Server version: IBM_HTTP_Server/6.1.0.13 Apache/2.0.47

?

查看IBM HTTPServer的版本號的命令

apache.exe -V???

./apachectl -V 4

?

注:IBM HTTPServer是包裝Apache后增強了部分功能

普通Apache下的版本號查看命令

./apachectl –v

若新配置Apache,建議安裝最新版本號的Apache

眼下最新版本號:2.2.26。可用Apache站點提供源代碼在linux下進行編譯

最新window的安裝包:2.2.25

注:Apache已經推出2.4的版本號。對靜態內容響應比2.2的版本號快。

?

主要針對下面變更

1、?trace方法的漏洞

2、?定義了404和403錯誤顯示頁面,取代了原來的默認頁面

3、?取消了apache的返回顯示簽名,取消錯誤頁面時的版本號顯示。

4、?取消的文件夾內容列出的配置。

5、?Apache的內容輸出壓縮配置。

6、?Apache的status監控時默認地址的改動。

7、?Apache虛擬主機配置

8、?Apache默認的線程數的調整 含window和linux下

9、?Apache循環日志的設置

10、???????????Linux下Apache日志定時清除設置

11、???????????Apache的默認參數改動

12、???????????Apache的proxy功能啟用

13、???????????Apache的緩存功能設置

?

在安裝apache后。須要對默認配置進行改動。以增強一下默認的安全性配置。

每一個具體的配置步驟例如以下:

1、?針對Apache2.0.55曾經的版本號,須要進行例如以下改動

放開rewrite模塊

?? LoadModule rewrite_modulemodules/mod_rewrite.so

?

?? 添加例如以下配置

??????? RewriteCond %{REQUEST_METHOD} ^TRACE

??????? RewriteRule .* - [F]

?

?? 若是Apache 2.0.55版本號以上的apache,則需在http.conf中添加例如以下配置

TraceEnableOff

2、? 定義404和403錯誤顯示頁面

在虛擬主機的配置處。添加例如以下配置,并將相應的錯誤頁面復制到根文件夾下

???? ErrorDocument 404 /404.html

?ErrorDocument 403 /403.html

?以覆蓋默認的配置

3、? 取消apache的版本號返回顯示簽名

在http.conf中搜索例如以下配置。將

ServerSignature On 改為 ServerSignature Off

?

眼下版本號apache均是將配置分散到多個conf文件里,可改動httpd-default.conf文件里的配置,注意在http.conf文件里將

#Include conf/extra/httpd-default.conf

改動為

Include conf/extra/httpd-default.conf,將#號取消

4、? 取消文件夾內容列出配置

方法一,改動 httpd.conf配置文件,查找Options Indexes FollowSymLinks,改動為 Options -Indexes;

方法二,在www 文件夾下的改動.htaccess配置文件,增加Options -Indexes。 (推薦)

apache的配置是在虛擬主機的配置中例如以下配置

? <Directory"/xxx/www">

??? Options –IndexesFollowSymLinks

???AllowOverride None

??? Orderallow,deny

??? Allow fromall

? ?????</Directory>

? 注意將FollowSymLinks清除掉,并將Indexs改為 -Indexs

5、? Apache的內容輸出壓縮配置

按例如以下配置進行頁面壓縮配置

LoadModuledeflate_module modules/mod_deflate.so

<IfModulemod_deflate.c>

?????????? SetOutputFilter DEFLATE

??????????? SetEnvIfNoCase Request_URI.(?

:gif|jpe?

g|png|bmp|swf|cab)$ no-gzip dont-vary

??????????? SetEnvIfNoCase Request_URI.(?:exe|t?

gz|zip|bz2|sit|rar)$ no-gzip dont-vary

??????????? SetEnvIfNoCase Request_URI.(?

:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

????????? # SetEnvIfNoCase Request_URI/.(gif|jpg|cab|jpe?g|exe|bmp|mp3|rar|zip|swf|png)$ no-gzip dont-vary

?

??????????? AddOutputFilterByType DEFLATEtext/html text/plain text/xml text/css text/javascript

??????????? AddOutputFilterByType DEFLATEapplication/ms* application/vnd* application/postscript application/javascriptapplication/x-javascript

??????????? SetEnvIf User-Agent ^Mozilla/4 gzip-only-text/html

??????????? SetEnvIf User-Agent ^Mozilla/4/.0[678]no-gzip

??????????? SetEnvIf User-Agent \bMSIE !no-gzip

??????????? SetEnvIf User-Agent \bMSIE!gzip-only-text/html

????????? # SetEnvIfNoCase Request_URI/.(gif|jpg|cab|jpe?

g|exe|bmp|mp3|rar|zip|swf|png)$ no-gzip dont-vary

???? DeflateCompressionLevel 9

</IfModule>

6、? Apache的status監控時默認地址的改動

Apache中的默認設置為

? <Location /server-status>

??? SetHandler server-status

??? Order deny,allow

#??? Deny from all

??? Allow from .localhost

</Location>

此種設置不安全,假設啟用status監控須要改動默認地址。若啟動虛擬主機,則在每一個虛擬主機節點中進行配置,方有效。即在

<VirtualHost *:80>

? <Location /test-server-status>

??? SetHandler server-status

??? Order deny,allow

#??? Deny from all

??? Allow from .localhost

</Location>

</VirtualHost >

之間配置

若無虛擬主機則正常配置

<Location /test-server-status>

??? SetHandler server-status

??? Order deny,allow

#??? Deny from all

??? Allow from .localhost

</Location>

?????? 將server-status的默認值須要改動一下。避免此處的安全漏洞

注:若要啟動擴展狀態監控

即? 配置

ExtendedStatus On?

注意:

ExtendedStatus On不能配置在單獨的虛擬主機節點內,須要在httpd.conf中配置

可參考: httpd-info.conf文件里的配置

?

7、? Apache的虛擬主機配置

NameVirtualHost *:80

?

<VirtualHost *:80>

???????ServerName www.test.cn

???????ServerAlias www.test.edu.cn

???????DocumentRoot /test/www

???????AddDefaultCharset Off

?

? <Directory"/test/www">

??? Options-Indexes

???AllowOverride None

??? Orderallow,deny

??? Allow fromall

?</Directory>

? ErrorDocument404 /404.html

? ErrorDocument403 /403.html

</VirtualHost>

?????? 虛擬主機按以上進行配置,對于新版本號的apache注意將

? # Virtual hosts

? #Include conf/extra/httpd-vhosts.conf

處進行改動

Includeconf/extra/httpd-vhosts.conf

在httpd-vhosts.conf文件里進行虛擬主機的配置

8、? Apache默認線程數調整

對2.2版本號的apache,在httpd.conf文件里將

? # Include conf/extra/ httpd-mpm.conf改動為

? Include conf/extra/ httpd-mpm.conf

?并在此文件里尋找到此處

# WinNT MPM

# ThreadsPerChild:constant number of worker threads in the server process

#MaxRequestsPerChild: maximum? number ofrequests a server process serves

<IfModulempm_winnt_module>

??? ThreadLimit????????? 2000

??? ThreadsPerChild????? 2000

??? MaxRequestsPerChild??? 100

</IfModule>

? 此處是將線程的限制改動到2000。注意window改動2000的限制在window下會報一些錯誤,由于window下默認達不到2000。一般僅僅能到1912左右。要想突破2000的限制。須要使用ThreadLimit指令

??? Linux下須要對下面模塊設置,linux下Apache默認工作模式是prefork

可通過 ./apachectl –l來查看apache的工作模式

Window下通過 httpd.exe –l來查看

注:須要在apache的安裝文件夾下的bin文件夾中

# prefork MPM

# StartServers: number of server processesto start

# MinSpareServers: minimum number of serverprocesses which are kept spare

# MaxSpareServers: maximum number of serverprocesses which are kept spare

# MaxClients: maximum number of serverprocesses allowed to start

# MaxRequestsPerChild: maximum number ofrequests a server process serves

<IfModule mpm_prefork_module>

???StartServers????????? 5

???MinSpareServers?????? 5

???MaxSpareServers????? 10

???MaxClients????????? 150

???MaxRequestsPerChild?? 0

</IfModule>

???? Linux下若調整線程數則調整以上數字。重點調整MaxClients

?? 配置例子,須要依據機器的配置進行調整:

?<IfModulempm_prefork_module>

???StartServers????????? 10

???MinSpareServers????? 10

???MaxSpareServers????? 20

???MaxClients????????? 1500

???MaxRequestsPerChild? 10000

</IfModule>

?

9、? Apache循環日志配置

Linux下的配置例子:

/usr/local/apache 為apache的安裝文件夾,依據實際情況改動

ErrorLog "| /usr/local/apache/bin/rotatelogs /usr/local/apache/logs/%Y_%m_%d_test-error.log86400 480"

CustomLog "logs/test-access.log" common

?

Window下配置

ErrorLog "| bin/rotatelogs.exe logs/%Y_%m_%d_test-error.log 86400480"

?

10、???????????Linux下Apche日志定時清除

按下面配置就可以

1、root用戶登錄,檢查crond服務的執行情況

?

[root@CentOS-APP2]#service crond status

crond (pid? 3698) 正在執行...

?

若沒執行,則

service crondstart

?

2、在/usr/local/testweb下編寫運行腳本

?

vi clean-log

?

拷貝例如以下腳本:

#! /bin/sh

#cd $(dirname $0)|| exit 1

logdir=/usr/local/apache/logs/test-com/

cd ${logdir}

declare -ifilesum=`ls test_access* |wc -l`

declare -idelnum=$filesum-30

#echo ${delnum}

if [ "${delnum}"-ge 1 ]; then

?rm -rf `ls -tr test_access* | head -${delnum}`

fi

declare -i filesumerr=`lstest_error* |wc -l`

declare -idelnumerr=$filesumerr-30

if [ "${delnumerr}"-ge 1 ]; then

?rm -rf `ls -tr test_error* | head-${delnumerr}`

fi

?

拷貝腳本時,請注意日志文件夾的實際位置和要清理的日志文件的命名格式。須要保持一致

?

這里的日志文件夾:

/usr/local/apache/logs/test-com/

?

要清理的日志格式:

test_access_20131223.log

test_error_20131223.log

?

設定要清理的日志數量,設定為30。超過30個日志文件則清理

3、設定執行權限

cd /usr/local/testweb

chmod 755clean-log

?

4、設定定時執行

設定為每月30日晚1點30分定時運行

?

30 1 30 * */usr/local/testweb/clean-log

?

/usr/local/testweb/clean-log? 為編寫好的日志清除腳本

設定方法:

root用戶登錄后運行:

crontab -e

?

打開一個文件,用vi的方式進行編輯

?

輸入

30 1 30 * */usr/local/testweb/clean-log

?

然后:wq退出保存

?

可在/var/spool/cron/文件夾下看到此文件

root

與所設定的username一致

5、運行

service crondreload? 又一次載入配置執行

6、測試

?

測試時能夠運行

crontab -e 編輯設定的文件,添加例如以下配置,每分鐘定時,可先改動腳本,將日志文件數降低。如將30變為3

?

*/1 * * * */usr/local/testweb/clean-log

?

能夠在/usr/local/apache/logs/test-com/文件夾下用vi命令按test_access_20131202.log的文件命名格式來建若干個空文件,以測試是否可定時刪除文件

能夠tail -n 100 /usr/spool/mail/root 查看錯誤

tail -f /var/log/cron? 查看執行日志

11、???????????Apache默認參數改動

改動此文件

Include conf/extra/httpd-default.conf

作例如以下改動:

l???????ServerTokensFull?? 改動為??ServerTokens Prod

l???????Timeout300? 可改動為 Timeout 100

l???????MaxKeepAliveRequests100? 可依據機器配置適當加大

?

12、???????????Apache的proxy功能啟用

啟用代理須要在httpd.conf文件放開下面兩個模塊

?

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

?

然后啟用虛擬主機,在此句之后

NameVirtualHost*:80

?

添加例如以下:

<VirtualHost *:80>

???????ProxyPreserveHost On

???????ProxyPass / ?http://172.16.0.2:9090/portal/

??????? ProxyPassReverse/ ?http://172.16.0.2:9090/portal/

???????ServerName test.xxx.cn

???????ServerAlias test.xxx.edu.cn

?? ?</VirtualHost>

13、???????????Apache的緩存功能設置

Apache的緩存功能須要開啟下面模塊

#LoadModule cache_module modules/mod_cache.so

#LoadModule mem_cache_module modules/mod_mem_cache.so

緩存有兩種:1、內存中緩存;2、磁盤緩存

此處解說內存中緩存

配置例子:

?

<IfModulemod_cache.c>

??? <IfModule mod_mem_cache.c>

??????? CacheEnable mem /image?????? #要緩存文件夾

??????? CacheEnable mem /images

??????? CacheEnable mem /js

??????? CacheEnable mem /style

?????? ????CacheEnable mem /css

??????? CacheEnable mem /script

??????? CacheEnable mem /swf

??????? CacheEnable mem /file

??????? MCacheMaxObjectCount 20000??? #緩存對象數量

??????? MCacheMaxObjectSize 1048576?? #緩存對象最大大小 字節

??????? MCacheMaxStreamingBuffer 65536

? ??????MCacheMinObjectSize 10???????? #緩存對象最小大小 字節

??????? MCacheRemovalAlgorithm LRU??? #緩存的算法

??????? MCacheSize 2097152??????????? #緩存的大小 kb

??????? CacheMaxExpire 14400????????? #緩存最大過期時間

??????? CacheDefaultExpire 14400

??? </IfModule>

</IfModule>

?

配置說明:

1,CacheEnablemem /images 緩存images以下的內容,這里的 mem僅僅是一個緩存類型,指示mod_cache使用內存的存儲管理器通過實施mod_mem_cache 。緩存類型disk指示mod_cache使用基于磁盤的存儲管理的實施mod_disk_cache 。緩存類型,fd指示mod_cache使用文件描寫敘述符緩存實施mod_mem_cache

2,MCacheSize最大內存使用量,插入在緩存和對象大小的對象是大于剩余內存,將被刪除,直到新的對象能夠被緩存。 被刪除的對象選擇使用指定的算法MCacheRemovalAlgorithm

?

3,MCacheRemovalAlgorithm緩存算法:

LRU (近期最少使用)

LRU刪除文件,沒有時間最長的被訪問的。

GDSF(GreadyDual尺寸)

GDSF分配一個優先的文件緩存文件的費用的基礎上。緩存大小。以最低的優先權文件被刪除第一次。

4,MCacheMaxObjectCount最大緩存對像個數

?

5。MCacheMaxObjectCount最大緩存對像字節數

?

6,MCacheMinObjectSize最小緩存對像字節數

?

7。CacheMaxExpire最大緩存結止時間

?

8,CacheDefaultExpire? 默認緩存結止時間

?

9,CacheDisable/php?????? 不要緩存php以下內容

版權聲明:本文博主原創文章,博客,未經同意不得轉載。

轉載于:https://www.cnblogs.com/hrhguanli/p/4829722.html

總結

以上是生活随笔為你收集整理的Apache经常使用配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。