apache / lighttpd / nginx 三大開放WEB伺服器評比

apache / lighttpd / nginx 三大開放WEB伺服器評比

一.Web Serve介紹(apache / lighttpd / nginx)

1. lighttpd
Lighttpd是一個具有非常低的記憶體開銷,cpu佔用率低,效能好,以及豐富的模組等特點。lighttpd是眾多OpenSource羽量級的web server中較為優秀的一個。支援FastCGI, CGI, Auth, 輸出壓縮(output compress), URL重寫, Alias等重要功能。

Lighttpd使用fastcgi方式運行php,它會使用很少的PHP進程回應很大的併發量。
Fastcgi的優點在於:

1)從穩定性上看, fastcgi是以獨立的進程池運行來cgi,單獨一個進程死掉,系統可以很輕易的丟棄,然後重新分配新的進程來運行邏輯.
2)從安全性上看, fastcgi和宿主的server完全獨立, fastcgi怎麼down也不會把server搞垮.
3)從性能上看, fastcgi把動態邏輯的處理從server中分離出來, 大負荷的IO處理還是留給宿主server, 這樣宿主server可以一心一意作IO,對於一個普通的動態網頁來說, 邏輯處理可能只有一小部分, 大量的圖片等靜態IO處理完全不需要邏輯程式的參與.
4)從擴展性上講, fastcgi是一個中立的技術標準, 完全可以支援任何語言寫的處理程式(php,java,python…)

2.apache

apache是世界排名第一的web伺服器, 根據netcraft(http://www.netsraft.co.uk/)所作的調查,世界上百分之五十以上的web伺服器在使用apache.

1995年4月, 最早的apache(0.6.2版)由apache group公佈發行. apache group 是一個完全通過internet進行運作的非盈利機構, 由它來決定apache web伺服器的標準發行版中應該包含哪些內容. 准許任何人修改隱錯, 提供新的特徵和將它移植到新的平臺上, 以及其他的工作. 當新的代碼被提交給apache group時, 該團體審核它的具體內容, 進行測試, 如果認為滿意, 該代碼就會被集成到apache的主要發行版中.

apache 的特性:
1) 幾乎可以運行在所有的電腦平臺上.
2) 支援最新的http/1.1協定
3) 簡單而且強有力的基於檔的配置(httpd.conf).
4) 支援通用閘道介面(cgi)
5) 支援虛擬主機.
6) 支持http認證.
7) 集成perl.
8) 集成的代理伺服器
9) 可以通過web流覽器監視伺服器的狀態, 可以自定義日誌.
10) 支援伺服器端包含命令(ssi).
11) 支持安全socket層(ssl).
12) 具有用戶會話過程的跟蹤能力.
13) 支持fastcgi
14) 支持java servlets

3.nginx

Nginx是俄羅斯人編寫的十分羽量級的HTTP伺服器,Nginx,它的發音為“engine X”, 是一個高性能的HTTP和反向代理伺服器,同時也是一個IMAP/POP3/SMTP 代理伺服器.Nginx是由俄羅斯人 Igor Sysoev為俄羅斯訪問量第二的 Rambler.ru站點開發.

Nginx以事件驅動的方式編寫,所以有非常好的性能,同時也是一個非常高效的反向代理、負載平衡。其擁有匹配 Lighttpd的性能,同時還沒有Lighttpd的記憶體洩漏問題,而且Lighttpd的mod_proxy也有一些問題並且很久沒有更新。

但是Nginx並不支援cgi方式運行,原因是可以減少因此帶來的一些程式上的漏洞。所以必須使用FastCGI方式來執行PHP程式。

nginx做為HTTP伺服器,有以下幾項基本特性:
1)處理靜態檔,索引檔以及自動索引;打開文件描述符緩衝.
2)無緩存的反向代理加速,簡單的負載均衡和容錯.
3)FastCGI,簡單的負載均衡和容錯.
4)模組化的結構。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其他代理伺服器處理單頁中存在的多個SSI,則這項處理可以並行運行,而不需要相互等待。
5)Nginx專為性能優化而開發,性能是其最重要的考量,實現上非常注重效率。它支援內核Poll模型,能經受高負載的考驗,有報告表明能支持高達 50,000個併發連接數。
6)Nginx具有很高的穩定性。其他HTTP伺服器,當遇到訪問的峰值,或者有人惡意發起慢速連接時,也很可能會導致伺服器實體記憶體耗盡頻繁交換,失去回應,只能重啟伺服器。例如當前apache一旦上到200個以上進程,web回應速度就明顯非常緩慢了。而Nginx採取了分階段資源分配技術,使得它的CPU與記憶體佔用率非常低。nginx官方表示保持10,000個沒有活動的連接,它只占2.5M記憶體,所以類似DOS這樣的攻擊對nginx來說基本上是毫無用處的。就穩定性而言,nginx比lighthttpd更勝一籌。
7)Nginx支持熱部署。它的啟動特別容易, 並且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動。你還能夠在不間斷服務的情況下,對軟體版本進行進行升級。

server

Apache

Nginx     

Lighttpd

Proxy代理

非常好 非常好 一般

Rewriter

非常好 一般

Fcgi

不好 非常好
熱部署 不支持 支持 不支持
系統壓力比較 很大 很小 比較小
穩定性 非常好 不好
安全性 一般 一般
技術支援 非常好 很少 一般
靜態檔處理 一般 非常好

Vhosts虛擬主機

支持 不支持 支持
反向代理 一般 非常好 一般

Session sticky

支持 不支持 不支持

建議方案—-
Apache:後臺伺服器(主要處理php及一些功能請求 如:中文url)
Nginx:前端伺服器(利用它佔用系統資源少得優勢來處理靜態頁面大量請求)
Lighttpd:圖片伺服器

 

nginx 的模組

整體採用模組化設計是nginx的一個重大特點,甚至http伺服器核心功能也是一個模組。要注意的是:nginx的模組是靜態的,添加和刪除模組都要對nginx進行重新編譯,這一點與Apache的動態模組完全不同。
與PHP的整合

目前使用FastCGI+Nginx執行PHP應用時如果配置檔案設定不合理,並不是十分可靠。建議使用NAMP架構(Nginx+Apache+Mysql+PHP),即使用Nginx處理靜態請求,並將動態請求反向代理給Apache處理。

Discuz 限制地區IP註冊,防注冊機註冊功能修改。

Discuz 限制地區IP註冊,防注冊機註冊功能修改。

Discuz 是個很不錯的論壇程式,功能齊全,架設簡單,
是滿多站長架站的首選。我自己就用來架個論壇,不過畢竟還是有些地方不夠人性,
像是強制接受他們的雲平台(https://34e.cc/95 移除 cp.discuz.qq.com 介紹),
接著就是會有很多註冊機器人來註冊,造成垃圾訊息不斷,廣告一堆。
而且大多是來自中國的註冊機!

上Discuz應用中心看了一下,有個插件是可以針對地區的註冊做限制,但是要錢,下面是該註冊插件的介紹

「担心注册机广告骚扰?我只做地方站,仅需要本地用户注册?
如果你是地方站,那么你就有福了,本插件是针对地方站,限制外地IP注册(可设置多个城市、多个省份允许,也可设置多个城市、多个省份不允许)可以杜绝外地IP的注册机对您的骚扰;
因为注册机的IP大多数都是外地的,甚至是国外的,所以根据城市或省份来限制注册非常有效;

本插件的限制仅针对注册页,如果是被限制区域,那么只会无法进入注册页,不会影响用户对其它页面或功能的正常使用;
同时,后台中,可以配置多个城市名称,也可以只配置一个;
可以配置只限制某一个或几个城市注册,也可以配置成只禁止某一个或某几个城市注册;
关于关键词的选择问题:这个和百度的关键词一个道理,你写的多,那么就要完全匹配 ,写的少,匹配的就多,当然个人建议,比如你是福建省,就写福建可以了,不用写出省来;当然加“省”也是可以的;」

 

不過我沒這個預算,所以就自己動手修改了一下註冊頁面、登入頁面,再配合全球的IP資料庫去做判斷,禁止中國訪客註冊。效果不錯!
discuz

CENTOS 6 (RHEL 6) KVM Bridged Networking KVM的橋接功能

CENTOS 6 (RHEL 6) KVM Bridged Networking KVM的橋接功能

1470351_762900407058930_626141768_n

作業系統 CentOS 6.4
網路上很多關於KVM Bridged的教學,原則上都沒有錯。
但試了近兩天,看了N篇文章,仍然失敗? 為何?
我發現最重要的原因就是:NetworkManager 在作怪!!!
所以請先把NetworkManager 關閉。或是透過ntsysv 把他服務關掉後重開。接著再繼續你所查到的教學。

以下簡短說明:
先檢查相關服務有沒有關
chkconfig NetworkManager off
chkconfig network on
service NetworkManager stop
service network start

先把網卡停用
ifdown eth0

修改網卡內容,設定檔位置 /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="none"
NM_CONTROLLED="yes"
ONBOOT="yes"
BRIDGE="bridge0" ←主要是加上這行 讓網卡開啟Bridge

新增一個Bridged的網址卡
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
TYPE="Bridge"
ONBOOT="yes"
DELAY=0
BOOTPROTO="static" (因為我是用固定IP,如果非固IP 這行改為dhcp後 以下不用再寫入)
IPADDR=192.168.1.5
GATEWAY=192.168.1.1
DNS1=192.168.1.1

以上到這邊就完成Bridged了

啟用網卡
ifup eth0
ifup br0

這時在KVM中 新增虛擬機時 網路選項就能選 Bridged了。

=============心得補充==================

一但啟用Bridged功能後,原本eth0網卡將失效!

而是被br0給取代,所以這時假設你的電腦(HOST)是固定IP,則應該把HOST原本固定IP的相關資訊寫到br0中!

例如HOST(Linux) IP是 140.112.0.1 , Guset(Windows) 主機想要給他IP是 140.112.0.2,

這時必須在br0內把140.112.0.1 的實際IP寫入(若你本身是用DHCP上網 ,這邊就直接設定DHCP)。接著進入GUEST(Windows)再把140.112.0.2寫到網路卡設定中。

php4 連接 mysql5.1 會遇到的問題

php4 連接 mysql5.1 會遇到的問題

如果確定PORT 、防火牆、帳號都開了,仍然找不出連不上的原因,那很有可能就是 密碼設定錯誤!!!
php4 若要連接 mysql5.1 在設定密碼權限的時候要用OLD_PASSWORD方式。

請試著將下面的語法輸入到你的SQL中
SET PASSWORD FOR  ‘username’@’host’ = OLD_PASSWORD(‘your_password’);

之後就可以正常連接了!
賀一個。

windows7 企業版

windows7 企業版

近日,微軟開始在TechNet上提供Windows 7 企業版的90天試用版,試用版有32位和64位兩種版本,目前只提供英語,法語,德語,日本語和西班牙語等五種語言版本。

微軟在TechNet網站上說明,該試用版是全功能版,那就是說沒有功能的限制,想試用Windows 7的人士可以盡情的享受新Windows系統的各種功能。另外,該試用版內嵌序列號,所以安裝時不用輸入序列號,似乎十分便利。

但是,微軟在網站上列舉了以下的注意事項,使用試用版時請注意:

‧ 要備份好各種資料
‧ 安裝後十天以內進行認證,否則10天后系統會以1小時的間隔自動關機。
‧ 90天試用期過後,系統會以1小時的間隔自動關機。
‧ 90天試用版的下載數有限額,只要沒超過限額的話,2010年3月31日之前都可以從網上下載。
‧ 90天試用期過後,如果要繼續使用Windows 7 企業版的話,需要購買正版,重新安裝。
‧ 技術問題請參考FAQ和Windows 7的支持網站。
‧ 90天試用版支援Windows Update功能。
Windows 7旗艦版和企業版的功能完全相同,區別只是受眾群體不同而已,企業版可以看做是面向企業用戶提供的旗艦版,作為Windows 7的最高版本,旗艦版和企業版擁有其他版本包括和不包括的功能,淩駕於眾版本之上,為用戶帶來全面完整的體驗。

簡體版 Windows7 企業版 載點: http://pan.baidu.com/share/link?shareid=1162692464&uk=556130852
解壓密碼
:https://34e.cc

HD Tune Pro 5.5 繁體中文 Portable 免安裝 硬碟監控檢測工具

HD Tune Pro 5.5 繁體中文 Portable 免安裝 硬碟監控檢測工具

HD_Tune_Pro_5.5
HD Tune是一款免費又小巧的硬碟檢測程式,它可以幫我們顯示出硬碟的相關詳細資訊,
還能測試硬碟的傳輸速度(最大/最小/平均)、CPU使用率,還能監控硬碟的溫度,
避免硬碟溫度過高,而導致硬碟壽命減短的情況。
另外它還提供了一個硬碟磁區檢查功能,可讓我們用來檢查硬碟是否有磁區損壞的情況。

載點:http://pan.baidu.com/s/1iTfGR
解壓密碼:https://34e.cc
↑是http 不是https喔

==================================================

HD Tune is a free and compact hard disk detection program, which can help us show the detailed information about the hard disk,
But also to test the hard disk transfer rate (max / min / average), CPU utilization, but also monitor the temperature of the hard drive,
Avoid hard disk temperature is too high, which led to the hard life cut short situations.
In addition it provides a hard disk partition check feature that allows us to check whether the hard disk partition damaged.

Set point: http://pan.baidu.com/s/1iTfGR
Unzip password: https://34e.cc
↑ The real password is http not https

linux下使用SMART工具測試硬碟得到的相關數據

linux下使用SMART工具測試硬碟得到的相關數據

1. smartctl -H /dev/sda

smartctl 5.40 2010-10-16 r3189 [i386-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
結論:PASS表式硬碟狀態良好

2. smartctl -A /dev/sda
smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.18-348.16.1.el5xen] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always – 0
3 Spin_Up_Time 0x0027 139 138 021 Pre-fail Always – 4016
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always – 38
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always – 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always – 0
9 Power_On_Hours 0x0032 068 068 000 Old_age Always – 23958
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always – 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always – 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always – 35
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always – 18
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always – 19
194 Temperature_Celsius 0x0022 111 098 000 Old_age Always – 32
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always – 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always – 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline – 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always – 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline – 0
結論:WHEN_FAILED 是空的表示硬碟沒壞軌

RouterPassView 解決路由器網路密碼pppoe密碼方案

RouterPassView 解決路由器網路密碼pppoe密碼方案

最近因為換路由器(網路分享器),但是又忘了原本上網pppoe的密碼,只知道密碼寫在路由器裡面,可是都是****,
上網查了一下,發現一款名叫「RouterPassView」的程式,只要先將路由器裡面的設置備份出來,
這款軟體可以自動判讀你的路由器相關設定!當然也包含PPPOE密碼啦!擷取

 

快來用用看吧!

http://pan.baidu.com/share/link?shareid=994502225&uk=556130852

支援下列路由器

  • Linksys WRT54GL (With original firmware or Tomato firmware), WRT54G (only some of them), WRT160N, WRT320N, and possibly similar models.
  • Linksys E5200
  • Linksys E2000
  • Cisco-Linksys E4200
  • Edimax BR6204WG, and possibly similar models.
  • Siemens ADSL SL2-141, and possibly similar models.
  • Dynalink RTA1025W, and possibly similar models.
  • NETGEAR WGT624, and possibly similar models.
  • ASUS WL-520g, WL-600g, and possibly similar models.
  • ASUS RT-N10+ , and possibly similar models.
  • Asus RT-N56U , and possibly similar models.
  • D-Link DIR-655, DIR-300, and possibly similar models.
  • Sanex SA 5100, and possibly similar models.
  • Sitecom WL-351, WL-575, WL-312, and possibly similar models.
  • COMTREND 536+ (Only Internet Login)
  • US Robotics 9108 ADSL (internet login and admin login)
  • D-Link DSL-2540U/BRU/D ADSL2+, DSL-2650U, DSL-520B
  • D-Link DVA-G3170i/PT
  • D-Link DSL-604T
  • D-Link G3670B
  • D-Link DSL-2640T
  • D-Link DSL-G684T
  • D-Link DSL-2500U
  • D-Link 2740B
  • D-Link DIR-615 G2
  • D-Link WBR-1310
  • D-Link DSL-2543B
  • D-Link DI-524
  • D-Link DI-624+A
  • D-Link DIR-600
  • D-Link DIR-300
  • TP-Link TD-8810 ADSL Modem/Router.
  • Dynamode R-ADSL-C4-W-G1
  • NetComm NB5Plus4 DSL
  • Thomson TG580 DSL (only in Hex Dump mode)
  • Asus RT-G31
  • HuaWei EchoLife HG520 (Only some of them)
  • HuaWei HG526
  • HuaWei-3Com Aolynk BR104
  • TP-LINK TL-WR841N
  • TP-LINK TL-WR841DN
  • TP-LINK TL-MR342
  • TP-LINK TL-WR340G
  • TP-LINK TL-R460
  • TP-LINK TL-WR741ND v2.0
  • TP-LINK TL-WR700N
  • TP-LINK TL-WR740N
  • TP-LINK TL-WA801N
  • TP-LINK TL-WR541G
  • TP-LINK TL-WR1043ND
  • TP-LINK TD-W8960N
  • TP-Link TL-WR941ND
  • TP-Link TL-MR3220
  • TP-Link TL-WR642G
  • Belkin N+ (F5D8236uk4)
  • Mercury MW54R
  • Netgear DG632
  • Netcomm NB6W
  • Aztech DSL605EW
  • Comtrend CT-5072T ADSL2+ modem/router
  • Small Business RV042
  • Intelbras WRN240
linux 下 完整複製硬碟或無痛換硬碟 以CentOS為例

linux 下 完整複製硬碟或無痛換硬碟 以CentOS為例

一台Centos主機,硬碟出現了壞軌,要更換硬碟。無痛同步備份兩顆硬碟的操作:
1.裝上新硬碟,開機,進入系統。
2.fdisk -l ; 由於兩顆硬碟都是Sata的,所以fdisk -l出來的結果是sda(舊) sdb(新)
3.dd if=/dev/sda of=/dev/sdb ; 注意的是最好兩顆硬碟是同容量和同型號,否則比較麻煩。
等待,漫長的等待,直到結束。
4.關機,將兩個排線換一下。
5.finish

dd的方式有點類似ghost的整顆複製,速度較慢,但不會出現ghost那樣無法啓動的現象。
新的硬碟也不需要先分割或格式化,他會很徹底的複製磁碟區,所以建議兩顆同款。
製作linux的軟raid1也可以嘗試用這種方式同步。

PS:dd過程中如果無聊,可以通過在另一個終端鍵入 killall -s SIGUSR1 dd 發送SIGUSR1信號獲取當前進度