一、wamp、Lamp、LNMP
不管是學前端還是后端,基本都學習過服務器,對前端來講第一次接觸的基本都是wamp,這里可以稱之為window系統下的Apache+MySQL+PHP的網站服務器架構,有window肯定就有Linux的,所以我們常見的網站服務器架構有以下三種
wamp:window+Apache+MySQL+PHP
lamp:Linux+Apache+MySQL+PHP
lnmp:Linux+Nginx+MySQL+PHP
從上面可以看出,一個網站的服務器主要有操作系統+服務器+數據庫+服務器腳本語言
1、操作系統:window/Linux,一般在本地下玩一玩都是選擇window系統,在實際的生產環境中還是Linux系統居多。
2、服務器軟件:一般是Apache或者Nginx,近幾年來Nginx越來越火,相比於Apache Nginx具有耗費資源少,支持更多高並發連接等特點。
3、數據庫:MySQL數據庫是我們學習時使用的最多的數據庫,Oracle多用於大型數據。
4、服務器腳本語言:服務器腳本語言沒有規定必須需要用哪一種,C++、Java、PHP都可以
二、wamp介紹
說道wamp很多人都知道一個叫wamp server的一個集成環境,集成環境有個優點就是一鍵安裝即可安裝所有的東西,而且還能通過自帶的一些插件進行管理。缺點就是所有東西都是一件安裝完成,我們不理解他們之間的聯系,以及一些基本的原理,這對很多學習開發的人員來講是非常糟糕的。所以在安裝前我們先來聊聊wamp的一些運行機制。
我們可以把整個網站的服務器假設成一台小型的筆記本電腦,window就是這台電腦的操作系統,Apache、MySQL、PHP就是安裝在這台電腦上的軟件。首先Apache就是服務器與客戶端交互的門戶,這里的客戶端若不清楚可以理解為瀏覽器,最主要的功能就是接受客戶端請求,解析並下發請求指令,然后返回請求的內容。其次是服務器腳本語言PHP,你可以把Apache想象成一個包工頭,PHP就是它下面的一個臨時員工,包工有些活不會做,所以只能臨時找一個工人。Apache只能解析靜態頁面,對PHP這類動態頁面需要有專門的腳本語言來處理,當客戶端請求一個動態頁面時,Apache就會先將頁面內容交給PHP處理后再返回。最后是數據庫,數據庫用於存儲數據,它和Apache其實沒多大關系,嚴格來說它是一個獨立的專門存儲數據的服務器,我們通過服務器腳本語言來調用,在php處理動態頁面時,頁面的一些圖片/視頻/音樂鏈接都是動態的存儲在數據庫中,此時我們通過PHP去調用這些數據。
三、安裝Apache(#號后面是說明,$號后面是執行的命令)
1、首先去 https://www.apachelounge.com/download/ 下載Apache二進制文件,也就是解壓版文件,我下載的是VC15 window64位的,下載后將其解壓到C盤下的英文路徑里面,路徑的文件夾名不要有空格
2、已管理員的方式運行cmd,然后運行以下命令
# 切換到 Apache 解壓路徑中的 bin 目錄 $ cd <解壓目錄>/bin # 安裝 Apache 服務,‐n 參數是指定服務名稱 $ httpd.exe ‐k install ‐n "Apache" # 如果需要卸載 Apache,可以執行以下命令 $ httpd.exe ‐k uninstall ‐n "Apache" $ httpd.exe ‐t
執行安裝命令后可能會報出一個錯誤,原因是默認的配置文件有問題,需要先調整一下配置文件 conf/httpd.conf ,才能正常啟動服務。從報錯的提示我們可以知道出錯在第37行,原因是ServerRoot的路徑有問題
找到 Apache 解壓目錄中的 conf 目錄下的 httpd.conf 文件,定位到 37 行,將 c:/Apache24 改為解壓目錄,我這里解壓到路徑是 C:/webServer/apache ,所以我這里修改成改路徑,這里有一點需要說明,Apache新版本中ServerRoot的路徑是用一個常量來表示的,所以只需要修改這一處,在舊版本中就需要修改多處路徑。
3、修改后重新執行 httpd.exe -t 測試配置文件,這時候應該提示 Syntax OK 。
如果有關於 ServerName 的警告提示,不用管它,暫時還不會影響我們接下來的使用和操作。
4、接下來重新再cmd上運行以下命令重新啟動Apache
# 注意:需要使用管理員身份運行命令行!!! $ httpd.exe ‐k start ‐n "Apache" # 重新啟動 Apache 服務 $ httpd.exe ‐k restart ‐n "Apache" # 停止 Apache 服務 $ httpd.exe ‐k stop ‐n "Apache"
5、啟動瀏覽器,在地址欄輸入:http://localhost/,回車訪問,這時正常應該看到 It works! 這個時候Apache就已經安裝完成。