docker部署安裝Nginx

来源:https://www.cnblogs.com/aibianchengya/archive/2022/09/13/16689871.html
-Advertisement-
Play Games

TCP編程模型 server創建socket套接字 socket套接字--可以理解為文件描述符(file descriptor),UNIX把網路看成文件 /** * @param domain domain參數指定了一個通信域;它選擇了將被用於通信的協議族。 比如 AF_UNIX AF_INET * ...


docker部署安裝Nginx

前言

Nginx是一個高性能的HTTP和反向代理web伺服器,同事也提供了IMAP/POP3/SMTP服務。

特點:

  1. 輕量級的Web伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器
  2. 占用記憶體少
  3. 併發能力強

應用

動靜分離

Nginx可以作為靜態web伺服器來部署靜態資源,包含一些常見的html頁面、css文件、js文件、圖片等。動靜分離是將動態內容例如php、jsp等轉發到tomcat等容器服務上,將靜態內容例如html、圖片就直接訪問。

反向代理

反向代理伺服器位於用戶和目標伺服器之間,對於用戶而言,反向代理伺服器相當於目標伺服器,用戶只需要訪問反向代理伺服器,反向代理伺服器負責將用戶請求轉發給目標伺服器,保護了真實的目標伺服器。

負載均衡

避免單獨一個伺服器壓力過大導致服務崩潰,Nginx需要將不同用戶的請求轉發給不同的伺服器,包裝集群裡面的每一臺伺服器都能正常運作。主要有輪詢(預設)、權重(weight,加權輪詢)、ip_hash等。

安裝步驟

查詢鏡像

docker search nginx

拉取鏡像

docker pull nginx

創建文件夾

mkdir -p /usr/services/docker/nginx/conf.d
mkdir -p /usr/services/docker/nginx/log
mkdir -p /usr/services/docker/nginx/html

創建配置文件

touch nginx.conf

啟動

docker run --restart unless-stopped --name nginx -p 80:80 -p 8080:8080 -p 8081:8081 -v /usr/services/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -v /usr/services/docker/nginx/conf.d:/etc/nginx/conf.d:ro -v /usr/services/docker/nginx/html:/usr/share/nginx/html:ro -v /usr/services/docker/nginx/log:/var/log/nginx -d nginx

解釋:

​ -p 指定多個埠

​ :ro 表示只讀

擴展

  1. 使用allow和deny允許或者禁止某個ip訪問是,docker部署使用橋接網路只會獲取到docker宿主機的ip,所以無法對ip進行過濾,使用host網路模式可以解決該問題。

  2. nginx.conf文件

    # For more information on configuration, see:
    #   * Official English Documentation: http://nginx.org/en/docs/
    #   * Official Russian Documentation: http://nginx.org/ru/docs/
    
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    events {
        worker_connections 1024;
    }
    
    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
    }
    
  3. default.conf

    server {
    
       listen 80;
    
       server_name localhost;
    
    #charset koi8-r;
    
    #access_log /var/log/nginx/host.access.log main;
    
    location / {
    
        root /usr/share/nginx/html;
    
        index index.html index.htm;
    
       }
    
    location /api{
    
       proxy_pass http://ip:port/api;
    
          # access_log "logs/test.log"; } 
    }
    

如有侵權請立即與我們聯繫,我們將及時處理,聯繫郵箱:[email protected]

原文鏈接:https://monkey.blog.xpyvip.top/archives/docker部署安裝nginx


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

-Advertisement-
Play Games
更多相關文章
  • 前言 嗨嘍~大家好呀,這裡是魔王吶 ! 壁紙,有多種的類別和各種不同的風格,如: 風景、美女、唯美、動漫、花卉、節日等適合您的高清桌面壁紙 今天我們就來採集一下叭~ 環境使用: Python 3.8 解釋器 Pycharm 編輯器 需安裝python第三方模塊 : requests win + R ...
  • Web的8種(6+2)元素+定位方法 - id : id屬性 - name : name屬性 - class_name : - tag_name :標簽名 - css定位表達式: 局部html代碼 <input type="text" class="s_ipt" name="wd" id="kw" ...
  • JVM 嗶哩嗶哩 尚矽谷視頻 宋紅康老師 ==Java代碼執行流程== ==簡圖== ==詳細圖== 1、類載入子系統 ==類載入器子系統的作用== 類載入器子系統負責從文件系統或者網路中載入Class文件,class文件在文件開頭有特定的文件標識 ClassLoader 只負責 class 文件的 ...
  • 緩存穿透是用戶訪問一個不存在的key,導致請求穿透到資料庫。 問題關鍵是程式上要識別出這個key是一個錯誤key,不是由系統生成的key。每次添加或刪除緩存時維護一個key欄位查詢過濾器,例如:布隆過濾器、HashSet。這樣在訪問緩存前,可以對key先進行查詢過濾,判斷key是否存在,再往下執行業 ...
  • 閱讀須知:本文為入門介紹、指引文章,所示代碼皆為最簡易(或僅為實現功能)的演示示例版本,不一定切實符合個人(企業)實際開發需求。 一、DbContext生存期 DbContext 的生存期從創建實例時開始,併在釋放實例時結束。 DbContext 實例旨在用於單個工作單元。這意味著 DbContex ...
  • 前言 上一篇《ORM增刪改查併發性能測試》出現了點小失誤,有的輸出SQL日誌的代碼沒有禁用,資料庫連接字元串可能有問題。統一環境,統一代碼後,重新寫一篇。 這次重點是併發性能測試,真不是為了diss其它ORM,開始是因為我寫的Dapper.LiteSql高併發場景下存在BUG,才寫了這個測試,經過修 ...
  • 痞子衡嵌入式半月刊: 第 61 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回顧 ...
  • 一.歐亞經濟委員會確認EAEU EAC的Safety以及EMC證書的有效期 歐亞經濟委員會(EEC)近期通過第 113 號、114號決議,確認在2022年12月11日之前,未按第90、91號決議取得的EAEU EAC TR CU 004/2011(低電壓設備的Safety)以及TR CU 020/2 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...