Nginx環境搭建與使用

来源:https://www.cnblogs.com/ailiailan/archive/2019/12/11/12020992.html
-Advertisement-
Play Games

一、背景 之前測試的項目前後端的"路由"(負責把前端發過來的請求轉發到相應的後端服務上)要用Nignx來取代原來的tomcat的http server功能,做這個替換的原因是Nignx輕量級,抗併發,處理靜態文件好。 Nignx常用做靜態內容服務和代理伺服器,直接外來請求轉發給後面的應用伺服器(to ...


一、背景

之前測試的項目前後端的"路由"(負責把前端發過來的請求轉發到相應的後端服務上)要用Nignx來取代原來的tomcat的http server功能,做這個替換的原因是Nignx輕量級,抗併發,處理靜態文件好

Nignx常用做靜態內容服務和代理伺服器,直接外來請求轉發給後面的應用伺服器(tomcat,Django等),tomcat更多用來做一個應用容器,讓java web app泡在裡面的東西

嚴格意義上來講,Nignx應該叫做HTTP Server,而tomcat是一個Application Server是一個Servlet/JSO應用的容器

客戶端通過HTTP Server(Nignx)訪問伺服器上存儲的資源HTML文件,圖片文件等),HTTP Server(Nignx)只是把伺服器上的文件通過HTTP協議傳輸給客戶端

應用伺服器(tomcat)往往是運行在HTTP Server(Nignx)的背後,執行應用,將動態的內容轉化為靜態的內容之後,通過HTTP Server(Nignx)分發到客戶端。

請求的流轉過程概圖:

註意:nginx只是把請求做了分發,不做處理!!!

二、Nginx環境搭建

1、下載

2、解壓

# tar -xzf nginx-1.16.1.tar.gz

3、安裝依賴的基礎組件

因為nginx預設會依賴一些基礎組件,這些依賴組件主要有g++,gcc, openssl-devel, pcre-devel和zlib-devel,所以在正式安裝nginx前最好先安裝好這些組件。可以使用yum一次性安裝,運行以下命令:

# yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

4、進入安裝包目錄、編譯安裝

# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
# make
# make install

5、查看nginx版本

# nginx -v

顯示版本號,說明安裝成功

三、使用

1、配置文件

Nginx的配置文件預設為nginx.conf,我這裡通過新建了一個conf.d文件夾和.conf文件(.conf文件具體的內容參考nginx.conf)來完成配置,具體如下:

upstream模塊要負責負載均衡的配置,通過預設的輪詢調度方式來分發請求到後端伺服器

  • -- max_fails:表示失敗最大次數,超過失敗最大次數暫停服務

  • -- fail_timeout:表示如果請求受理失敗,暫停指定的時間之後重新發起請求

2、Nginx的啟動

直接輸入nginx命令,即可啟動

# nginx

還可以通過systemctl來啟動nginx

# systemctl start nginx

3、Nginx的停止

nginx的停止有兩種方式,分別是

1. nginx -s stop命令

2. kill -9 nginx_pid命令      # nginx_pid指的是主進程的pid號

同理,也可以通過systemctl來停止nginx

# systemctl stop nginx

需要說明的是,使用systemctl命令結束nginx進程時,只有通過systemctl啟動的nginx才能被正常結束,而通過運行nginx命令啟動的進程是不能被正常結束的。

使用kill命令來結束nginx進程。結束nginx進程的信號有兩個,分別是TERM和QUIT:

# kill -s QUIT  nginx_pid
# kill
-s TERM nginx_pid

前者(QUIT)用於快速停止nginx,後者(TERM)用於平緩停止nginx,區別在於平緩停止nginx會等待工作進程將請求結束以後再停止。

4、Nginx的配置文件重載

nginx的配置文件重載,這也是一個很重要的功能,因為很多時候需要修改nginx的配置文件,修改完成後需要重新載入配置文件,方法有2個

1. nginx -s reload
2. kill -s HUP nginx_pid命令

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • reselect是什麼? "reselect" 是配合 使用的一款輕量型的狀態選擇庫,目的在於當store中的state重新改變之後,使得局部未改變的狀態不會因為整體的state變化而全部重新渲染,功能有點類似於組件中的生命周期函數 ,但是它們並不是一個東西。下麵是官方的一些簡介: Selector ...
  • nvm Node.js version manager ,推薦使用它來安裝 node.js 。 "Mac 版項目地址" "Windows 版項目地址" windows 版安裝 進入 "下載頁" 找到安裝包: 跟著引導安裝即可。 輸入 查看是否安裝成功,成功的話如下圖所示。如果提示找不到命令, "請看 ...
  • 為同一個元素綁定多個不同事件指向同一個事件處理函數 1. 用了switch(e.type){} 來修改 2. break <input type="button" value="小蘇" id="btn" /> <script src="common.js"></script> <script> // ...
  • div拖拽效果 JQuery ...
  • 如何渲染幾萬條數據並不卡住界面? 如何在不卡住頁面的情況下渲染數據,也就是說不能一次性將幾萬條 都渲染出來,而應該一次渲染部分 DOM,那麼就可以通過 requestAnimationFrame 來 每 16 ms 刷新一次。 <!DOCTYPE html> <html lang="en"> <he ...
  • 事件冒泡: 多個元素嵌套, 有層次關係 ,這些元素都註冊了相同的事件, 如果裡面的元素的事件觸發了, 外面的元素的該事件自動的觸發了 事件有三個階段: 1.事件捕獲階段 :從外向內 2.事件目標階段 :最開始選擇的那個 3.事件冒泡階段 : 從裡向外 為元素綁定事件 addEventListener ...
  • zoning 中華人民共和國行政區劃:省級、地級、縣級、鄉級和村級 GitHub: Gitee: Demo: 來源 國家統計局 統計用區劃和城鄉劃分代碼 統計數據截止2018 10 31 於 2019 01 31發佈 使用 打開頁面 打開瀏覽器控制台(推薦Chrome、Firefox,請不要用IE系 ...
  • 引言 在我們的前端日常工作中,無時無刻不在進行著變數的聲明和賦值,你是否也曾碰到過變數聲明報錯或變數被污染的問題,如果你跟筆者一樣碰到過,那麼我們應該暫時停下來好好思考問題發生的原因以及如何採取相應的補救措施。當然排查問題最好的方式就是深入其底層細節,瞭解在JavaScript中的記憶體分配方式。只有 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...