一、Web 基礎
本節將介紹Web 基礎知識,包括域名的概念、DNS 原理、靜態網頁和動態網頁的 相關知識。
1、域名和DNS
1.1、域名的概念
網絡是基于TCP/IP 協議進行通信和連接的,每一臺主機都有一個唯一的標識(固定的IP 地址),用以區別在網絡上成千上萬個用戶和計算機。網絡在區分所有與之相 連的網絡和主機時,均采用一種唯一、通用的地址格式,即每一個與網絡相連接的計算 機和服務器都被指派一個獨一無二的地址。為了保證網絡上每臺計算機的IP 地址的唯一性,用戶必須向特定機構申請注冊,分配IP地址。網絡中的地址方案分為兩套:IP地址系統和域名地址系統。這兩套地址系統其實是一 一對應的關系。IP地址用二進制數來表示,每個IP 地址長32 比特,由4個小于256的數字組成,數字之間用點間隔,例如 100.10.0.1 表示一個|P 地址。由于|P 地址是數字標識,使用時難以記憶和書寫,因此在 IP 地址的基礎上又發展出一種符號化的地址方案,來代替數字型的IP 地址。每個符號化的地址都與特定的IP 地址對應,這樣網絡上的資源訪問起來就容易得多了。這個與網絡上的數字型IP 地址相對應的字符型地址,就被稱為域名。
1.2、域名的結構
以一個常見的域名為例說明其結構。www.baidu.com 網址是由二部分組成,標號“baidu"是這個域名的主體,而最后的標號“com"則是該域名的后綴,代表的這是一個com 國際域名,是頂級域名,而前面的www 是主機名,如下圖:
DNS 規定,域名中的標號都由英文字母和數字組成,每一個標號不超過63 個字符,也不區分大小寫字母。標號中除連字符(-)外不能使用其他的標點符號。級別最低的域名寫在最左邊,而級別最高的域名寫在最右邊。由多個標號組成的完整域名總共不超過255 個字符。
一些國家也紛紛開發使用采用本民族語言構成的域名,如德語,法語等。中國也開始使用中文域名,但可以預計的是,在中國國內今后相當長的時期內,以英語為基礎的域名(即英文域名)仍然是主流。1.3、域名結構類型
根域:指的是根服務器,要用來管理互聯網的主目錄,全世界只有13臺。1個為 主根服務器,放置在美國。其余 12 個均為輔根服務器,其中9個放置在美國:歐洲 2 個,位于英國和瑞典;亞洲1個,位于日本。所有根服務器均由美國政府授權的互聯網域名與號碼分配機構 ICANN 統一管理,負責全球互聯網域名根服務器、域名體系和 IP 地址等的管理。頂級域:包括組織域和國家/地區域名。域名的最右側是國家/地區域名,國家代碼 由兩個字母組成的如.cn,.uk,.de 和.jp, 其中.cn 是中國專用的頂級域名。在國家/地區域名左側,是組織域名,常見的.com 用于商業機構,.net 用于網絡組織,.org 用于各種組織包括非盈利組織。
》二級域名:在頂級域名之前的域名,在頂級域名前面,它是指域名注冊人的網上名 稱,例如 baidu,ibm ,yahoo ,microsoft 等。
FODN:是主機名.DNS 后綴,是指主機名加上全路徑,全路徑中列出了序列中所有 域成員。全域名可以從邏輯上準確地表示出主機在什么地方,也可以說全域名是主 機名的一種完全表示形式。從全域名中包含的信息可以看出主機在域名樹中的位置。
2、Hosts 文件
Hosts 文件是一個用于存儲計算機網絡中節點信息的文件,它可以將主機名映射到相應的IP 地址,實現DNS 的功能,它可以由計算機的用戶進行修改控制。(1)Hosts 文件的作用
在網絡上訪問網站,要首先通過DNS 服務器把要訪問的域名解析成IP 地址后,計 算機才能對這個網絡域名作網站進行訪問。
對于每個域名請求,如果都要等待域名服務器解析后返回IP 信息,那么訪問網絡的效率就會降低,因為DNS 做域名解析和返回IP 都需要時間。為了提高對經常訪問的 網絡域名的解析效率,可以通過利用在 Hosts 文件中建立域名和IP 的映射關系來達到 目的。根據系統規定,在進行DNS 請求以前,系統會先檢查自己的Hosts 文件中是否 有這個網絡域名映射關系。如果有則調用這個!P 地址映射,如果沒有,再向已知的DNS 服務器提出域名解析,即 Hosts的請求級別比 DNS 高。(2)修改Hosts 文件
Windows 系統中Hosts 文件存儲在目錄c:lwindowslsystem32\driversletc|下面,用記事本可以對其進行修改,CentOs 系統中Hosts 文件存儲在目錄/etc/目錄下面,用vim/etc/hosts 可以對其進行修改,如在文件中加上以下代碼。Windows:hosts
Centos:
vim /etc/hosts
當訪問www.baidu.com 時,發現本機hosts 文件中有映射的IP 地址,則訪問這個 IP地址。
3、DNS
在互聯網上域名與IP 地址之間是一一對應的,域名雖然便于人們記憶,但機器之間只能互相認識IP 地址,它們之間的轉換工作稱為域名解析,域名解析要由專門的域名解析系統來完成,DNS就是進行域名解析的系統。
主機名到 IP 地址的映射
靜態映射 每臺設備上都配置主機到 IP 地址的映射,各設備獨立維護自己的映射 表,而且只供本設備使用 動態映射 建立一套域名解析系統(DNS),只在專門的 DNS 服務器上配置主機 到 IP 地址的映射,網絡上需要使用主機名通信的設備,首先需要到DNS 服務器查詢主機所對應的IP 地址 通過主機名,最終得到該主機名對應的 IP 地址的過程叫做域名解析(或主機名解 析)。在解析域名時,可以首先采用靜態域名解析的方法。如果靜態域名解析不成功,再采用動態域名解析的方法。可以將一些常用的域名放入靜態域名解析表中,這樣可以 大大提高域名解析效率。
在 windows 命令行模式中輸入網絡査詢命令 nslookup www.baidu.com,可以查詢 到域名對應的 IP 地址。
4、域名注冊
域名注冊是 Internet 中用于解決地址對應問題的一種方法。域名注冊遵循先申請先注冊原則,管理機構對申請人提出的域名是否違反了第三方的權利不進行任何實質審 查。每個域名都是獨一無二的,不可重復的。
域名注冊的所有者都是以域名注冊提交人填寫域名訂單的信息為準的,成功 24 小時后,即可在國際(ICANN)、國內(CNNIC)管理機構査詢 whois 信息(域名所有 者等信息)。
域名注冊步驟
準備申請資料 com 域名無需提供身份證、營業執照等資料,cn 域名已開放 個人申請注冊,所以申請則需要提供身份證或企業營業執照 尋找域名注冊網站 由于.com、.cn 域名等不同后綴均屬于不同注冊管理機構 所管理,如要注冊不同后綴域名則需要從注冊管理機構尋找經過其授權的頂級域名注冊服務機構。如com 域名的管理機構為 ICANN ,cn 域名的管理機構為 CNNIC(中國互 聯網絡信息中心)若注冊商已經通過 ICANN、CNNIC雙重認證,則無需分別到其他 注冊服務機構申請域名 查詢域名 在域名注冊查詢網站注冊用戶名成功后并查詢域名,選擇要注冊的 域名,并點擊注冊 正式申請 查到想要注冊的域名,并且確認域名為可申請的狀態后,提交注冊,并繳納年費 申請成功 正式申請成功后,即可開始進入 DNS 解析管理、設置解析記錄等 操作
二、網頁與HTML
網頁是構成網站的基本元素,是承載各種網站應用的平臺。通俗地說,網站就是由 網頁組成的。如果只有域名和虛擬主機而沒有制作任何網頁,那么客戶仍舊無法訪問這個網站。因為網頁是由HTML(超文本標記語言)編寫的。
1、網頁概述
網頁是一個文件,他存放在世界某個角落的某一部計算機中,而這部計算機必須是與互聯網相連的。網頁經由網址(URL)來識別與存取,是互聯網中的一“頁”。網頁可以包括如下內容:
網頁內容類型
文本 文本是網頁上最重要的信息載體與交流工具,網頁中的主要信息一般都以文 本形式為主 圖像 圖像元素在網頁中具有提供信息并展示直觀形象的作用 Flash 動畫 動畫在網頁中的作用是有效地吸引訪問者更多的注意 聲音 聲音是多媒體和視頻網頁重要的組成部分 視頻 視頻文件的采用使網頁效果更加精彩且富有動感 表格 表格是在網頁中用來控制頁面信息的布局方式 導航欄 導航欄在網頁中是一組超鏈接,其連接的目的端是網頁中重要的頁面 交互式表單 表單在網頁中通常用來聯接數據庫并接受訪問用戶在瀏覽器端輸入的數據,利用數據庫為客戶端與服務器端提供更多的互動
網頁相關概念
域名 是瀏覽網頁時輸入的網址 HTTP 用來傳輸網頁的通信協議,使用瀏覽器訪問網址時,在域名前面要加上http://,表示使用 http 協議傳輸網頁 URL 是一種萬維網尋址系統,表示網絡上資源的位置路徑 HTML 是編寫網頁的超文本標記語言 超鏈接 具備將網站中不同網頁鏈接起來的功能 發布 將制作好的網頁上傳到服務器供用戶訪問的過程
2、HTML 概述
HTML 叫做超文本標記語言,是一種規范,也是一種標準,它通過標記符號來標記 要顯示的網頁中的各個部分。網頁文件本身是一種文本文件,通過在文本文件中添加標記符,可以告訴瀏覽器如何顯示其中的內容。如:文字如何處理,畫面如何安排,圖片如何顯示等。瀏覽器按順序閱讀網頁文件,然后根據標記符解釋和顯示其標記的內容,對書寫出錯的標記將不指出其錯誤,且不停止其解釋執行過程,開發者只能通過顯示效 果來分析出錯原因和出錯部位。但需要注意的是,不同的瀏覽器,對同一標記符可能會 有不完全相同的解釋,因而可能會有不同的顯示效果。
HTML 文件可以使用任何能夠生成txt 文件的文本編輯器來編輯,生成超文本標記語言文件,只用修改文件名后綴為”.htm"或“.htm"即可。
3、HTML 基本標簽
3.1、HTML 語法規則
HTML 標簽采用雙標記符的形式,前后標記符對應,分別表示標記開始和結束,標記符中間的內容被標簽描述。前標記符由“<XXX>”表示,結尾標記符多了一個 “/” </XXX>表示。
3.2、HTML文件結構
HTML 文件最外層由<html></htm>表示
說明該文件是用 HTML 語言描述的
頭標簽(<head>)
內容標簽(<body>)
頭部標簽
標簽 描述 <title> 定義了文檔的標題 <base> 定義了頁面鏈接標簽的默認鏈接地址 <link> 定義了一個文檔和外部資源之間的關系 <meta> 定義了 HTML 文檔中的元數據 <script> 定義了客戶端的腳本文件 <style> 定義了 HTML 文檔的樣式文件
內容標簽
標簽 描述 <table> 表格 <tr> 表格中的一行 <td> 表格中某一行的一列 <a> 超鏈接 <br> 換行 <font> 字體
4、網站和主頁
網站是由網頁組成的,包含多個網頁頁面,具有獨立域名、獨立存放空間的內容集 合,這些內容可能是網頁,也可能是程序或其他文件。
主頁(首頁)是用戶打開瀏覽器時默認打開的網頁。
當一個網站服務器收到一臺電腦上網絡瀏覽器的消息連接請求時,便會向這臺計算機發送這個文檔。當在瀏覽器的地址欄輸入域名,而未指向特定目錄或文件時,通常瀏覽器會打開網站的首頁。網站首頁往往會被編輯得易于了解該網站提供的信息,并引導互聯網用戶瀏覽網站其他部分的內容。這部分內容一般被認為是一個目錄性質的內容。
5、Web1.0與Web2.0
Web1.0 是指早期互聯網模式,以門戶網站為主,內容由網站運營商提供,以巨大 的點擊量和增值服務為主盈利手段。
5.1、Web1.0Web1.0 基本采用的是技術創新主導模式,信息技術的變革和使用對于網站的 新生與發展起到了關鍵性的作用。新浪最初就是以技術平臺起家,騰訊以即時通訊技術 起家,盛大以網絡游戲起家,在這些網站的創始階段,技術性的痕跡相當之重
Web1.0 的盈利都基于一個共通點,即巨大的點擊流量。無論是早期融資還是后期獲利,依托的都是為數眾多的用戶和點擊率,以點擊率為基礎上市或開展增值服務,受眾群眾的基礎,決定了盈利的水平和速度,充分地體現了互聯網的眼球經濟色彩
5.2、Web2.0
是相對于 Web1.0 的新的時代。指的是一個利用Web 的平臺,由用戶主導而生成的內容互聯網產品模式,如博客、社交網站等。為了區別傳統由網站雇員主導 生成的內容而定義為第二代互聯網,即Web2.0,是一個新的時代。
1>用戶分享。
在Web2.0 模式下,可以不受時間和地域的限制分享各種觀點。用戶可以得到自己需要的信息也可以發布自己的觀點。
2>以興趣為聚合點的社群。在Web2.0 模式下,聚集的是對某個或者某些問題感興趣的群體,可以說,在無形中已經產生了細分市場。
3>開放的平臺,活躍的用戶。平臺對于用戶來說是開放的,而且用戶因為興趣而保持比較高的忠誠度,他們會積極的參與其中。
三、靜態網頁與動態網頁
1、靜態網頁
在網站設計中,純粹 HTML格式的網頁通常被稱為“靜態網頁”,靜態網頁是標準的 HTML 文件,它的文件擴展名是.htm 、.htm 。 靜態網頁是網站建設的基礎,早期的網 站一般都是由靜態網頁制作的。靜態網頁也可以出現各種動態的效果,如.GIF 格式的動
畫、FLASH、滾動字幕等。這些“動態效果”只是視覺上的,與下面將要介紹的動態網頁是不同的概念。
2、動態網頁
所謂的動態網頁,是指跟靜態網頁相對的一種網頁編程技術。靜態網頁,隨著 HTML 代碼的生成,頁面的內容和顯示效果就基本上不會發生變化了一除非是修改頁面代碼。而動態網頁則不然,頁面代碼雖然沒有變,但是顯示的內容卻是可以隨著時間、環境或者 數 據庫操作的結果而發生改變的。動態網頁URL的后不是 .htm、等靜態網頁的常見網頁制作格式,而是.html、.shtml、。xmI以.aspx、.asp、.jsp、·php、·per1、.cgi 等形式為后綴,并且在動態網頁網址中有一個 標志性的符號-“?”。
動態網頁是基本的 html 語法規范與 Java、PHP、C#等高級程序設計語言、數據庫 編程等多種技術的融合,以期實現對網站內容和風格的高效、動態和交互式的管理。因此,從這個意義上來講,凡是結合了 HTML,以外的高級程序設計語言和數據庫技術進行的網頁編程技術生成的網頁都是動態網頁。
3、動態網頁語言
早期的動態網頁主要采用通用網關接口CGl(Common Gateway Interface)技術,雖然CG!技術已經發展成熟而且功能強大,但由于編程困難、效率低下、修改復雜,所以有逐漸被新技術取代的趨勢。
目前常用的動態網頁編程語言如下:
PHP 即 Hypertext Preprocessor(超文本預處理器),它是當今 Internet 上最為火 熱的腳本語言,其語法借鑒了C、Java、PERL 等語言,但只需要很少的編程知識 你就能使用 PHP 建立一個真正交互的 web 站點 JSP 即 Java Server Pages(Java 服務器頁面),它是由 Sun Microsystem 公司 于 1999 年6月推出的新技術,是基于 JavaServlet 以及整個 Java 體系的 web 開發技術 Python 是一種面向對象、跨平臺的動態類計算機程序設計語言,最初被設計用于 編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用 于獨立的大型項目開發 Ruby 是一種簡單快捷的面向對象(面向對象程序設計)腳本語言,在 20 世紀 90 年代由日本人松本行弘(Yukihiro Matsumoto)開發,遵守 GPL協議和 Ruby License。它的靈感與特性來自于 Per1、Smalltalk、Eiffe1、Ada 以及 Lisp 語言
四、HTTP 協議
超文本傳輸協議(HTTP ,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議。所有的網頁文件都必須遵守這個標準。設計HTTP 最初的目的是為了提供一種發布和接收 HTML 頁面的方法。
1、HTTP 協議概述
HTTP 協議采用了請求/響應模型。客戶端向服務器發送一個請求,請求頭包含請求的方法、URL、協議版本、以及包含請求修飾符、客戶信息和內容的類似于MIME 的消息結構。服務器以一個狀態行作為響應,響應的內容包括消息協議的版本,成功或者錯誤編碼加上服務器信息、實體元信息以及可能的實體內容。
HTTP 已經演化出了很多版本,它們中的大部分都是向下兼容的。
HTTP/0.9 已過時。只接受 GET 一種請求方法,沒有在通訊中指定版本號且不支持請求頭。由于該版本不支持 POST 方法,所以客戶端無法向服務器傳遞太多信息 HTTP/1.0 這是第一個在通訊中指定版本號的 HTTP協議版本,至今仍被廣泛 采用,特別是在代理服務器中 HTTP/1.1 當前版本。持久連接被默認采用,并能很好地配合代理服務器工作。
還支持以管道方式同時發送多個請求,以便降低線路負載,提高傳輸速度
2、HTTP 方法
HTTP 支持幾種不同的請求命令,這些命令被稱為 HTTP 方法(HTTP method)每條 HTTP 請求報文都包含一個方法,告訴服務器要執行什么動作,包括:獲取一個頁面,運行一個網關程序,刪除一個文件等。最常用的獲取資源的方法是GET、POST,HTTP 常用方法如表 所示
HTTP方法
HTTP 方法 描述 GET 請求獲取 Request-URl 所標識的資源 PUT 請求服務器存儲一個資源,并用Request-URl 作為其標識 DELETE 請求服務器刪除 Request-URl 所標識的資源 POST 在 Request-URl 所標識的資源后附加新的數據 HEAD 請求獲取由 Request-URl 所標識的資源的響應消息報頭 GET 方法采用的是 URL 后綴的形式,比如 http://www.test.com/a.php?Id=123
就是一個 GET 請求,服務器接收后可以解析出 Id=123。而 POST 方法不需要在 URL 中 顯示”?Id=123”,參數作為內容進行了隱藏的提交。因此,表單類或者有用戶名、密碼 等內容提交時建議使用 POST 方法。
GET 方法在 URL 上顯示參數,而 URL 是有長度限制,故不適合提交過大的數據。 GET方法可以被瀏覽器緩存,當請求已經被請求過一次的 URL 時,瀏覽器不需要向服 務器再次發出請求,直接在本地緩存中獲得頁面。GET和 POST 方法對比如表?
GET方法 POST方法 對數據長度的限制 URL 的長度是受限制的(URL的最大長度 是 2048個字符) 無限制 緩存 能被緩存 不能被緩存 安全 與 POST 相比,GET 的安全性較差,因 為所發送的數據是 URL的一部分。在發送密碼或其他敏感信息時絕不要使用 GET POST 比GET 更安全,因為參數不會被保存在瀏覽器歷史 或Web)服務器日 志中 歷史 參數保留在瀏覽器歷史中 參數不會保存在瀏覽器歷史中 后退 按鈕/刷新 無害 數據會被重新提交,瀏覽器惘擱應 該告知用戶數據會被重新提交 書簽 可收藏為書簽 不可收藏為書簽
3、HTTP 狀態碼
HTTP 狀態碼(HTTP Status Code )是用以表示網頁服務器 HTTP 響應狀態的3 位數字代碼,當瀏覽器請求某一URL 時,服務器根據處理情況返回相應的處理狀態。
HTTP 狀態碼可以分為五大類,如圖 所示。其中 1XX 表示信息提示,2XX、3XX 表 示請求正常,4XX、5XX 表示出現異常情況。
消息
描述
200 OK
請求成功(其后是對GET和POST請求的應答文檔)
301 Moved Permanently
請求的永久頁面跳轉
302
臨時重定向
304 Not Modified?
未修改,比如本地緩存的資源文件和服務器上比較時,發現并沒有修改,服務器返回一個304狀態碼,告訴瀏覽器,你不用請求該資源,直接使用本地的資源即可。
403 Forbidden
禁止訪問該頁面,服務器拒絕請求
404 Not Found
服務器無法找到被請求的頁面
500 Internal Server Error
內部服務器錯誤
502 Bad Gateway
無效網關
503 Service Unavailable
當前服務不可用
504 Gateway Timeout
網關請求超時
4、HTTP 請求流程分析
用戶在瀏覽器輸入 URL 訪問時,發起HTTP 請求報文,請求中包括請求行、請求頭、請求體,服務器收到請求后返回響應報文,包括狀態行、響應頭、響應體,如圖所示。
4.1、請求報文
請求行:請求行由請求方法、URL以及協議版本三部分組成。
請求頭:請求頭為請求報文添加了一些附加信息,由“名/值”對組成,每行一對,名和值之間使用冒號分隔,常用的請求頭如表所示。
HTTP 請求頭
請求頭 描述 Host 接受請求的服務器地址,可以是IP:端口號,也可以是域名 User-Agent 發送請求的應用程序名稱 Connection 指定與連接相關的屬性,如Connection:Keep-Alive Accept-Charset 通知服務端可以發送的編碼格式 Accept-Encoding 通知服務端可以發送的數據壓縮格式 Accept-Language 通知服務端可以發送的語言 空行:請求頭部的最后會有一個空行,表示請求頭部結束,接下來為請求體,這一 行非常重要,必不可少。
請求體:請求體是請求提交的參數,GET方法已經在URL中指明了參數,所以提交時沒有數據。POST 方法提交的參數在請求體中4.2、響應報文
狀態行:狀態行由協議版本,狀態碼,狀態碼描述三部分組成。
響應頭: 響應頭與請求頭部類似,為響應報文添加了一些附加信息。常見響應頭部 如表所示。
HTTP 響應頭
響應頭 描述 Server 服務器應用程序軟件的名稱和版本 Content-Type 響應正文的類型(是圖片還是二進制字符串) Content-Length 響應正文長度 Content-Charset 響應正文使用的編碼 Content-Encoding 響應正文使用的數據壓縮格式 Content-Language 響應正文使用的語言 空行:響應頭部的最后會有一個空行,表示響應頭部結束。
響應體:服務器返回的相應HTML 數據,瀏覽器對其解析后顯示頁面。
五、Nginx 網站環境部署
在各種網站服務器軟件中,除了 Apache HTTP Server 外,還有一款輕量級的 HTTP 服務器軟件--Nginx,由俄羅斯的 lgor Sysoev 開發,其穩定、高效的特性逐漸被越來越多的用戶認可。本章將講解 Nginx 服務的基本構建、訪問控制方式、虛擬主機的搭建,還有應用廣泛的LNMP 架構服務器的部署方式,并對 PHP FPM 模塊如何支持 PHP 語言進行討論。
1、Nginx 服務基礎
Nginx(發音為[engine x])專為性能優化而開發,其最知名的優點是它的穩定性和低統資源消耗,以及對 HTTP 并發連接的高處理能力(單臺物理服務器可支持 30000~50000?個并發請求)。正因為如此,大量提供社交網絡、新聞資訊、電子商務及虛擬主機等服務的企業紛紛選擇 Nginx 來提供 Web 服務。
2.、編譯安裝Nginx
2.1、安裝支持軟件
#關閉防火墻 systemctl stop firewalld#禁用防火墻 systemctl disable firewalld#臨時關閉內核保護機制 setenforce 0#永久關閉內核保護機制 vim /etc/sysconfig/selinux#在配置文件中修改參數為: SELINUX=disabled
#提供編譯安裝的環境 dnf -y install gcc zlib-devel pcre-devel openssl-devel
2.2、創建程序用戶
useradd -M -s /sbin/nologin nginx
2.3、編譯安裝 Nginx
#解壓 tar zxf nginx-1.26.3_http_proxy.tar.gzcd nginx-1.26.3#配置 ./configure --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-pcre \ --with-stream \ --add-module=./ngx_http_proxy_connect_module#編譯 make#編譯安裝 make install#做軟連接 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
3、Nginx 的運行控制
3.1、檢查配置文件
nginx -t
3.2、Nginx的啟、停
#開啟 nginx#關閉 nginx -s stop#查看狀態 netstat -anpt | grep nginx
3.3、添加 Nginx 系統服務
#切換目錄 cd /lib/systemd/system#編輯服務文件 vim nginx.service#編寫內容: [Unit] Description=cyauhiojpkl67tfyjop0k[ldrtuyfgiuvjnko After=network.target[Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/sbin/nginx ExecStop=/usr/sbin/nginx -s stop ExecReload=/usr/local/sbin/nginx -s reload[Install] WantedBy=multi-user.targe
備注:
fork 其實本身就是一個進程。
當執行 Execstart 啟動 nginx 進程的時候,fork 進程自身以 daemon 模式運行,將 nginx作為一個子進程,并啟動起來這個 nginx 的子進程。然后 fork 父進程退出。并將 fork 出的 nginx 子進程作為服務主進程進行跟蹤
4、修改配置文件
4.1、全局配置
vim /usr/local/nginx/conf/nginx.conf##運行用戶 #user nobody;##工作進程數量 worker processes 1;##PID 文件的位置 #error log logs/error.log;##錯誤日志文件的位置 #pid logs/nginx.pid;
4.2、HTTP配置
4.3、訪問狀態統計:
systemctl restart nginx