為什麼php+apache本地站點訪問超級慢

ndblog發表於2014-07-30

/etc/hosts中必然有一行為127.0.0.1,作用是什麼呢?

特點:

(1)127.0.0.1不光是unix系統,linux也好,windows也好,都會有這個循回地址的。
(2)在IP地址的規定中,第一部分是1~126為A類地址,128~191為B類地址,那麼中間留的127.0.0.1被稱為本地迴環地址,主要作用有兩個:一是測試本機的網路配置,能PING通127.0.0.1說明本機的網路卡和IP協議安裝都沒有問題;另一個作用是某些SERVER/CLIENT的應用程式在執行時需呼叫伺服器上的資源,一般要指定SERVER的IP地址,但當該程式要在同一臺機器上執行而沒有別的SERVER時就可以把SERVER的資源裝在本機,SERVER的IP地址設為127.0.0.1也同樣可以執行。

(3)這個地址也是給本機loop back介面所預留的IP地址,它是為了讓上層應用聯絡本機用的,如果沒有這個loop back介面通常上層應用無法與自己聯絡,因為它仍然會把資料往IP層傳送,資料到了IP層如果發現目的地是自己,則回被迴環驅動程式送回。因此通過這個地址也可以測試TCP/IP的安裝是否成功,就是驅動,網路卡 都是否正常,但無法測試出具體TCP/IP的配置是否正確,也無法測試出網路卡是否正常,因為資料在離開IP層之前就已經被送回去了。

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

127.0.0.1常用來在本機測試各種網路服務,下面列舉一些事例:
1、測試sshd服務是否正常。在控制檯上執行命令 ssh 127.0.0.1如果出現要求輸入密碼則表明sshd服務正常。
2、測試ftp服務。在控制檯執行命令 ftp 127.0.0.1 ,某個控制檯的輸出入下:
-bash-3.00# ftp 127.0.0.1
ftp: connect: Connection refused
ftp> 

這個輸出表明ftpd服務不正常,正常提供網路服務的ftp輸出應該是這樣的:
-bash-3.00# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
Name (127.0.0.1:root): 

3、測試郵件服務。控制檯執行命令 telnet 127.0.0.1 25 和 telnet 127.0.0.1 110即可判斷郵件伺服器的執行狀態。
4、檢視系統都開放了那些埠。Nmap工具是個非常好的選擇,輸出結果遠比netstat 直觀。
[root@netmonitor ~]# nmap 127.0.0.1

Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2007-05-15 18:05 CST
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1656 ports scanned but not shown below are in state: closed)
PORT   STATE SERVICE
21/tcp open  ftp
22/tcp open  ssh
25/tcp open  smtp
80/tcp open  http

Nmap run completed — 1 IP address (1 host up) scanned in 0.224 seconds 

本地應用程式連線
象apache+php+mysql這樣的應用環境,應用程式與mysql資料庫同時存在於同一個系統上面,常用環回地址127.0.0.1做套接字的ip地址。

在這裡可能有人會質疑:不用環回地址可不可以?答案是肯定的,用主機某個網路介面的ip就可以代替這個環回地址。那這裡為什麼還要強調這個環回地址呢?主要的原因是方便和穩定。網路介面的地址可能因為某種原因被更改(如伺服器搬遷到別的地理位置),或者應用被遷移到另外的系統,象前面描述的apache+php+mysql 環境,由於使用了環回地址127.0.0.1,就不會受ip地址改變的影響,反之亦然。有的網路服務,對它自身所監聽的網路介面—如把apache的監聽設定成 “Listen 192.168.27.201:80”—依賴性比較高,一旦網路介面中斷(down),服務本身也可能停止,如果採用預設的監聽地址127.0.0.1就不會發生這種情況。

 

winxp系統 php+mysql+apache 訪問localhost 或 127.0.0.10 速度超慢 偶爾甚至會打不開頁面 請問為什麼訪問本地會這麼慢? 訪問外網很快 倒是沒有任何問題
順帶一提 我是通過apache的httpd-vhosts.conf檔案自己配的虛擬伺服器
如有遇到過這個問題的朋友 請告知下原因 謝謝!

看您是否繫結了本地賬號!
C:WindowsSystem32Driversetchosts
把# 127.0.0.1 localhost 前的井號去掉在試!


作者:Tyler Ning

出處:http://www.cnblogs.com/tylerdonet/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,如有問題,可以通過以下郵箱地址williamningdong@gmail.com
 聯絡我,非常感謝。


相關文章