當前位置:首頁 » 城管服務 » 輕量級web伺服器

輕量級web伺服器

發布時間: 2020-12-29 10:56:06

① 如何進行網站性能優化

一、前端優化

網站性能優化是一個很綜合的話題,涉及到服務器的配置和網站前後端程序等各個方面,我只是從實際經歷出發,分享一下自己所嘗試過的網站性能優化方法。之所以在標題上掛一個web2.0,是因為本文更偏重於中小網站的性能優化,我所使用的系統也是典型web2.0的LAMP架構。

首先講講前端的優化,用戶訪問網頁的等待時間,有80%是發生在瀏覽器前端,特別是頁面和頁面中各種元素(圖片、CSS、Javascript、 flash…)的下載之上。因此在很多情況下,相對於把大量的時間花在艱苦而繁雜的程序改進上,前端的優化往往能起到事半功倍的作用。雅虎最近將內部使用的性能測試工具yslow向第三方公開,並發布了著名的網站性能優化的十三條規則,建議你下載並安裝yslow,並作為測評網站優化效果的工具。下面我挑其中特別有價值的具體說明一下優化的方法:

對於第一次訪問您網站,尚未在瀏覽器cache中緩存您網站內容的用戶,我們可以做的事情包括:

1)減少一個頁面訪問所產生的http連接次數
對於第一次訪問你網站的用戶,頁面所產生的http連接次數是影響性能的一個關鍵瓶頸。

對策:
- 盡量簡潔的頁面設計,最大程度減少圖片的使用,通過放棄一些不必要的頁面特效來減少javascript的使用。
- 使用一些優化技巧,比如利用圖片的背景位移減少圖片的個數;image map技術;使用Inline images將css圖片捆綁到網頁中。
- 盡量合並js和css文件,減少獨立文件個數。

2) 使用gzip壓縮網頁內容
使用gzip來壓縮網頁中的靜態內容,能夠顯著減少用戶訪問網頁時的等待時間(據說可達到60%)。主流的web伺服器都支持或提供gzip壓縮,如果使用apache伺服器,只需要在配置文件中開啟 mod_gzip(apache1.x)或mod_deflate(apache2.x)即可。凡是靜態的頁面,使用gzip壓縮都能夠顯著提高伺服器效率並減少帶寬支出,注意圖片內容本身已經是壓縮格式了,務必不要再進行壓縮。

3)將CSS放在頁面頂端,JS文件放在頁面底端
CSS的引用要放在html的頭部header中,JS文件引用盡量放在頁面底端標簽的後面,主要的思路是讓核心的頁面內容盡早顯示出來。不過要注意,一些大量使用js的頁面,可能有一些js文件放在底端會引起一些難以預料的問題,根據實際情況適當運用即可。

4)使JS文件內容最小化
具體來說就是使用一些javascript壓縮工具對js腳本進行壓縮,去除其中的空白字元、注釋,最小化變數名等。在使用gzip壓縮的基礎上,對js內容的壓縮能夠將性能再提高5%。

5)盡量減少外部腳本的使用,減少DNS查詢時間
不要在網頁中引用太多的外部腳本,首先,一次dns的解析過程會消耗20-120毫秒的時間;其次,如果在頁面中引用太多的外部文件(如各種廣告、聯盟等代碼),可能會因為外部文件的響應速度而將你的網站拖得很慢。如果不得不用,那麼就盡量將這些腳本放在頁腳吧。不過有一點需要提及,就是瀏覽器一般只能並行處理同一域名下的兩個請求,而對於不同子的域名則不受此限制,因此適當將本站靜態內容(css,js)放在其他的子域名下(如 static.xxx.com)會有利於提高瀏覽器並行下載網頁內容的能力。

對於您網站的經常性訪問用戶,主要的優化思路就是最大限度利用用戶瀏覽器的cache來減少伺服器的開銷。

1)在header中添加過期時間(Expires Header)
在header中給靜態內容添加一個較長的過期時間,這樣可以使用戶今後訪問只讀取緩存中的文件,而不會與伺服器產生任何的交互。不過這樣做也存在一些問題,當圖片、CSS和js文件更新時,用戶如果不刷新瀏覽器,就無法獲得此更新。這樣,我們在對圖片、css和js文件修改時,必須要進行重命名,才能保證用戶訪問到最新的內容。這可能會給開發造成不小的麻煩,因為這些文件可能被站點中的許多文件所引用。flickr提出的解決辦法是通過url rewrite使不同版本號的URL事實上指向同一個文件,這是一個聰明的辦法,因為url級別的操作效率是很高的,可以給開發過程提供不少便利。

要理解為什麼這樣做,必須要了解瀏覽器訪問url時的工作機制:
a. 第一次訪問url時,用戶從伺服器段獲取頁面內容,並把相關的文件(images,css,js…)放在高速緩存中,也會把文件頭中的expired time,last modified, ETags等相關信息也一同保留下來。
b. 用戶重復訪問url時,瀏覽器首先看高速緩存中是否有本站同名的文件,如果有,則檢查文件的過期時間;如果尚未過期,則直接從緩存中讀取文件,不再訪問伺服器。
c. 如果緩存中文件的過期時間不存在或已超出,則瀏覽器會訪問伺服器獲取文件的頭信息,檢查last modifed和ETags等信息,如果發現本地緩存中的文件在上次訪問後沒被修改,則使用本地緩存中的文件;如果修改過,則從伺服器上獲取最新版本。

我的經驗,如果可能,盡量遵循此原則給靜態文件添加過期時間,這樣可以大幅度減少用戶對伺服器資源的重復訪問。

2)將css和js文件放在獨立外部文件中引用
將css和js文件放在獨立文件中,這樣它們會被單獨緩存起來,在訪問其他頁面時可以從瀏覽器的高速緩存中直接讀取。一些網站的首頁可能是例外的,這些首頁的自身瀏覽可能並不大,但卻是用戶訪問網站的第一印象以及導向到其他頁面的起點,也可能這些頁面本身使用了大量的ajax局部刷新及技術,這時可以將 css和js文件直接寫在頁面中。

3)去掉重復的腳本
在IE中,包含重復的js腳本會導致瀏覽器的緩存不被使用,仔細檢查一下你的程序,去掉重復引用的腳本應該不是一件很難的事情。

4)避免重定向的發生
除了在header中人為的重定向之外,網頁重定向常在不經意間發生,被重定向的內容將不會使用瀏覽器的緩存。比如用戶在訪問,伺服器會通過301轉向到/,在後面加了一個「/」。如果伺服器的配置不好,這也會給伺服器帶來額外的負擔。通過配置apache的 alias或使用mod_rewrite模塊等方法,可以避免不必要的重定向。

還有一些,比如使用CDN分發機制、避免CSS表達式等、避免使用ETags等,因為不太常用,這里就不再贅述了。

做完了上述的優化,可以試著用yslow測試一下網頁的性能評分,一般都可以達到70分以上了。

當然,除了瀏覽器前端和靜態內容的優化之外,還有針對程序腳本、伺服器、資料庫、負載的優化,這些更深層次的優化方法對技術有更高的要求。本文的後半部分將重點探討後端的優化。

二、後端優化

上次寫完web2.0網站前端優化篇之後,一直想寫寫後端優化的方法,今天終於有時間將思路整理了出來。

前端優化可以避免我們造成無謂的伺服器和帶寬資源浪費,但隨著網站訪問量的增加,僅靠前端優化已經不能解決所有問題了,後端軟體處理並行請求的能力、程序運 行的效率、硬體性能以及系統的可擴展性,將成為影響網站性能和穩定的關鍵瓶頸所在。優化系統和程序的性能可以從以下的方面來入手:

1)apache、mysql等軟體的配置的優化
盡管apache和mysql等軟體在安裝後使用的默認設置足以使你的網站運行起來,但是通過調整mysql和apache的一些系統參數,還是可以追求更高的效率和穩定性。這個領域中有很多專業的文章和論壇(比如: ),要想掌握也需要進行深入的研究和實踐,這里就不重點討論了。

2)應用程序環境加速
這里僅以我最常應用的php開發環境為例,有一些工具軟體可以通過優化PHP運行環境來達到提速的目的,其基本原理大致是將PHP代碼預編譯並緩存起來,而不需要改變任何代碼,所以比較簡單,可以將php的運行效率提升50%以上。比較常用的php加速工具有:APC( http: //pecl.php.net/package-info.php?package=APC)、Turck MMCache( )、php accelebrator(),還有收費的Zend Performance Suite

3)將靜態內容和動態內容分開處理
apache是一個功能完善但比較龐大的web server,它的資源佔用基本上和同時運行的進程數呈正比,對伺服器內存的消耗比較大,處理並行任務的效率也一般。在一些情況下,我們可以用比較輕量級的web server來host靜態的圖片、樣式表和javascript文件,這樣可以大大提升靜態文件的處理速度,還可以減少對內存佔用。我使用的web server是來自俄羅斯的nginx,其他選擇方案還包括lighttpd和thttpd等。

4)基於反向代理的前端訪問負載均衡
當一台前端伺服器不足以應付用戶訪問時,通過前端機實現web訪問的負載均衡是最快速可行的方案。通過apache的mod_proxy可以實現基於反向代理的負載均衡,這里推薦使用nginx做代理伺服器,處理速度較apache更快一些。

5)應用緩存技術提高資料庫效能,文件緩存和分布式緩存
資料庫訪問處理並發訪問的能力是很多網站應用的關鍵瓶頸,在想到使用主從結構和多farm的方式構建伺服器集群之前,首先應該確保充分使用了資料庫查詢的緩存。一些資料庫類型(如mysql的innoDB)自身內置對緩存的支持,此外,還可以利用程序方法將常用的查詢通過文件或內存緩存起來。比如通過 php中的ob_start和文件讀寫函數可以很方便的實現文件形式的緩存,而如果你擁有多台伺服器,可以通過memcache技術通過分布式共享內存來對資料庫查詢進行緩存,不僅效率高而且擴展性好,memcache技術在livejournal和Craigslist.org等知名網站應用中都得到了檢驗。

6)伺服器運行狀態的檢測,找到影響性能的瓶頸所在
系統優化沒有一勞永逸的方法,需要通過檢測伺服器的運行狀態來及時發現影響性能的瓶頸,以及可能存在的潛在問題,因為網站的性能,永遠取決於木桶中的短板。可以編寫一些腳本來檢測web服務的運行,也有一些開源的軟體也提供了很好的功能

7)良好的擴展架構是穩定和性能的基礎
一些技巧和竅門可以幫你度過眼前的難關,但要想使網站具備應付大規模訪問的能力,則需要從系統架構上進行徹底的規劃,好在很多前人無私的把他們架構
網站的經驗分享給我們,使我們可以少走甚多彎路。我最近讀到的兩篇有啟發的文章:
- 從LiveJournal後台發展看大規模網站性能優化方法
- Myspace的六次重構

最後不得不提到程序編碼和資料庫結構對性能的影響,一系列糟糕的循環語句,一個不合理的查詢語句、一張設計不佳的數據表或索引表,都足以會使應用程序運行的速度成倍的降低。培養全局思考的能力,養成良好的編程習慣,並對資料庫運行機制有所了解,是提高編程質量的基礎。

② java的web伺服器,除了用tomcat還有哪些輕量級的,好用的

jetty,resin,jboss(裡面跑的還是tomcat)
其實tomcat就是行業標准了。

③ 有哪些輕量級web伺服器

web服務抄器就是搭建網站的伺服器,所謂襲輕量級,其實就是低配置的伺服器,或者是雲主機。選擇的時候可以根據網站的規模,預算的多少來選擇合適自己的,前期用雲主機即可,後期訪問量大了,可以換性能更好的伺服器。
我是做這塊的,還不明白的可以點我

④ 有哪些輕量級web伺服器

是不是還要有重量級的啊,大佬,一般的網站企業網站展示網站,VPS雲伺服器就可以足夠版用了,除非權你的量大,一天來個上萬的量,那你還是用獨立伺服器吧,前期沒量一般都是用雲主機虛擬主機的。要是你的是下載站,視頻站,那還是用獨立伺服器吧,因為下載站,視頻站隊帶寬資源要求很大,硬碟也是,所以虛擬伺服器都滿足不了,只能用獨立伺服器,主要就是看你的網站類型了。我用的是 海騰數據的獨立伺服器,我的網站一開始沒有量也是用的雲主機,海騰曾超人不錯。

⑤ IIS是輕量級的Web伺服器嗎

我暈。抄iis是輕量級的,那襲lighttpd之類的是什麼?羽毛級?空氣級?
推薦你一個介紹:
http://hi..com/marsjin/blog/item/48a38716356a9e56f2de3234.html

⑥ web伺服器的重量級和輕量級的區別是什麼

輕量級的有一些功能省略了!

重量級:就是說包的大小,還有就是與個人項目的耦合程度,重量級的框架與項目耦合程度大些
輕量級:就是相對較小的包,當然與項目的耦合程度小

⑦ 有哪些輕量級web伺服器

web伺服器只是應用服來務器的一種,可以叫自做:web應用伺服器;web伺服器比如:iis+php+mysql應用伺服器可以提供:web服務、weblogic、Tomcat等應用;舉個例子:Tomcat主要應用於提供jsp程序的開放調試輕量級web服務所以可以看出web伺服器只是應用伺服器的一個小部分。

⑧ 阿里雲輕量級伺服器不能搭建WEB環境

還是用ECS伺服器要更靈活些,輕量型即不像伺服器,也不像虛擬主機。

申請阿里雲的產品時,可以領取代金券,能節約不少,現在在線,可發給你。

⑨ 如何在Ubuntu 14.04上安裝輕量級web伺服器Cherokee

1. 更新Ubuntu軟體包索引
首先登陸Ubuntu Server,執行以下命令,更新Ubuntu Server的軟體源並安裝可用的更新。
sudo apt-get update
sudo apt-get upgrade

2. 加入 PPA
通過運行以下命令增加Cherokee的PPA
sudo add-apt-repository ppa:cherokee-webserver
sudo apt-get update
對於運行14.04版本的伺服器還需要執行以下步驟
cd /etc/apt/sources.list.d
nano cherokee-webserver-ppa-trusty.list
用deb http://ppa.launchpad.net/cherokee-webserver/ppa/ubuntu saucy main 替換 deb http://ppa.launchpad.net/cherokee-webserver/ppa/ubuntu trusty main
再次運行命令:
sudo apt-get update

3. 使用apt-get安裝Cherokee
使用如下命令安裝Cherokee和SSL模塊
sudo apt-get install cherokee cherokee-admin cherokee-doc libcherokee-mod-libssl libcherokee-mod-streaming libcherokee-mod-rrd

4. 配置Cherokee
重啟Cherokee服務:
sudo service cherokee start
使用Cherokee最大的好處就是能通過一個簡單易用的web界面 cherokee-admin 來管理所有的配置選項。推薦通過瀏覽器來管理Cherokee。使用如下命令啟動cherokee-admin
sudo cherokee-admin
注意: cherokee-admin 會顯示用戶名,一次性密碼和web管理界面地址。
請記錄下這個一次性密碼,登錄到管理界面時需要它。
默認情況下,只能通過localhost訪問Cherokee-admin,如果需要通過其它網路地址來訪問,可以使用『-b』參數。如果不指定任何IP地址,Cherokee-admin會自動監聽所有網路埠。然後就可以通過網路訪問Cherokee-admin
sudo cherokee-admin -b
通過指定IP地址訪問Cherokee-admin
sudo cherokee-admin -b 192.168.1.102

5. 瀏覽cherokee-admin面板
在你喜歡的瀏覽器中輸入地址http://主機名或IP地址:9090/就可以進入控制面板了。例如我的是http://127.0.0.1:9090/,在瀏覽器中顯示如下圖
好了,到這里我們已經成功地在Ubuntu Server上安裝和配置了Cherokee。

什麼是cherokee?

Cherokee 是一個免費,開源,高性能輕量級的全功能web伺服器,支持大部分主流操作系統(Linux、 Mac OS X、 Solaris 和 BSD)。它支持TLS/SSL、FastCGI、 SCGI、 PHP、 uWSGI、 SSI、 CGI、 LDAP、 HTTP代理、 視頻流處理、 內容緩存、 流量控制、 虛擬主機、Apache兼容的日誌文件,以及負載均衡等功能。

熱點內容
影視轉載限制分鍾 發布:2024-08-19 09:13:14 瀏覽:319
韓國電影傷口上紋身找心裡輔導 發布:2024-08-19 09:07:27 瀏覽:156
韓國電影集合3小時 發布:2024-08-19 08:36:11 瀏覽:783
有母乳場景的電影 發布:2024-08-19 08:32:55 瀏覽:451
我准備再看一場電影英語 發布:2024-08-19 08:14:08 瀏覽:996
奧迪a8電影叫什麼三個女救人 發布:2024-08-19 07:56:14 瀏覽:513
邱淑芬風月片全部 發布:2024-08-19 07:53:22 瀏覽:341
善良媽媽的朋友李采潭 發布:2024-08-19 07:33:09 瀏覽:760
哪裡還可以看查理九世 發布:2024-08-19 07:29:07 瀏覽:143
看電影需要多少幀數 發布:2024-08-19 07:23:14 瀏覽:121