1. linux web伺服器如何添加虛擬主機
<VirtualHost *:80>
DocumentRoot /data/apache/
ServerName yourdomainname
</VirtualHost>
2. Web伺服器性能和站點訪問性能該如何優化
今天小編要跟大家分享的文章是關於Web伺服器性能和站點訪問性能該如何優化?正在從web前端工作的小夥伴們來和小編一起看一看吧!
一、優化思路淺析
要優化Web伺服器的性能,我們先來看看Web伺服器在web頁面處理上的步驟:
1、Web瀏覽器向一個特定的伺服器發出Web頁面請求;
2、Web伺服器接收到web頁面請求後,尋找所請求的web頁面,並將所請求的Web頁面傳送給Web瀏覽器;
3、Web瀏覽器接收到所請求的web頁面內容,並將它顯示出來。
上面三個步驟都關系Web伺服器,但實際Web伺服器性能相關最大的是在第2步,這里Web伺服器需要尋找來自瀏覽器所請求的Web
頁面內容。
我們知道,Web頁面內容有靜態的,也有動態的,靜態的內容,web
伺服器可以直接將結果發回給瀏覽器,對於動態內容,則通常需要交給應用伺服器先處理,由應用伺服器返回結果。
當然,也有Web伺服器本身可以處理動態內容的,例如IIS就可以自已解釋處理ASP,ASP.NET這兩種微軟的動態網頁腳本語言。
從上面簡要的分析里,我們大致可以得到這樣的結論,影響Web頁面訪問的影響因素會有這幾個:
1、Web伺服器從磁碟中讀取靜態頁面內容的速度,也即時間;
2、Web伺服器判定請求內容是靜態還是動態內容的時間;
3、Web伺服器轉發請求給應用伺服器的時間;
4、應用伺服器處理(解釋)動態內容所需的時間;
5、Web伺服器返回Web內容給瀏覽器的響應時間;
6、Web伺服器接收來自瀏覽器請求的處理性能;
7、Web訪問請求數據在網路上傳輸的時間:包括從瀏覽器到伺服器,和從伺服器到瀏覽器兩部分;
8、瀏覽器本地計算和渲染Web內容的時間,即接收內容後展現內容的時間。
上面8項很容易理解,也很直接,其實還有以下幾項也是關乎Web
頁面訪問速度體驗的因素,你可以思考下是否如此?或者說是否會影響到頁面訪問性能。
§Web伺服器執行安全策略檢查的時間,或者說性能;
§Web伺服器讀取日誌文件、寫日誌內容、關閉對日誌文件訪問的時間,先讀後寫再關閉,這三步中的讀與寫又涉及到磁碟訪問性能因素;
§同時與Web伺服器連接會話的客戶端數量大小,即並發訪問量多大。
我們可以將上面的影響因素抽像出來,那麼就是:
1、Web伺服器磁碟性能;
2、Web伺服器與應用伺服器交互的性能;
3、應用伺服器處理動態內容的性能,或者說動態內容應用處理性能;
4、客戶端與Web伺服器的連接速度,即網路傳輸性能;
5、Web瀏覽器解釋和渲染Web內容的性能;
6、Web訪問並發性能。
反映到我們進行性能優化,可以入手的角度就有:
1、增加帶寬,包括伺服器和客戶端兩邊的Internet連接帶寬;
2、加快動態內容的處理性能;
3、盡可能多地使用靜態內容,這樣Web伺服器就可以無需請求應用伺服器,直接將Web內容發給瀏覽器端,這里可以入手的方案又有:
動態內容緩存
動態內容靜態化
多台伺服器負載均衡同時處理大量的並發訪問;
提升伺服器磁碟訪問性能,也即通常所說的I/O性能;
減少網頁中的HTTP請求數;
更換更好性能的Web伺服器;
合理部署伺服器,在離客戶端更近的地方部署伺服器,已經證明可以明顯地提升訪問性能。
二、性能優化實踐
經過前面小節的簡要分析,相信你對優化Web伺服器有一定的思路了,你可以從硬體層面、軟體層面、Web代碼三個層面去優化。
下面我們結合一個具體的實例來實踐一回,本文所舉例是一個小型的Web
站點,部分數據系假設,如有類同,純屬巧合,僅起拋磚引玉之用。在實際工作中,如果碰到大站點,你可以參考此處的分析,修改優化方案。
1.站點簡介
一個社區論壇站點,採用Discuz!論壇程序構建,該程序採用主流的PHP+Mysql組成。
網站目前有近5萬注冊用戶,絕大多數是國內的用戶,活躍用戶數在一半左右,每天平均PV在15~20萬,獨立訪問IP數在8000
左右。
2.Web伺服器性能優化需求
網站現部署在國外的伺服器,租用虛擬主機來運營,因為訪問量比較大,所以經常會收到虛擬主機服務商的流量很大的通知,要求控制下訪問量。
另外,虛擬主機的伺服器在美國,沒有在國內租用虛擬主機的原因是國內網站在備案方面非常繁瑣,在網站一開始運營時數據量和訪問量都比較小,所以對性能要求不高,數據量小,所以伺服器在查詢處理數據時速度比較快,也讓人感覺訪問速度不慢,現在隨著數據量和訪問量的不斷上升,訪問速度已明顯下降,到了需要改善訪問性能的時候了。
基於目前該社區網站的情況,提出的優化需求是,國內訪問速度需要提升一倍,目前首頁載入時間需要40秒左右,希望優化後能在20
秒以內將首頁載入完成。
另外提出網站數據能夠每天自動備份一次,備份數據保留一個月的,以便隨時恢復。
上述兩點需求,其中第一條才是性能優化需求,第二條是額外的需求了。
3.性能優化方案
根據其網站的現狀和優化需求,結合自己的經驗,加上谷歌的搜索,同時與網站主不斷確認溝通,最終得到以下性能優化方案:
由虛擬主機部署改為獨立伺服器部署
虛擬主機受限比較多,無法自己自定義配置Web伺服器,無法配置PHP
動態緩存,而且獨立伺服器可以獨享內存、處理器資源,不再受虛擬主機商對每個虛擬主機用戶的內存和處理器資源佔用限制。處理器資源和內存資源,對接受更多並發訪問有直接性能提升效果。
獨立伺服器,我們選用Linode2048型號,2G內存,4核處理器(Linode所有VPS都是四核處理器),80G硬碟空間,800G
網路流量。
由Windows操作系統改為Linux操作系統
網站使用的是PHP+MySQL程序,PHP在Windows下的性能,受限於IIS需要通過ISAPI形式調用PHP,所以性能不如
Linux下Apache直接通過PHP模塊解釋PHP,更不如Nginx與PHP-FPM
的性能,既然使用了獨立伺服器,操作系統也可以自己確定,Linux系統我們選用了熟悉的UbuntuLinuxServer10.04(一年前還沒有
12.04),^-^。
Web伺服器採用Nginx,而不使用Apache
選用Nginx而不用Apache的原因非常直接和乾脆,因為站點里有很多靜態的附件文件,在處理靜態內容上,Nginx性能是Apache
的差不多10倍。
在PHP解釋和偽靜態規則方面,Apache要比Nginx強,但這不影響我們放棄它,為緩解這一點,我們在後面對PHP
進行了動態緩存。
對PHP查詢進行動態緩存,使用eAccelerator這個加速器
PHP加速器是一個為了提高PHP執行效率,從而緩存起PHP的操作碼,這樣PHP後面執行就不用解析轉換了,可以直接調用PHP
操作碼,這樣速度上就提高了不少。
eAccelerator是一個開源PHP加速器,優化和動態內容緩存,提高了PHP腳本的緩存性能,使得PHP
腳本在編譯的狀態下,對伺服器的開銷幾乎完全消除。它還有對腳本起優化作用,以加快其執行效率。使得的PHP程序代碼執效率能提高1-10
倍,這個加速還是非常明顯的。
具體地,我們計劃對eAccelerator進行以下設置優化:
§緩存使用物理內存來進行,不使用磁碟來緩存。我們知道內存的讀寫性能是硬碟的N倍,所以在內存資源可以安排情況下,強烈建議使用內存來保存
eAccelerator的緩存內容。
§緩存大小設置為32MB,這個值是操作系統默認支持最大的緩存容量。雖然可以通過修改配置文件來加大這個值,但我們覺得沒有必要,所以就放棄了。
Nginx性能優化
選用了Nginx,雖然它的性能很好,但我們仍然需要對它進行性能優化,在這個案例中,我們做了以下優化:
§使用8個進程,每個進程大約需要20M內存消耗,這里一共使用了150M左右的內存。
§充分使用主伺服器的CPU內核:四核,使用CPU粘性配置選項(worker_cpu_affinity),每核處理器分配兩個進程。
§開啟gzip壓縮功能:gzip壓縮對JS,CSS,XML壓縮效果非常好,能壓縮一半,即減少一倍的傳輸時間;對圖片文件,JPG
已經壓縮過的,它的壓縮性能要少一些。
§圖片本地緩存1天:網站上的圖片很多,通常一張圖片上傳後,不會頻繁的修改,只會頻繁的訪問,所以將圖片放在Nginx
緩存里,可以減少伺服器訪問載入次數,提升訪問速度。
§JS、CSS文件本地緩存7
天:這兩種網頁文件,平時都不會去修改它,將它緩存起來,可以減少載入次數,提升訪問速度。為什麼這兩種文件不和圖片一起設置緩存有效期,是考慮了不同文件的修改頻率不一樣。
§Nginx日誌每天切割一次:這個優化項能大大減小Nginx日誌文件的大小,經過一周的查看,每天的日誌文件是50M
左右,如果不是每天切割,用月切割,那一個月的日誌文件就是幾個G,要Web
伺服器在內存里載入這么大的文件,系統本身內存不夠用,就自然會用到磁碟來緩存,這就影響性能。每天50M左右,在內存上完全可以順利載入,這樣Nginx
在處理訪問時,可以快速的保存訪問日誌。
經過上述幾個優化項目,Nginx這邊一共需要佔用200M左右內存資源。
對PHPCGI進程性能進行優化
Nginx沒有PHP模塊,所以它對PHP的支持是通過PHP-FPM來實現的,PHP-FPM
是跑進程來處理並發請求,在這個案例中,我們配置了20個進程,每個進程差不多佔用20M左右內存資源,一共是400M左右。
同時,PHP-FPM與Nginx交互機制,選用LinuxSocket模式而不是TCP協議埠,Socks是系統級處理模式,socks
也就是一個文件連接,而TCP協議埠,需要經過網路協議處理,性能不如前者,所以我們選擇了前者。
MySQL資料庫性能優化
因為網站主程序是選用他人開發的開源程序,所以對資料庫查詢的程序優化我們無法處理,只能從MySQL本身尋找突破口。
我們可以想像一下,對於論壇網站,通常看貼、查貼的訪問量要遠大於創建貼子、回復貼子的訪問量,體現在MySQL
資料庫上,就是讀表與查詢表數據的連接處理更多。
因此我們要選擇對讀表、查詢性能更好的存儲引擎,結合以前了解的知識,MySQL預設的MyISAM
引擎就是被設計為適合處理讀頻率遠大於寫頻率的環境,查詢效率相當可觀,而且內存佔用很少,這也與我們租用低內存配置的VPS相符。
具體到MySQL配置參數的優化上,受限於伺服器上內存資源本身有限,就直接採用預設的中型環境配置文件。
內容分發網路應用
站點每天十多萬的訪問,上萬獨立IP
訪問,查看先前的訪問統計,訪問來自國內各個地區,使用多種網路連接訪問進來,為保證來自各網路的用戶訪問速度,同時也減少對網站伺服器的請求,我們採用了CDN
來分發靜態內容,這樣各地的用戶可以就近訪問到已緩存在CDN上的文件,CDN
服務商會在靜態內容第一次訪問時緩存到他們全國各地的伺服器上,當第二次訪問時,用戶實際是沒有連接到網站伺服器上獲取文件的,而是直接從CDN
伺服器上獲取,可以明顯的提升網站性能。
以上就是小編今天為大家分享的關於Web伺服器性能和站點訪問性能該如何優化的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助。想要了解更多web前端相關知識記得關注北大青鳥web培訓官網。最後祝願小夥伴們工作順利!
3. 什麼是虛擬主機,虛擬主機有什麼要求
什麼是虛擬主機
我的網站做好了,該放到什麼地方去呢?顯然應該放在運行於互聯網上的伺服器里。可是,現在提供免費主頁空間的服務商很難申請到,而自己架設一台Web伺服器代價也不算小,所以對於個人以及SOHO用戶而言,多個用戶共同租用一台伺服器——即購買虛擬主機就成了比較現實的選擇。
■ 什麼是虛擬主機
所謂虛擬主機,就是把一台運行在互聯網上的伺服器劃分成多個「虛擬」的伺服器,每一個虛擬主機都具有獨立的域名和完整的Internet伺服器(支持WWW、FTP、E-mail等)功能。一台伺服器上的不同虛擬主機是各自獨立的,並由用戶自行管理。但一台伺服器主機只能夠支持一定數量的虛擬主機,當超過這個數量時,用戶將會感到性能急劇下降。
■ 虛擬主機的硬體條件
試用:虛擬主機服務提供商一般會在用戶購買其服務之前提供幾天的試用時間,你完全可以在這幾天的時間里了解虛擬主機的性能,給自己的網頁和電子郵件挑選到一個合適的「大家庭」。
速度:使用電信骨幹線路的、配置有約100個用戶的虛擬主機,其網速肯定要比那些採用ADSL等低速線路連接的獨立主機要快得多。
穩定性:當然,除了速度,我們還要注意網路環境的穩定性和安全性,比如服務商是否採用了思科、3Com的路由器連接到網路,是否購買了網關防火牆,是否有專人全天24小時監視來自網路的各種攻擊……只有具備了上述條件的主機服務商才是我們選擇的目標。
有些虛擬主機服務商隨便找條低帶寬的線路,再東拼西湊一些設備,找兩個懂得調試Windows 2000的技術人員,然後就倉促上馬提供服務。就算其價格再便宜,我們也不推薦使用。
服務穩定性源於服務商的基礎設施。配置較高檔的伺服器,配有冗餘設備、RAID卡等;有保證電源輸入穩定的UPS、應急發電機;有保持恆溫、恆濕的設備等等。當然,這些硬體設施,有時我們是不可能親眼看到的。所以,購買之前通過多種途徑(比如服務商的網站)多了解服務商的情況非常重要!畢竟,知己知彼,才能找到適合的主機!
■ 你需要多大的空間
虛擬主機伺服器提供硬碟空間的類型分為獨立Web空間、資料庫空間、獨立郵局空間等。虛擬主機空間的大小主要依據發布信息的多少。如果你的網站包含有10到150個左右的頁面,每頁算上相關圖片,有100多KB,那你租用60MB的空間就差不多了。如果頁面在幾百頁以上,並且需要有資料庫支持,那你需要的相應空間應該在100MB到200MB之間。實際所需空間不足時可以再補差價向服務商申請增加空間大小;若一開始購買空間很大,可總也用不上那麼多,退也退不掉,無疑是浪費金錢。
■ 虛擬主機的軟體條件
虛擬主機的伺服器一般採用Windows 2000(NT)和UNIX(linux)兩種伺服器操作系統,兩者各有所長。資料庫空間也分為兩類:Windows 2000平台的 IIS 5.0/Access資料庫空間和Linux平台的MySQL/PHP資料庫空間。不過筆者個人還是比較傾向於選擇Unix(linux),但是對於經常調用各種資料庫且需要進行ASP網頁設計的公司用戶而言,則只能採用Windows 2000平台,UNIX系統支持的是PHP。
■ 地點和價格
伺服器存放的地點也是選購時一定要仔細考慮的。如果網站的信息宣傳范圍在國外,那租用在美國的虛擬伺服器是最佳選擇,因為美國的網路帶寬最大;如果宣傳的范圍主要在國內,那就租用放在國內電信節點的伺服器為最好。對於價格,大家都是很敏感的。一些電信旗下的服務商價格會比較高,不過現在隨著諸多虛擬主機服務商的崛起,虛擬主機的價格現在已經低了很多。
■ 售後服務
如「無法創建電子郵箱」、「主頁無法訪問」等等常見的售後問題,大概是不少擁有虛擬主機的朋友經常遇到的。有的服務商將銷售放在首位,售後服務不是很完善,如只在首頁做了郵箱設置方法、FTP設置方法以及技術問題的「伊妹兒」鏈接就完事了。而標榜的服務熱線是服務商本地的電話,若外地朋友遇到問題打長途還得自己買單。具有本地售後服務支持、全國免費800售後電話支持的公司,無疑讓我們在選購之前就放心了不少。購買之前可以裝成客戶詢問一些問題、留意一下服務商的售後服務質量及態度,售後服務出色的虛擬主機在以後使用時會輕松很多。
4. aphace和虛擬主機的區別,也就是web伺服器和網站空間伺服器有何區別
Apache是虛擬主機中的一款軟體,主要針對php語言的網站,當然asp網站也可以,但是一般都使用iis。
你可以在本地搭建一個apache+php+mysql(現在也有集成軟體),然後自己上傳一個WordPress程序試試看。
5. 介紹幾種方式用來在web伺服器上創建虛擬主機
首先你要從網上下載i386,用網路搜一下就出來了,安裝IIS伺服器的時候需要用到裡面的文件。
然後進行IIS的設置
(1)
打開「控制面板」,選擇「添加刪除程序」,在左側選擇「添加刪除WINDOWS組件」,彈出WINDOWS組件的對話框。
(2)在組件中選中「Internet信息服務(IIS)」那一欄,選中之後右下角原來灰色的「詳細信息」就變為可選狀態,打開「詳細信息」,將所有子組件都選中,然後確定。
(3)點擊「下一步」即開始安裝,安裝過程中需要兩次選擇安裝文件,這時你點「瀏覽」將路徑導向你的i386文件夾中,選中其所需的文件就可以了,直到安裝完畢。
(4)安裝完成後,打開控制面板,選擇「管理工具」,你會看到多出的一個「Internet信息服務」圖標,打開「Internet信息服務」,左側目錄中的那串數字就是的伺服器名字,下面有三個子目錄,分別為:「網站」「FTP站點」「默認SMTP虛擬伺服器」,以上如正常顯示,則表明你安裝成功。
呼呼,累死我了,為了回答你的問題,我重新在我的電腦上把IIS重裝了一遍,加分加分吧。
補充說明,在剛才的窗口,右鍵「默認網站」,在彈出菜單中選擇「新建」-》虛擬目錄,根據安裝向導就可以創建虛擬目錄了。中間有一步需要選擇路徑,只要把那個路勁導向你建立的網站文件夾,就可以訪問你的網站系統
6. 在linux下可以使用的web伺服器有哪些
LINUX系統中常見的有:CERN、NCSA、Apache三種方式,一般最常用的方法就是用Apache。
LINUX系統中,還可以使用kangle web伺服器。這是國內研發的web伺服器。
支持跨平台使用(win2000以上系統、LINUX、UNIX等);
支持虛擬主機獨立進程及虛擬主機獨立運行身份;
子進程可以實行CHROOT; Linux學習可參考書籍《Linux就該這么學》。
7. Web伺服器(或虛擬主機)的根目錄在哪裏
我使用過的空間的根目錄一般有這幾種:1、/www文件夾;2、/public_html文件夾;3、web文件夾。還有一種,是很不常見的,那就是連接上ftp之後就是根目錄,裡面沒有文件夾,你所在的就是/root根目錄
8. 虛擬主機有什麼用
虛擬主機不但可以用於個人博客類型的網站,而且可以用於中小型的企業展示和單頁營銷型的網站。個人博客網站主要用於個人的生活和愛好的方面來進行建設,也不需要選擇很高的配置,選擇虛擬主機簡單,方便,小巧,非常的實用。對於很多的中小企業,他們的網站主要用來展示企業的基本情況,或者產品的特定時間的營銷。並不涉及到網上的在線交易;所以選擇虛擬主機來說也是非常的合適,便於管理和信息的發布。
老牌美國主機商BlueHost全球知名度頗高, 至今已經有多年的IDC運營經驗,WordPress官方推薦主機之一,同時被譽為「最佳外貿主機」。BlueHost美國虛擬主機位於在美國的頂級數據機房,採用電信CN2直連線路,同時支持全球的CDN加速功能,從而能夠有效的提升網站訪問速度。
9. 如何在web station中設置虛擬主機
一、定義 所謂虛擬主機是指在一台伺服器里運行幾個網站,提供WEB、FTP、Mail等服務。 二、虛擬主機的實現方法有三種: 基於IP的方法,基於主機名的方法和基於埠的法官法。 ①基於IP的方法: 在伺服器里綁定多個IP,然後配置WEB伺服器,把多個網...