記錄常見的服務端術語和搭建web服務器

記錄一些服務端方面的常用術語

1、CS架構和BS架構

1.1 CS架構

CS(Client/Server),基於安裝包類型的桌面或手機軟件模式,比如常見的QQ、微信、迅雷等等。
優點是 :基於安裝包,性能更高,安全性更高。
缺點是:對於商家來說每個平臺都需要開發對應的客戶端安裝包,比如windows/mac/android/ios上都需要開發對應的安裝包;對於平臺來說安裝過多軟件易佔用系統資源;對於客戶來說需要安裝才能使用

1.2 BS架構

BS(Browser/Server),基於瀏覽器的網站模式,比如常見的京東網站、淘寶網站等等。
優點是:基於瀏覽器,系統自帶有,客戶不需要安裝,訪問方便;節省系統資源;網站迭代升級方便;
缺點是:操作穩定性,流暢度,安全方面相對CS架構較弱一些。

2、客戶端

具有向服務器索取服務能力的終端,比如手機、電腦等,通過安裝不同的客戶端軟件,可以獲取不同的服務。常見的客戶端軟件:瀏覽器、QQ、支付寶、迅雷、愛奇藝等等

3、服務端

通俗的講 ,能夠提供某種服務的機器(計算機)稱爲服務器

3.1 服務器類型

按照不同的劃分標準,服務可劃分爲以下類型:

  1. 按服務類型可分爲:文件服務器、數據庫服務器;
  2. 按操作系統可分爲:Linus服務器、Windows服務器;
  3. 按應用軟件可分爲:Apache服務器、Nginx服務器、IIS服務器、Tomcat服務器、Node服務器等;

3.2 服務器軟件

使計算機具備提供某種服務能力的應用軟件,成爲服務器軟件,通過安裝相應的服務軟件,然後進行配置後就可以使計算機具備了提供某種服務的能力。
常見的服務軟件有:

  1. 文件服務器:Server-U、FileZilla、VsFTP等
  2. 數據庫服務器:Oracle、MySQL、PostgreSQL、MSSQL等
  3. 郵件服務器:Postfix、Sendmail等
  4. web服務器:Apache、Nginx、IIS、Tomcat、NodeJS等

3.3 Web服務器

即網站服務器,主要提供文檔(文本、圖片、視頻、音頻)瀏覽服務,一般安裝Apache、Nginx服務器軟件。
HTTP服務器可以結合某一編程語言處理業務邏輯,由此進行的開發,通常稱之爲服務端開發。
常見的運行在服務端的編程語言包括PHP、Jsp、Asp、Python、Ruby、Go等

4、網絡基礎

4.1 IP地址

所謂IP地址就是給每個連接在互聯網上的主機分配的一個32位地址(就像每部手機能正常通話需要一個號碼一樣)。
查看本機ip地址:windows用ipconfig,mac用ifconfig。
ip有公網ip(對外可訪問,需去電信局申請), 局域網ip(某一局域內可被訪問的ip)。

4.2 域名

由於IP地址基於數字,不方便記憶,於是便用域名來代替IP地址,域名是一個IP地址的“面具”。
查看域名對應的IP地址命令有ping、tracert。拿到ip後,也可以通過ip訪問網站。
在這裏插入圖片描述

4.3 DNS服務

DNS記錄了IP地址和域名的映射(對應)關係。查找優先級 ,本機hosts文件 > DNS服務器。

4.4 端口

端口號是計算機與外界通訊交流的出口,每個端口對應不同的服務,web頁面訪問根據ip定位到主機,根據端口定位到具體的提供服務的軟件。
比如現實生活中,銀行不同的窗口辦理不同的業務。
查看端口占用情況:netstat -an
常見端口號80、8080、3306、21、22

5、搭建一個web服務器

5.1 wampserver

wampserver是一個基於windows的集成軟件,集成了apache + php解析引擎 + mysql。
安裝wampserver,和普通軟件無差別,默認安裝在C:\wamp,安裝完成後,當看到任務圖標綠色表示正常啓動。

5.2 配置根目錄

網站根目錄是web服務器上存放網站程序的空間,可通過修改配置文件自定義,wampserver安裝後的默認網站根目錄是:C:\wamp\www。
我們可以自定義一個網站根目錄,比如在windows電腦的F磁盤上新建一個文件夾tanWeb, 裏面再新建幾個測試頁面,然後我們想讓網站根目錄指向這個文件夾,如何生效呢?

  1. 打開wampserver軟件安裝路徑,找到apache文件夾下的httpd.conf文件
  2. 打開httpd.conf文件編輯,找到大約178行和205行,把c:/wamp/www/改成F:/tanWeb/
  3. 保存,重啓Apache。
    在這裏插入圖片描述
    在這裏插入圖片描述
    重啓成功後,可以通過127.0.0.1訪問了。httpd.conf文件裏面設置默認可以通過127.0.0.1訪問,但是不支持localhost進行訪問,如果想localhost也能訪問,需要處理一下,在httpd.conf文件235行左右,默認寫着Allow from 127.0.0.1,在後面再加一句Allow from all,然後重啓Apache, 就也可以通過localhost來訪問了。
    在這裏插入圖片描述

5.3 網站部署

將我們製作好的網頁拷貝到配置好的根目錄下,瀏覽器訪問127.0.0.1即可。

5.4 靜態資源和動態資源

靜態資源:可以直接被瀏覽器解析的資源我們稱爲靜態資源,比如html、javascript、css、video等
動態資源:動態資源在服務器被解析,而可以被轉換成靜態資源。
如果我們在客戶端瀏覽器訪問的是靜態資源,那服務器接收到請求後,會直接將靜態資源響應給客戶端;
如果客戶端瀏覽器訪問的是動態資源,那麼服務器接收到請求後會將動態資源轉換成靜態資源,然後進行響應。

5.5 配置虛擬主機

先說下域名解析,當我們在瀏覽器輸入一個域名,首先系統會先訪問本機的hosts文件,一般hosts文件的路徑是C:\Windows\System32\drivers\etc\hosts,如果hosts文件上有對域名的解析,則以這個爲準;如果hosts上沒有找到目標域名解析,則再從DNS服務器上去找解析。
因此我們來做一個試驗,當我們在本機瀏覽器上輸入一個jd.com域名,如何讓瀏覽器指向我們本機部署的web服務?比如上面我們把127.0.0.1訪問的網站部署在F磁盤的tanWeb文件中。操作祕密就是在hosts文件中做處理。如下圖
在這裏插入圖片描述
保存,瀏覽器輸入域名jd.comtmall.com,我們看到瀏覽器上顯示的是我們本地web網站的頁面:
在這裏插入圖片描述
再說虛擬主機,意思是在一個web服務器上,可以配置多個web網站,然後每個虛擬主機之間相互獨立。比如我在瀏覽器輸入jd.comtmall.com,它們分別訪問本機web服務的不同目錄。
測試一下:

  1. 在F盤下tanWeb目錄下分別新建一個tmall文件夾,和jd文件夾,然後每個文件夾創建一個index.html網頁
  2. 在上面已經在hosts文件上已經設置對於域名jd.comtmall.com的解析指向127.0.0.1,接下來是要修改Apache裏面的配置;
  3. 打開Apache裏面的httpd.conf文件,找到468行左右虛擬主機的配置,去掉註釋#,意思是啓用虛擬主機配置Include conf/extra/httpd-vhosts.conf
  4. 然後找到httpd-vhosts.conf文件,打開編輯,找到最下面關於虛擬主機的配置,配置每個虛擬主機對應的物理網站根目錄,以及訪問域名。相關截圖如下:
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    然後再瀏覽器輸入tmall.comjd.com,看看瀏覽器效果:
    在這裏插入圖片描述
    在這裏插入圖片描述
    然後再說下從瀏覽器輸入jd.com時,它是如何找到本機頁面並展示的:
  5. 瀏覽器輸入jd.com,然後瀏覽器先去尋找本機的C:\Windows\System32\drivers\etc\hosts文件
  6. 在hosts文件裏尋找jd.com映射,剛好找到hosts文件有一個127.0.0.1 jd.com映射,127.0.0.1代表的是本機,然後找到本機web服務器Apache軟件
  7. 讀取Apache的httpd.confg文件,裏面已經設置好了web根目錄,並且啓動了虛擬主機;
  8. 然後讀取虛擬主機配置文件httpd-vhosts.conf, 裏面已經配置了jd.com域名對應的物理網站路徑,最後找到這個目錄下的頁面,展示到瀏覽器上。
    大致過程就是這樣。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章