企業網站架構部署與優化 --web技術與nginx網站環境部署

一、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.0

Web1.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的一部分。在發送密碼或其他敏感信息時絕不要使用 GETPOST 比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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/83777.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/83777.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/83777.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java實現poi-ooxml導出Excel的功能

文章目錄 1. 添加poi-ooxml依賴2. Excel導出工具類3.核心邏輯說明4.擴展建議5.HSSF、XSSF、SXSSF 的核心原則和場景建議&#xff0c;幫助你在不同需求下快速決策&#xff1a; 以下是一個基于 Apache POI 實現的簡單、通用的Java導出Excel工具類&#xff0c;代碼邏輯清晰且注釋詳…

Nginx端口telnet不通排查指南

nginx已經配置server及端口20002&#xff0c;telnet不通&#xff1a;telnet 127.0.0.1 20002 Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused 一、檢查 systemctl status nginx.service nginx: [emerg] bind() to 0.0.0.0:20002 failed (13…

【RabbitMQ】消息丟失問題排查與解決

RabbitMQ 消息丟失是一個常見的問題&#xff0c;可能發生在消息的生產、傳輸、消費或 Broker 端等多個環節。消息丟失的常見原因及對應的解決方案&#xff1a; 一、消息丟失的常見原因 1. 生產端&#xff08;Producer&#xff09;原因 (1) 消息未持久化 原因&#xff1a;生產…

docker默認存儲遷移

在容器化場景下默認存儲路徑為&#xff08;/var/lib/docker&#xff09;大多數平臺根目錄不支持系統盤擴容&#xff0c;會有空間不足風險隱患&#xff0c;因未配置持久化存儲導致容器數據丟失。以遷移Docker存儲路徑至大容量/data目錄說明 一、停止容器 systemctl stop docke…

【Golang筆記02】函數、方法、泛型、接口學習筆記

Golang筆記02&#xff1a;函數、方法、泛型、接口學習筆記 一、進階學習 1.1、函數 go中的函數使用func關鍵字進行定義&#xff0c;go程序的入口函數叫做&#xff1a;main&#xff0c;并且必須是屬于main包里面。 1.1.1、定義函數 &#xff08;1&#xff09;普通函數 go中…

LLM筆記(九)KV緩存調研

KV 緩存 (Key-Value Cache) 技術詳解 KV 緩存&#xff08;Key-Value Cache&#xff09;是在 Transformer 模型&#xff08;尤其是 Decoder-Only 架構或 Encoder-Decoder 架構的 Decoder 部分&#xff09;進行自回歸 (auto-regressive) 推理生成序列時&#xff0c;一種至關重要…

【Boost搜索引擎】構建Boost站內搜索引擎實踐

目錄 1. 搜索引擎的相關宏觀原理 2. 正排索引 vs 倒排索引 - 搜索引擎具體原理 3. 編寫數據去標簽與數據清洗的模塊 Parser 去標簽 編寫parser 用boost枚舉文件名 解析html 提取title ?編輯 去標簽 構建URL 將解析內容寫入文件中 4. 編寫建立索引的模塊 Index 建…

LeetCode 熱題 100 1.兩數之和

目錄 題目&#xff1a; 題目描述&#xff1a; 題目鏈接&#xff1a; 思路&#xff1a; 思路一暴力遍歷&#xff1a; 代碼&#xff1a; 暴力遍歷Java代碼&#xff1a; 題目&#xff1a; 題目描述&#xff1a; 題目鏈接&#xff1a; 1. 兩數之和 - 力扣&#xff08;LeetC…

基于LSTM-GARCH混合模型的黃金價格波動率預測:信用降級事件沖擊評估

摘要&#xff1a;本文構建多維度量化分析框架&#xff0c;對近期黃金市場波動進行技術解構。通過主權信用評級調整、地緣風險及宏觀經濟數據等公開信息源&#xff0c;運用統計學習模型解析市場驅動因素&#xff0c;避免主觀預判。文中所有技術分析均基于歷史數據回測&#xff0…

分布式與集群:概念、區別與協同

分布式與集群:概念、區別與協同 在分布式系統與云計算領域,分布式(Distributed)和集群(Cluster)是兩個高頻出現的核心概念。它們常被混淆,但本質上屬于不同維度的設計思想。本文將從定義、分類、實際應用及協同關系四個層面,結合 Dubbo、Git、Hadoop 等典型案例,系統…

Prometheus實戰教程:k8s平臺-Mysql監控案例

配置文件優化后的 Prometheus 自動發現 MySQL 實例的完整 YAML 文件。該配置包括&#xff1a; MySQL Exporter 部署&#xff1a;使用 ConfigMap 提供 MySQL 連接信息。Prometheus 自動發現&#xff1a;通過 Kubernetes 服務發現自動抓取 MySQL 實例。 1、mysql 配置文件 &…

基于區塊鏈技術的智能汽車診斷與性能分析

我是穿拖鞋的漢子&#xff0c;魔都中堅持長期主義的汽車電子工程師。 老規矩&#xff0c;分享一段喜歡的文字&#xff0c;避免自己成為高知識低文化的工程師&#xff1a; 鈍感力的“鈍”&#xff0c;不是木訥、遲鈍&#xff0c;而是直面困境的韌勁和耐力&#xff0c;是面對外界…

文字溢出省略號顯示

一、 單行文字溢出、省略號顯示 二、 多行文字溢出&#xff0c;省略號顯示 有較大的兼容性問題&#xff0c;適用于Webkit為內核的瀏覽器軟件&#xff0c;或者移動端的&#xff08;大部分也是webkit&#xff09; 此效果建議后端人員開發 三、圖片底側空白縫隙的修復技巧&#…

JavaScript 中使用 Elasticsearch 的正確方式,第一部分

作者&#xff1a;來自 Elastic Jeffrey Rengifo 講解如何用 JavaScript 創建一個可用于生產環境的 Elasticsearch 后端。 想獲得 Elastic 認證&#xff1f;看看下一期 Elasticsearch 工程師培訓什么時候開始吧&#xff01; Elasticsearch 擁有大量新功能&#xff0c;能幫助你…

RAG-MCP:突破大模型工具調用瓶頸,告別Prompt膨脹

大語言模型&#xff08;LLM&#xff09;的浪潮正席卷全球&#xff0c;其強大的自然語言理解、生成和推理能力&#xff0c;為各行各業帶來了前所未有的機遇。然而&#xff0c;正如我們在之前的探討中多次提及&#xff0c;LLM并非萬能。它們受限于訓練數據的時效性和范圍&#xf…

鴻蒙OSUniApp制作一個小巧的圖片瀏覽器#三方框架 #Uniapp

利用UniApp制作一個小巧的圖片瀏覽器 最近接了個需求&#xff0c;要求做一個輕量級的圖片瀏覽工具&#xff0c;考慮到多端適配的問題&#xff0c;果斷選擇了UniApp作為開發框架。本文記錄了我從0到1的開發過程&#xff0c;希望能給有類似需求的小伙伴一些參考。 前言 移動互聯…

Python爬蟲實戰:獲取taobao網最新rtx5060ti顯卡銷量數據并分析,為消費者做參考

一、系統定義與技術架構 1.1 系統定義 本系統是基于 Python 開發的電商數據采集與分析工具,旨在通過模擬用戶行為實現淘寶平臺 50 系列顯卡(以 RTX 5060 Ti 為例)銷售數據的自動化獲取、清洗、分析及可視化。核心功能包括: 自動登錄:通過 Selenium 模擬瀏覽器操作完成賬…

OCframework編譯Swift

建一個OC的framework&#xff1a; 需要對外暴露的OC文件&#xff0c;需要放到OC的.h文件中 framework中&#xff0c;OC類&#xff0c;調用framework中的Swift類&#xff1a; #import "WowAudioFocus/WowAudioFocus-Swift.h" //02 #import "{工程名}/{工程…

每日算法 -【Swift 算法】Two Sum 問題:從暴力解法到最優解法的演進

【Swift 算法】Two Sum 問題&#xff1a;從暴力解法到最優解法的演進 本文通過“Two Sum”問題&#xff0c;帶你了解如何從最直觀的暴力解法&#xff0c;逐步優化到高效的哈希表解法&#xff0c;并對兩者進行對比&#xff0c;適合算法入門和面試準備。 &#x1f4a1; 問題描述 …

【保姆級】Nginx簡介以及安裝

Nginx簡介 ? Nginx是一個高性能的HTTP和反向代理web服務器&#xff0c;同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點&#xff08;俄文&#xff1a;Рамблер&#xff09;開發的&#xff0c;第一個公開版本0.1.0發布于20…