www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 前面兩篇博文講解了apache的部署和配置等方面知識(shí),本篇將為大家詳細(xì)講解生產(chǎn)環(huán)境中對(duì)apache服務(wù)各個(gè)方面的優(yōu)化調(diào)試。生產(chǎn)環(huán)境中,大家肯定不會(huì)部署了apache之后就完事拿去

 前面兩篇博文講解了apache的部署和配置等方面知識(shí),本篇將為大家詳細(xì)講解生產(chǎn)環(huán)境中對(duì)apache服務(wù)各個(gè)方面的優(yōu)化調(diào)試。

生產(chǎn)環(huán)境中,大家肯定不會(huì)部署了apache之后就完事拿去上線了。光桿子上戰(zhàn)場(chǎng)等著完蛋的嘛!因此,不論從安全還是性能角度,我們必須在apache服務(wù)上線之前,對(duì)其做諸多的優(yōu)化調(diào)試才行。因此,本篇筆者通過總結(jié)自己的學(xué)習(xí)和工作經(jīng)驗(yàn),歸納總結(jié)出的apache調(diào)優(yōu)的20個(gè)小點(diǎn)。

本文篇幅有點(diǎn)長(zhǎng),本來想分開寫了,后來想想還是放在一篇博文吧。因此,大家就擔(dān)待擔(dān)待吧。

環(huán)境:

CentOS6.4 x86_64位 采用最小化安裝,系統(tǒng)經(jīng)過了基本優(yōu)化篇

apache版本:

apr版本:apr-1.4.8

apr-util版本:apr-util-1.5.2

pcre版本:pcre-7.8

源碼包存放位置:/server/tools

源碼包編譯安裝位置:/etc/local/軟件名稱

一、源碼官方下,補(bǔ)丁及時(shí)打

正如我們?cè)赼pache部署篇講到的我們需要對(duì)下載的源碼包進(jìn)行驗(yàn)證一樣,我們?cè)谔暨xapache源碼安裝包的時(shí)候,一定要去官網(wǎng),不要去亂七八糟的站點(diǎn)進(jìn)行下載,防止源碼包被別有用心的人動(dòng)過手腳,導(dǎo)致后面對(duì)公司業(yè)務(wù)造成不必要損失。

另外為了apache的安全性和性能考慮,我們一定要多多關(guān)注apache的官網(wǎng)的補(bǔ)丁發(fā)布情況,一旦有新的補(bǔ)丁,我們一定要及早打上。特別是一些安全補(bǔ)丁,防止受到損失。

二、屏蔽apache版本等敏感信息

1)我們?cè)赼pache主配置文件中,找到包含的行,并解開注釋

[root@c64-web /]# grep "; /usr/local/apache/conf/

#Include conf/extra/

[root@c64-web /]# sed -i ‘s##Include conf/extra/; /usr/local/apache/conf/

注意:編譯安裝的情況下,只有此行解開注釋了,后面的修改才能生效。

2)打開文件,修改如下兩個(gè)地方

[root@sunsky /]# grep Server conf/extra/|grep -v "#"

ServerTokens full

ServerSignature Off

修改為

ServerTokens Prod

ServerSignature Off

經(jīng)過上面的修改,當(dāng)你在curl-Iwww.sunsky.pw的時(shí)候,還是會(huì)出現(xiàn)下面的信息

Server: Apache

徹底讓版本等敏感信息消失

如果你需要徹底將版本之類的信息進(jìn)行改頭換面,你就需要在編譯之前做準(zhǔn)備或者進(jìn)行從新編譯了。在重新編譯時(shí),修改源碼包下include目錄下的ap_release.h文件

#define AP_SERVER_BASEVENDOR "Apache Software Foundation" #服務(wù)的供應(yīng)商名稱

#define AP_SERVER_BASEPROJECT "Apache HTTP Server" #服務(wù)的項(xiàng)目名稱

#define AP_SERVER_BASEPRODUCT "Apache" #服務(wù)的產(chǎn)品名

#define AP_SERVER_MAJORVERSION_NUMBER 2 #主要版本號(hào)

#define AP_SERVER_MINORVERSION_NUMBER 4 #小版本號(hào)

#define AP_SERVER_PATCHLEVEL_NUMBER 6 #補(bǔ)丁級(jí)別

#define AP_SERVER_DEVBUILD_BOOLEAN 0 #

上述列出的行,我已經(jīng)給出了注釋,大家可以修改成自己想要的,然后編譯安裝之后,再對(duì)文件進(jìn)行修改,對(duì)方就徹底不知道你的版本號(hào)了。

三、更改apache的默認(rèn)用戶

我們通過更改apache的默認(rèn)用戶,可以提升apache的安全性。這樣,即使apache服務(wù)被攻破,黑客拿到apache普通用戶也不會(huì)對(duì)系統(tǒng)和其他應(yīng)用造成破壞。這里創(chuàng)建的apache用戶,將用于對(duì)子進(jìn)程和線程的控制。

[root@c64-web /]# useradd -M -s /sbin/nologin apache 創(chuàng)建apache用戶

編輯apache配置文件,修改默認(rèn)的用戶。

[root@c64-web /]# vim /usr/local/apache/conf/

User apache #更改默認(rèn)的daemon用戶為apache用戶

Group apache #更改默認(rèn)的daemon用戶為apache用戶

四、apache目錄及文件權(quán)限設(shè)置

在生產(chǎn)環(huán)境的網(wǎng)站架構(gòu)中,我們應(yīng)把資源文件,例如用戶上傳的圖片及附件等和程序做好分離,最好是把上傳程序也分離開來。這樣才能更方便我們做好授權(quán),保證apache服務(wù)和整個(gè)服務(wù)器安全。

這里我們?cè)O(shè)置apache的網(wǎng)站目錄屬主和屬組是root,權(quán)限是755,文件的權(quán)限為644。

lrwxr-xr-x 1 root root 23 11月 5 02:04 apache -> /usr/local/apache-2.4.6

drwxr-xr-x 14 root root 4096 11月 5 12:37 apache-2.4.6

并且,在對(duì)日志的授權(quán)商,我們要將屬主和屬組都設(shè)置為root,權(quán)限設(shè)置為700。

drwx------ 2 root root 4096 11月 5 02:46 logs

由于apache日志的記錄是由apache的主進(jìn)程進(jìn)行操作的,而apache的主進(jìn)程又是root用戶啟動(dòng)的,所以這里設(shè)置700是不影響日志記錄了。這也是日志記錄的最安全的方法。

五、配置cronolog進(jìn)行日志輪詢

由于apache自帶的日志輪詢工具rotatelogs,據(jù)專家說在進(jìn)行日志切割時(shí)容易丟日志,因此我們通常使用cronolog進(jìn)行日志輪詢。

1、下載并安裝cronolog

[root@sunsky /]# cd /server/tools/

[root@sunsky tools]# wget

[root@sunsky tools]# tar zxf cronolog-1.6.2.tar.gz

[root@sunsky tools]# cd cronolog-1.6.2

[root@sunsky cronolog-1.6.2]# ./configure

[root@sunsky cronolog-1.6.2]# make&&make install

2、配置apache使用cronolog

由于實(shí)驗(yàn)用的apache開啟了虛擬主機(jī)功能,所以以下范例配置都在虛擬主機(jī)中進(jìn)行。

[root@sunsky cronolog-1.6.2]# vim /usr/local/apache/

將配置文件中的CustomLog和ErrorLog替換為下面的(由于我們要對(duì)多站點(diǎn),所以這里要替換兩個(gè)虛擬主機(jī)的,并且將日志存放名字做有效的區(qū)分才好)

CustomLog "|/usr/local/sbin/cronolog /app/logs/sunsky_access_%Y%m%d.log" combined

ErrorLog "|/usr/local/sbin/cronolog /app/logs/sunsky_error_%Y%m%d.log"

更多日志格式參考:

按天輪詢(生產(chǎn)環(huán)境常見用法,推薦使用):[!--empirenews.page--]

CustomLog "|/usr/local/sbin/cronolog /app/logs/access_www_%Y%m%d.log" combined

按小時(shí)輪詢(生產(chǎn)環(huán)境較常見用法):

CustomLog "|/usr/local/sbin/cronolog /app/logs /access_www_ %Y%m%d%H.log" combined

六、錯(cuò)誤頁(yè)面優(yōu)雅顯示

為了提升網(wǎng)站的用戶體驗(yàn),避免404,403之類的丑陋的默認(rèn)錯(cuò)誤提示出現(xiàn),我們需要對(duì)錯(cuò)誤頁(yè)面進(jìn)行優(yōu)化,讓他們變的漂亮一點(diǎn)。錯(cuò)誤頁(yè)面不僅在于告訴用戶訪問出現(xiàn)了問題,而且需要引導(dǎo)用戶到正確的頁(yè)面。

錯(cuò)誤頁(yè)面優(yōu)雅化顯示的實(shí)現(xiàn)方式主要有兩種,下面我們主要以404錯(cuò)誤為例:

第一種:在apache的主配置文件中的標(biāo)簽內(nèi)添加ErrorDocument配置。

[root@sunsky /]# vi /usr/local/apache/conf/

AllowOverride None

Options None

Require all granted

ErrorDocument 404 /l #將404錯(cuò)誤跳轉(zhuǎn)到/www/html下的l頁(yè)面上

 

第二種方法:在apache的虛擬主機(jī)配置文件中的

ServerAdmin

DocumentRoot "/www/html"

ServerName www.sunsky.pw

ServerAlias sunsky.pw

CustomLog "|/usr/local/sbin/cronolog /app/logs/www_access_%Y%m%d.log" combined

ErrorLog "|/usr/local/sbin/cronolog /app/logs/www_error_%Y%m%d.log"

ErrorDocument 404 (php),js,css,xml,txt等。特殊情況就是像一些首頁(yè)上有很多廣告投放的js代碼,由于需要每次加載進(jìn)而進(jìn)行來訪信息統(tǒng)計(jì),所以這些廣告代碼擁有者網(wǎng)站的js不會(huì)經(jīng)過gzip壓縮,

mod_deflate模塊,在我們前篇部署的時(shí)候已經(jīng)編譯安裝進(jìn)去了。

那么如果沒有安裝,如何安裝呢?并且如果不知道到是否安裝了,如何查看呢?

1、mod_deflate模塊檢查及安裝

由于apache2.2.x和2.4.x這兩個(gè)版本在檢查mod_deflate模塊是否安裝方法方法是不同的。最后,我無奈做了很多測(cè)試,下面建議大家這樣來檢查。

[root@c64-web /]# /usr/local/apache/bin/apachectl -M | grep deflate

deflate_module (static) #此種結(jié)果為編譯安裝時(shí)裝的

[root@c64-web /]# /usr/local/apache/bin/apachectl -M | grep deflate

deflate_module (shared) #此種結(jié)果為DSO方式安裝的

安裝了的話,就可以直接進(jìn)行壓縮配置了,如果沒有安裝,下面為安裝方法

a)編譯時(shí)安裝方法

編譯的時(shí)候跟上--enable-deflate即可實(shí)現(xiàn)安裝

b)DSO方式安裝

[root@c64-web /]# cd /server/tools/;#切到apache源碼包mod_deflate所在的目錄下

[root@c64-web filters]# /usr/local/apache/bin/apxs -c -i -a mod_deflate.c #以dso的方式編譯安裝到apache中

[root@c64-web filters]# ll /usr/local/apache/modules/mod_deflate.so #檢查mod_deflate是否安裝,成功安裝這里會(huì)顯示出該文件

-rwxr-xr-x 1 root root 76697 11月 5 07:50 /usr/local/apache/modules/mod_deflate.so

擴(kuò)展:使用DSO方式安裝,apxs后跟的參數(shù)詳解

-c 此選項(xiàng)表明需要執(zhí)行編譯操作。它首先會(huì)編譯c源程序(.c)files為對(duì)應(yīng)的目標(biāo)代碼文件(.c),然后連接這些目標(biāo)代碼和files中其余的目標(biāo)代碼文件(.c和.a),以生成動(dòng)態(tài)共享對(duì)象dsofile。如果沒有指定-s選項(xiàng),則此輸出文件名由files中的第一個(gè)文件名推測(cè)得出,也就是默認(rèn)mod_name.so。

-i 此選項(xiàng)表示需要執(zhí)行安裝操作,以安裝一個(gè)或多個(gè)動(dòng)態(tài)共享對(duì)象到服務(wù)器的modules目錄。

-a 此選項(xiàng)自動(dòng)增加一個(gè)LoadModule行到文件中,以激活此模塊,或者,如果此行已經(jīng)存在,則啟用之。

壓縮模塊配置

2、配置壓縮參數(shù)

注意如果我們是編譯安裝時(shí)已經(jīng)編譯進(jìn)去的,此時(shí)我們需要先將主配置文件中

LoadModule deflate_module modules/mod_deflate.so

此行解鎖后再進(jìn)行下面操作,不然下面的操作會(huì)報(bào)錯(cuò)。

我們需要在虛擬機(jī)的

DeflateCompressionLevel 9 #壓縮等級(jí),越大效率越高,消耗CPU也越高

SetOutputFilter DEFLATE #啟用壓縮

AddOutputFilterByType DEFLATE text/html text/plain text/xml #僅壓縮限制特定的MIME類型文件:

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE image/gif image/png image/jpe image/swf image/jpeg image/bmp

#DeflateFilterNote ratio #在日志中放置壓縮率標(biāo)記,下面是記錄日志的,這個(gè)功能一般不用

#LogFormat ‘"%r" %{outstream}n/%{instream}n (%{ratio}n%%)‘ deflate

#CustmLog logs/deflate_log.log deflate

 

下面是朋友公司的另外一種壓縮配置,有興趣的朋友們也可以操作操作。

DeflateCompressionLevel 9

SetOutputFilter DEFLATE

DeflateFilterNote Input instream #聲明輸入流的byte數(shù)量

DeflateFilterNote Output outstream #聲明輸出流的byte數(shù)量

DeflateFilterNote Ratio ratio #聲明壓縮的百分比

#LogFormat ‘"%r" %{outstream}n/%{instream}n (%{ratio}n%%)‘ deflate #聲明日志類型

#CustomLog logs/deflate_log.log deflate #聲明日志類型

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript #僅壓縮限制特定的MIME類型文件

 

執(zhí)行上面的添加后,我們對(duì)apache進(jìn)行優(yōu)雅重啟

[root@c64-web /]# /usr/local/apache/bin/apachectl graceful

下面訪問我們的網(wǎng)站,然后用火狐或者google游覽器的YSLOW插件進(jìn)行壓縮效果的查看[!--empirenews.page--]

怎么樣,是不是已經(jīng)進(jìn)行壓縮了啊!

我們?cè)谄髽I(yè)生產(chǎn)環(huán)境中時(shí),在啟用mod_deflate時(shí),一定要注意,對(duì)于太小的文件和某些格式的圖片不要對(duì)它們進(jìn)行壓縮,有可能越壓越大。

下面給出大家?guī)缀跏撬械腁ddOutputFilterByTypeDEFLATE后跟的壓縮文件類型,大家可以參照選擇。

text/plain text/html text/php text/xml text/css text/javascript

application/xhtml+xml application/xml application/rss+xml application/atom_xml application/x-javascript application/x-httpd-php image/svg+xml image/gif image/png image/jpe image/swf image/jpeg image/bmp

八、mod_expires緩存功能

雖然我們上面通過mod_deflate模塊啟用了壓縮,從很大程度上節(jié)約了企業(yè)帶寬,降低了企業(yè)成本??墒怯捎诂F(xiàn)在越來越多的圖片、腳本、css和flash被嵌入到頁(yè)面中,當(dāng)客戶訪問站點(diǎn)勢(shì)必會(huì)做很多次的http請(qǐng)求,因此我們還可以通過mod_expires緩存模塊來設(shè)置ExpiresHeader來緩存這些文件。Expires是通過header報(bào)文來指定特定類型的文件在游覽器中的緩存時(shí)間的。平時(shí),我們大多數(shù)的圖片,flash在發(fā)布之后都是不需要經(jīng)常修改的,因此做了緩存之后,游覽器第一次從服務(wù)器下載之后,就不需要再?gòu)姆?wù)器下載這些文件而是直接從游覽器緩存中讀取了。這樣客戶訪問頁(yè)面的速度就會(huì)大大加快,企業(yè)的帶寬壓力也得到了緩解。

1、mod_expires模塊檢查及安裝

檢查mod_expires模塊是否安裝的方法如下:

[root@c64-web /]# /usr/local/apache/bin/apachectl -M | grep deflate

expires_module (static) #此種結(jié)果為編譯安裝時(shí)裝的

[root@c64-web /]# /usr/local/apache/bin/apachectl -M | grep deflate

expires_module (shared) #此種結(jié)果為DSO方式安裝的

安裝了的話,就可以直接進(jìn)行壓縮配置了,如果沒有安裝,下面為安裝方法

a)編譯方式安裝

編譯的時(shí)候跟上--enable-expires即可實(shí)現(xiàn)安裝

b)DSO方式安裝

[root@c64-web /]# cd /server/tools/;#切到apache源碼包mod_expires所在的目錄下

[root@c64-web filters]# /usr/local/apache/bin/apxs -c -i -a mod_expires.c #以dso的方式編譯安裝到apache中

[root@c64-web filters]# ll /usr/local/apache/modules/mod_expires.so #檢查mod_deflate是否安裝,成功安裝這里會(huì)顯示出該文件

-rwxr-xr-x 1 root root 37439 11月 5 02:02 /usr/local/apache/modules/mod_expires.so

2、配置緩存參數(shù)

注意如果我們是編譯安裝時(shí)已經(jīng)編譯進(jìn)去的,此時(shí)我們需要先將主配置文件中

LoadModule expires_module modules/mod_expires.so

此行解鎖后再進(jìn)行下面操作,不然會(huì)報(bào)錯(cuò)。

緩存的用法有3種,分別問對(duì)全局,對(duì)目錄,對(duì)虛擬主機(jī)。

a)對(duì)全局

對(duì)全局的配置就是在apache主配置文件的末尾加入如下參數(shù)即可

ExpiresActive on

ExpiresDefault "access plus 12 month"

ExpiresByType text/html "access plus 12 months"

ExpiresByType text/css "access plus 12 months"

ExpiresByType image/gif "access plus 12 months"

ExpiresByType image/jpeg "access plus12 12 months"

ExpiresByType image/jpg "access plus 12 months"

ExpiresByType image/png "access plus 12 months"

EXpiresByType application/x-shockwave-flash "access plus 12 months"

EXpiresByType application/x-javascript "access plus 12 months"

ExpiresByType video/x-flv "access plus 12 months"

b)對(duì)目錄

對(duì)目錄的配置就是在apache主配置文件中標(biāo)簽內(nèi)加入如下參數(shù)即可

AllowOverride None

Options None

Require all granted

ErrorDocument 404 /l

ExpiresActive on

ExpiresDefault "access plus 12 month"

ExpiresByType text/html "access plus 12 months"

ExpiresByType text/css "access plus 12 months"

ExpiresByType image/gif "access plus 12 months"

ExpiresByType image/jpeg "access plus12 12 months"

ExpiresByType image/jpg "access plus 12 months"

ExpiresByType image/png "access plus 12 months"

EXpiresByType application/x-shockwave-flash "access plus 12 months"

EXpiresByType application/x-javascript "access plus 12 months"

ExpiresByType video/x-flv "access plus 12 months"

 

c)對(duì)虛擬主機(jī)

對(duì)虛擬主機(jī)的配置就是在apache的虛擬主機(jī)配置文件中添加如下參數(shù)即可

ServerAdmin

DocumentRoot "/www/html"

ServerName www.sunsky.pw

ServerAlias sunsky.pw

CustomLog "|/usr/local/sbin/cronolog /app/logs/www_access_%Y%m%d.log" combined

ErrorLog "|/usr/local/sbin/cronolog /app/logs/www_error_%Y%m%d.log"

ExpiresActive on

ExpiresDefault "access plus 12 month"

ExpiresByType text/html "access plus 12 months"

ExpiresByType text/css "access plus 12 months"

ExpiresByType image/gif "access plus 12 months"

ExpiresByType image/jpeg "access plus12 12 months"

ExpiresByType image/jpg "access plus 12 months"[!--empirenews.page--]

ExpiresByType image/png "access plus 12 months"

EXpiresByType application/x-shockwave-flash "access plus 12 months"

EXpiresByType application/x-javascript "access plus 12 months"

ExpiresByType video/x-flv "access plus 12 months"

 

以上三種配置任何一種配置之后,對(duì)apache服務(wù)器進(jìn)行優(yōu)化重啟,然后用火狐或者google游覽器的YSlow插件進(jìn)行緩存效果查看。

擴(kuò)展:expires模塊的語法

上面已經(jīng)的操作就是實(shí)現(xiàn)apache的緩存功能。其中,expires后面的參數(shù)你也可以根據(jù)需求自行更改,緩存時(shí)間也是一樣可以更改的。

這里我對(duì)expires的模塊語法進(jìn)行一些細(xì)說

expires模塊用到了ExpiresDefault和EXpiresByType兩個(gè)指令,下面是這兩個(gè)指令的語法。

ExpiresDefault “ [plus] {}*”

EXpiresByType type/encoding " [plus] {}"

其中的參數(shù)有3個(gè):access,now(等價(jià)于‘access’),modification

plus關(guān)鍵字是可選的。

必須是整數(shù),確??梢詀toi()所接收。(atoi可以把字符串轉(zhuǎn)換成長(zhǎng)整型數(shù))

參數(shù)類型:years,months,weeks,days,hours,minutes,seconds

下面用幾個(gè)例子帶大家理解下

例如:下面3個(gè)指令都表示文檔默認(rèn)的有效期是一個(gè)月

ExpiresDefault "access plus 1 month"

ExpiresDefault "access plus 4 weeks"

ExpiresDefault "access plus 30 days"

有效期可以通過增加“”子句進(jìn)一步調(diào)整

ExpiresByType text/html "access plus 1 month 15 days 2 hours"

ExpiresByType image/gif "modification plus 5 hours 3 minutes"

注意:如果你使用基于最后修改日期的設(shè)置,“Expires”頭將不會(huì)被添加到那些并非來自于硬盤文件的內(nèi)容,這是因?yàn)檫@些內(nèi)容并不存在“最后修改時(shí)間”的屬性。

基準(zhǔn)時(shí)刻可以是源文件的最后修改時(shí)刻或者客戶端對(duì)源文件的訪問時(shí)刻,至于使用那一個(gè)則由指定。“M”表示源文件的最后修改時(shí)刻,“A”表示客戶端對(duì)源文件的訪問時(shí)刻,需要注意的是和seconds之間沒有空格。

這兩個(gè)基準(zhǔn)的差別是很微妙的。如果使用“M”,所有當(dāng)前緩存中的文檔副本都將在同一時(shí)刻過期,這個(gè)可能對(duì)定期更新的URL(比如位于同一位置的每周通告)很有好處。如果使用“A”,則每個(gè)客戶端所得到的有效期是不一樣的,這個(gè)可能對(duì)那些幾乎不更新的圖片很有好處,特別是對(duì)于一組都引用相同圖片的相關(guān)文檔。

緩存優(yōu)化對(duì)企業(yè)來說是至關(guān)重要了的,不同的公司類型,緩存的類型和時(shí)間又各不相同,大家具體可以用YSlow對(duì)淘寶,京東,新浪,谷歌等站點(diǎn)進(jìn)行測(cè)試,看看他們的緩存時(shí)間是多少,并思考下為什么那樣設(shè)置。

雖然緩存的設(shè)置有如下優(yōu)點(diǎn)

1.縮短服務(wù)的響應(yīng)時(shí)間

2.減輕服務(wù)器負(fù)擔(dān)

3.減少網(wǎng)絡(luò)帶寬使用量,降低企業(yè)成本

但是他的缺點(diǎn)也是顯而易見的,由于使用了緩存設(shè)置,導(dǎo)致被緩存的內(nèi)容更新了,但是客戶看到的卻還是舊的。

如何解決被緩存文件及時(shí)更新這個(gè)問題呢?

第一種:縮短緩存時(shí)間例如:1天,不徹底犧牲性能

第二種:對(duì)緩存的對(duì)象改名。

九、啟用worker模式,提升并發(fā)數(shù)(可以達(dá)到2000-5000)

apache有兩個(gè)模式,默認(rèn)的模式是prefork模式。那么我們?yōu)槭裁匆褂脀orker模式呢?這兩種模式又有什么區(qū)別呢?

1、prefork模式

prefork使用的是多個(gè)子進(jìn)程,而每個(gè)子進(jìn)程只有一個(gè)線程,每個(gè)進(jìn)程在某個(gè)確定的時(shí)間只能維持一個(gè)連接。

工作原理:控制進(jìn)程最初建立若干個(gè)子進(jìn)程,為了不在請(qǐng)求到來時(shí)再生成子進(jìn)程,所以要根據(jù)需求不斷的創(chuàng)建新的子進(jìn)程,最大可以達(dá)到每秒32個(gè)直到滿足需求為止。

安裝方法:在編譯的過程中,加入?yún)?shù)--with-mpm=frefork,不加也可以,因?yàn)槟J(rèn)的話,會(huì)采用prefork模式。

優(yōu)點(diǎn):效率高,穩(wěn)定,安全。對(duì)于線程調(diào)試?yán)щy的平臺(tái)來說,調(diào)試更加容易些。

缺點(diǎn):與worker模式相比消耗資源多。

配置參數(shù)說明:

 

StartServers 5 #最初建立的子進(jìn)程

MinSpareServers 5 #最小空閑進(jìn)程數(shù),如果空閑的進(jìn)程小于設(shè)定值,Apache會(huì)自動(dòng)建立進(jìn)程,如果服務(wù)器并發(fā)及負(fù)載大的話,可以考慮加大。

MaxSpareServers 10 #最大空閑進(jìn)程數(shù),如果空閑的進(jìn)程大于設(shè)定值,Apache會(huì)自動(dòng)kill掉多余的進(jìn)程,如果服務(wù)器負(fù)載大的話,可以考慮加大。

MaxClients 150 #設(shè)定的是apache可以同時(shí)處理的請(qǐng)求,是對(duì)apache性能影響最大的參數(shù),就是apache可以同時(shí)處理的請(qǐng)求數(shù),就是說,如果有150個(gè)用戶在訪問,那么第151個(gè)用戶就要等之前的訪問結(jié)束后才能訪問。

MaxRequestsPerChild 0 #每個(gè)子進(jìn)程可處理的請(qǐng)求數(shù),每個(gè)子進(jìn)程在處理了“MaxRequestsPerChild”個(gè)請(qǐng)求后將自動(dòng)銷毀。0以為著無限,即子進(jìn)程永不銷毀。雖然缺省設(shè)為0可以使每個(gè)子進(jìn)程處理更多的請(qǐng)求,但如果設(shè)置成非0值也有兩點(diǎn)重要的好處。(1)可防止意外的內(nèi)存泄露(2)在服務(wù)器負(fù)載下載的時(shí)候會(huì)自動(dòng)減少子進(jìn)程數(shù)。

 

生產(chǎn)環(huán)境配置實(shí)例1:

 

StartServers 10

MinSpareServers 10

MaxSpareServers 15

ServerLimit 2000

MaxClients 1000

MaxRequestsPerChild 5000

 

2、worker模式

worker模式是apche2.x新引進(jìn)來的模式,是線程與進(jìn)程的結(jié)合,在worker模式下會(huì)有多個(gè)子進(jìn)程,每個(gè)子進(jìn)程又會(huì)有多個(gè)線程。每個(gè)線程在某個(gè)確定的時(shí)間只能維持一個(gè)連接。

工作原理:由主控制進(jìn)程生成若干個(gè)子進(jìn)程,而每個(gè)子進(jìn)程中又包含固定的線程數(shù),各個(gè)線程獨(dú)立處理請(qǐng)求,同樣為了不在請(qǐng)求到來時(shí)再生成線程,在配置文件中設(shè)置了最小和最大的空閑線程數(shù)及所有子進(jìn)程中的線程總數(shù),如果現(xiàn)有子進(jìn)程中的線程總數(shù)不能滿足并發(fā)及負(fù)載,控制進(jìn)程將派生新的子進(jìn)程。[!--empirenews.page--]

安裝方法:在配置編譯的工程中,加入?yún)?shù)--with-mpm=worker,如果不加的話系統(tǒng)會(huì)采用默認(rèn)prefork模式。

優(yōu)點(diǎn):內(nèi)存占用比prefork模式低,適合高并發(fā)高流量HTTP服務(wù)。

缺點(diǎn):假如一個(gè)線程崩潰,整個(gè)進(jìn)程就會(huì)連同其任何線程一起“死掉”。由于線程共享內(nèi)存空間,所以一個(gè)程式在運(yùn)行時(shí)必須被系統(tǒng)識(shí)別為“每個(gè)線程都是安全的”。服務(wù)穩(wěn)定性不如prefork模式。

配置參數(shù)說明:

 

StartServers 2 #最初建立的子進(jìn)程

MaxClients 150 #所有子進(jìn)程中的線程總數(shù)。如果現(xiàn)有子進(jìn)程中的線程總數(shù)不能滿足負(fù)載,控制進(jìn)程將派生新的子進(jìn)程。

MinSpareThreads 25 #最小空閑線程數(shù),如果空閑的線程小于設(shè)定值,apache會(huì)自動(dòng)建立線程,如果服務(wù)器負(fù)載大的話,可以考慮加大此參考值。

MaxSpareThreads 75 #最大空閑線程數(shù),如果空閑的線程大于設(shè)定值,apache會(huì)自動(dòng)kill掉多余的線程,如果服務(wù)器負(fù)載大的話,可以考慮加大此參考值。

ThreadsPerChild 25 #每個(gè)進(jìn)程包含固定的線程數(shù),此參數(shù)在worker模式中,是影響最大的參數(shù),ThreadsPerChild的最大缺省值是64,如果負(fù)載較大,64是不夠的。這時(shí)要顯式使用threadlimit指令,它的最大缺省值是20000.

MaxRequestsPerChild 0 #功能同prefork模式

 

常用配置參考:

生產(chǎn)環(huán)境配置實(shí)例1:

 

StartServers 3

MaxClients 2000

ServerLimit 25

MinSpareThreads 50

MaxSpareThreads 200

ThreadLimit 200

ThreadsPerChild 100

MaxRequestsPerChild 0

 

生產(chǎn)環(huán)境配置實(shí)例2:

 

StartServers 5

MaxClients 9600

ServerLimit 64

MinSpareThreads 25

MaxSpareThreads 500

ThreadLimit 200

ThreadsPerChild 150

MaxRequestsPerChild 0

 

生產(chǎn)場(chǎng)景配置實(shí)例3:

 

StartServers 2

MaxClients 500

ServerLimit 25

MinSpareThreads 25

MaxSpareThreads 75

ThreadsPerChild 25

MaxRequestsPerChild 0

 

生產(chǎn)場(chǎng)景配置實(shí)例4:

 

StartServers 3

MaxClients 1600

ServerLimit 25

MinSpareThreads 50

MaxSpareThreads 200

ThreadLimit 200

ThreadsPerChild 64

 

worker模式下所能同時(shí)處理的請(qǐng)求總數(shù)是由子進(jìn)程總數(shù)乘以Threadsperchild值決定的,應(yīng)該大于等于maxclients。如果負(fù)載很大,現(xiàn)有的子進(jìn)程數(shù)不能滿足時(shí),控制進(jìn)程會(huì)派生新的子進(jìn)程。默認(rèn)最大的子進(jìn)程總數(shù)是16,如需加大時(shí)也需要顯示聲明serverlimit的值(最大值是20000)

特別說明:如果顯示聲明了ServerLimit,那么它乘以ThreadsPerChild的值必須大于等于MaxClients,而且MaxClients必須是ThreadsPerChild的整數(shù)倍,否則apache將會(huì)自動(dòng)調(diào)節(jié)到一個(gè)相應(yīng)值(可能是個(gè)非期望值)。

數(shù)學(xué)表達(dá):

MaxClient<=總的進(jìn)程數(shù)(ServerLimit)x線程數(shù)(ThreadsPerChild)

MaxClient%ThreadsPerChild=0

生產(chǎn)環(huán)境中我們需要開啟配置行,這樣才能實(shí)現(xiàn)并發(fā)鏈接數(shù)的增加。

1、開啟配置行

這里我們要apache的主配置文件,找到包含的行,并解開注釋

[root@c64-web /]# grep "; /usr/local/apache/conf/

#Include conf/extra/

[root@c64-web /]# sed -i ‘s##Include conf/extra/; /usr/local/apache/conf/

注意:編譯安裝的,只有此行解開注釋了,后面的修改才能生效。

2、修改配置

1)如果你的apache服務(wù)為worker模式,那么生產(chǎn)環(huán)境中可以選擇上面worker模式的生產(chǎn)環(huán)境配置實(shí)例1的配置。

2)如果你的apache服務(wù)為prefork模式,那么生產(chǎn)環(huán)境中可以參考上面prefork模式的生產(chǎn)環(huán)境配置實(shí)例1的配置。

生產(chǎn)環(huán)境中,這里我建議大家選擇worker模式。

十、開啟防盜鏈

一些小網(wǎng)站為了盈利,通過盜鏈來實(shí)現(xiàn)對(duì)自己網(wǎng)站內(nèi)容的豐富,這無疑加大了企業(yè)的空間和流量的成本,因此我們需要對(duì)apache進(jìn)行防盜鏈的配置。

由于我們要用到mod_rewrite模塊,因此我們需要先檢測(cè)該模塊是否安裝,檢測(cè)和安裝方法與上面mod_deflate和mod_expires的一樣,這里不多講了。

防盜鏈配置:

一般我們都是將防盜鏈的配置,配置在虛擬主機(jī)里面,配置如下:

ServerAdmin

DocumentRoot "/www/html"

ServerName www.sunsky.pw

ServerAlias sunsky.pw

CustomLog "|/usr/local/sbin/cronolog /app/logs/www_access_%Y%m%d.log" combined

ErrorLog "|/usr/local/sbin/cronolog /app/logs/www_error_%Y%m%d.log"

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^*$ [NC]

RewriteCond %{HTTP_REFERER} !^$ [NC]

RewriteCond %{HTTP_REFERER} !^>

AllowOverride None

Options FollowSymLinks #不填寫Indexes項(xiàng),默認(rèn)即為關(guān)閉。

Require all granted

 

第二種:

AllowOverride None

Options -Indexes #通過在Indexes前面加-來禁用此功能

Require all granted

 

第三種:

AllowOverride None

Options None #禁用所有選項(xiàng)

Require all granted

 

十二、禁用AllowOverride選項(xiàng),關(guān)閉.htaccess文件使用

首先是性能考慮,如果AllowOverride啟用了.htaccess文件,則apache需要在每個(gè)目錄中查找.htaccess文件。因此,無論是否真正用到,啟用.htaccess都會(huì)導(dǎo)致服務(wù)器性能的下降。另外,對(duì)于每一個(gè)請(qǐng)求,都需要讀取一次.htaccess文件。[!--empirenews.page--]

其次是安全考慮,這樣會(huì)允許用戶自己修改服務(wù)器的配置,這可能會(huì)導(dǎo)致某些意想不到的修改,所以請(qǐng)認(rèn)真考慮是否應(yīng)當(dāng)給予用戶這樣的特權(quán)。

1、禁用AllowOverride選項(xiàng)

我們通過修改apache主配置文件中的標(biāo)簽內(nèi)的AllowOverride選項(xiàng)參數(shù)來實(shí)現(xiàn)禁用目錄瀏覽。

Options none

AllowOverride None #禁止該選項(xiàng),防止用戶重復(fù)載入

Require all granted

 

通過該設(shè)置加快了服務(wù)器響應(yīng)速度,因?yàn)樗辉僮屆總€(gè)請(qǐng)求去尋求每個(gè)目錄的訪問控制文件(.htaccess)

2、關(guān)閉.htaccess文件使用

默認(rèn)在Unix平臺(tái)下能夠使用.htaccess來對(duì)目錄權(quán)限進(jìn)行規(guī)則定義,但是這是不安全的,建議關(guān)閉,默認(rèn)的選項(xiàng):

AccessFileName .htaccess

這里我們將它關(guān)閉注釋掉

#AccessFileName .htaccess

全部目錄權(quán)限定義使用中的定義,不使用.htaccess進(jìn)行定義。

十三、關(guān)閉自帶CGI功能

生產(chǎn)環(huán)境中,一般我們不使用apache自帶的cgi的功能,如果使用的話,可以用mod_perl模塊來替代。因此我們這里需要將apache主配置文件中有關(guān)cgi的內(nèi)容刪除掉。

刪除部分:

ScriptAlias /cgi-bin/ "/usr/local/apache2.4.6/cgi-bin/"

AllowOverride None

Options None

Require all granted

 

十四、禁止PHP解析指定站點(diǎn)的目錄

企業(yè)的站點(diǎn)有時(shí)會(huì)提供用戶進(jìn)行上傳操作,而用戶上傳文件的存放目錄,我們是不能給php的解析權(quán)限的,否則會(huì)對(duì)apache服務(wù)和系統(tǒng)造成危害。

十五、apache的安全模塊

我們需要對(duì)apache站點(diǎn)增加一些擴(kuò)展的安全模塊,如:mod_evasive20防DDOS、mod_limitipconn(針對(duì)單站點(diǎn))配置、mod_security2防SQL注入等等之類的工具。

另外,下面是推薦給大家的幾個(gè)工具。

1、makejail

它是一個(gè)自動(dòng)把建立jail所需要的程序放到j(luò)ail內(nèi)的軟件,使用python編寫,他有debian和openbsd的版本。

2、mod-security

它是apche的一個(gè)模塊,它不僅可以實(shí)現(xiàn)過濾請(qǐng)求和日志審計(jì)等功能,而且可以防止SQLInjection和跨站腳本攻擊等是個(gè)很不錯(cuò)的安全模塊。

十六、使用tmpfs文件系統(tǒng)替代頻繁訪問的目錄

tmpfs是一種基于內(nèi)存的文件系統(tǒng)。它最主要的兩個(gè)優(yōu)勢(shì)就是動(dòng)態(tài)文件系統(tǒng)大小和速度快。因?yàn)榈湫偷膖mpfs文件系統(tǒng)會(huì)完全駐留在RAM中,讀寫幾乎可以是瞬間的。即使用了一些交換分區(qū),性能仍然是卓越的。因此對(duì)于那些頻繁訪問的目錄,建議使用tmpfs文件系統(tǒng)進(jìn)行替代。

十七、優(yōu)化系統(tǒng)內(nèi)核參數(shù)

對(duì)系統(tǒng)內(nèi)核的優(yōu)化參數(shù),我們?cè)谙到y(tǒng)的基礎(chǔ)優(yōu)化這邊博文已經(jīng)講過了。系統(tǒng)內(nèi)核優(yōu)化最主要的目的就是減少TIME-WAIT的TCP連接數(shù)。

由于在基礎(chǔ)優(yōu)化篇我們已經(jīng)對(duì)apache進(jìn)行了內(nèi)核參數(shù)的優(yōu)化,因此這里我就不再操作了。這里我將為大家對(duì)優(yōu)化的參數(shù)進(jìn)行講解。

net.ipv4.tcp_fin_timeout #表示如果套接字由本端要求關(guān)閉,這個(gè)參數(shù)決定了它保持在FIN-WAIT-2狀態(tài)的時(shí)間,默認(rèn)值是60秒。

net.ipv4.tcp_tw_reuse #表示開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認(rèn)值為0,表示關(guān)閉。該參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/tcp_tw_reuse 0

net.ipv4.tcp_tw_recycle #表示開啟TCP連接中TIME-WAIT sockets的快速回收該參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/tcp_tw_recycle提示:reuse和recycle兩個(gè)參數(shù)為了防止生產(chǎn)環(huán)境下web,squid等time_wait過多設(shè)置的。

net.ipv4.tcp_syncookies #表示開啟SYN Cookies功能。當(dāng)出現(xiàn)SYN等待隊(duì)列溢出時(shí),啟用cookies來處理,可防范少量SYN攻擊,Centos5系列默認(rèn)值為1,表示開啟。因此這個(gè)參數(shù)也可以不添加。該參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/tcp_syncookies,默認(rèn)為1

net.ipv4.tcp_keepalive_time #表示當(dāng)keepalive起用的時(shí)候,TCP發(fā)送keepalive消息的頻度。缺省是2小時(shí),改為10分鐘。該參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/tcp_keepalive_time,默認(rèn)為7200秒。

net.ipv4.ip_local_port_range #選項(xiàng)用來設(shè)定允許系統(tǒng)打開的端口范圍。即用于向外連接的端口范圍。該參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/ip_local_port_range 32768 61000

net.ipv4.tcp_max_syn_backlog #表示SYN隊(duì)列的長(zhǎng)度,默認(rèn)為1024,加大隊(duì)列長(zhǎng)度為8192,可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù)。選項(xiàng)為服務(wù)器端用來記錄那些尚未收到客戶端確認(rèn)信息的連接請(qǐng)求的最大值。

該參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/tcp_max_syn_backlog

net.ipv4.tcp_max_tw_buckets #表示系統(tǒng)同時(shí)保持TIME_WAIT套接字的最大數(shù)量,如果超過這個(gè)數(shù)字,TIME_WAIT套接字將立刻被清楚并打印警告信息。默認(rèn)為180000,對(duì)于Apache、Nginx等服務(wù)器來說可以調(diào)整低一點(diǎn),如改為5000-30000,不同業(yè)務(wù)的服務(wù)器也可以給大一旦,比如lvs,squid。上幾行的參數(shù)可以很好地減少TIME_WAIT套接字?jǐn)?shù)量,但是對(duì)于Squid效果卻不大。此項(xiàng)參數(shù)可以控制TIME_WAIT套接字的最大數(shù)量,避免Squid服務(wù)器被大量的TIME_WAIT套接字拖死。此參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/tcp_max_tw_buckets

net.ipv4.tcp_synack_retries #參數(shù)的值決定了內(nèi)核放棄連續(xù)之前發(fā)送SYN+ACK包的數(shù)量。該參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/tcp_synack_retries默認(rèn)值為5

net.ipv4.tcp_syn_retries #表示在內(nèi)核放棄建立連接之前發(fā)送SYN包的數(shù)量。該參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/tcp_syn_retries 5

net.ipv4.tcp_max_orphans #選項(xiàng)用于設(shè)定系統(tǒng)中最多有多少個(gè)TCP套接字不被關(guān)聯(lián)到任何一個(gè)用戶文件句柄上。如果超過這個(gè)數(shù)字,孤立連接將立即被復(fù)位并打印出警告信息。這個(gè)限制這是為了防止簡(jiǎn)單的Dos攻擊,不能過分依靠這個(gè)限制甚至認(rèn)為減少這個(gè)值,更多的情況是增加這個(gè)值。該參數(shù)對(duì)應(yīng)系統(tǒng)路徑為:/proc/sys/net/ipv4/tcp_max_orphans 65536[!--empirenews.page--]

十八、盡可能減少HTTP請(qǐng)求數(shù)

http請(qǐng)求是要開銷的,想辦法減少請(qǐng)求數(shù)自然可以提高網(wǎng)頁(yè)速度。常用的方法,合并css,js(將一個(gè)頁(yè)面中的css和js文件分別合并)以及Imagemaps和csssprites等。當(dāng)然或許將css,js文件拆分成多個(gè)是因?yàn)閏ss結(jié)構(gòu),共用等方面的考慮。阿里巴巴中文站當(dāng)時(shí)的做法是開發(fā)時(shí)依然分開開發(fā),然后在后臺(tái)對(duì)js,css進(jìn)行合并,這樣對(duì)于游覽器來說依然是一個(gè)請(qǐng)求,但是開發(fā)時(shí)仍然能還原成多個(gè),方便管理和重復(fù)引用。yahoo甚至建議將首頁(yè)的css和js直接寫在頁(yè)面文件里面,而不是外部引用。因?yàn)槭醉?yè)的訪問量太大了,這么做可以減少兩個(gè)請(qǐng)求數(shù)。而事實(shí)上國(guó)內(nèi)的很多門戶都是這么做的。

其中csssprites是指只用將頁(yè)面上的背景圖合并成一張,然后通過css的background-position屬性定義不過的值來取他的背景。淘寶和阿里巴巴中文站目前都是這樣做的。這是個(gè)工具網(wǎng)站,它可以自動(dòng)將你上傳的圖片合并,并給出對(duì)應(yīng)的background-position坐標(biāo)。并將結(jié)果以png和gif的格式輸出。

十九、使用CDN做網(wǎng)站加速

簡(jiǎn)單地說,就是通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的緩存服務(wù)器內(nèi)。通過DNS負(fù)載均衡的技術(shù),判斷用戶來源就近訪問cache服務(wù)器取得所需的內(nèi)容,杭州的用戶訪問接近杭州服務(wù)器上的內(nèi)容,北京訪問接近北京服務(wù)器上的內(nèi)容。這樣可以有效減少數(shù)據(jù)在網(wǎng)絡(luò)上傳輸?shù)氖录?,提高速度。把靜態(tài)內(nèi)容發(fā)布到CDN減少了用戶影響時(shí)間20%或更多。

CDN技術(shù)示意圖:

國(guó)內(nèi)有名的CND公司:網(wǎng)宿,藍(lán)汛(chinacache),快網(wǎng)

二十、apache網(wǎng)站架構(gòu)優(yōu)化

好的網(wǎng)站架構(gòu)是網(wǎng)站性能強(qiáng)大關(guān)鍵,更是網(wǎng)站安全的關(guān)鍵。

在生產(chǎn)環(huán)境中建議將程序頁(yè)面服務(wù)器、圖片附件服務(wù)器和上傳服務(wù)器三者的功能盡量分離。

那么如何實(shí)現(xiàn)分離呢?

1、分離最佳方式是分別使用獨(dú)立的服務(wù)器(需要程序支持)

2、次選方案在前端負(fù)載均衡器通過haproxy/nginx來根據(jù)用戶請(qǐng)求的目錄或擴(kuò)展名來對(duì)后端的服務(wù)器發(fā)出請(qǐng)求。

例如:請(qǐng)求就拋給圖片服務(wù)器(CDN最好),這里是根據(jù)擴(kuò)展名.jpg分發(fā)

請(qǐng)求就拋給上傳服務(wù)器(CDN最好),這里是根據(jù)URL路徑分發(fā)

均不符合上面兩個(gè)要求的,默認(rèn)就都是拋給web服務(wù)器。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉