Nginx配置達夢數據庫代理及Nginx模塊內容總結

Nginx 代理達夢數據庫配置

  • 叨叨
  • 達夢數據庫代理
  • Nginx模塊說明
    • stream模塊
    • main 全局塊
    • event塊
    • http塊
    • server塊
    • location塊
  • 本文參考了 https://blog.csdn.net/qq_42402854/article/details/132843413

叨叨

由于公司網絡安全問題,應用服務器端開開放需要走策略申請,雖安全但開發來講流程確實有點麻煩。因此,申請一個對外開放的Nginx端口供大家訪問。用其代理所有,all~~~~~

達夢數據庫代理

網上內容很多,都OK,達夢數據庫連接屬于TCP連接,因些做nginx配置時注意用stream即可。配置如下所示:

 stream {upstream dm_database {server 1270.0.1:5236;  # 替換為達夢數據庫服務器的IP和端口}server {listen 8080;  # 替換為Nginx監聽的端口proxy_pass dm_database;}}

請注意,該節點 與http并列,并不配在http中。這樣即可。簡單吧,快去試試吧

Nginx模塊說明

都寫到這了,叨叨下Nginx各模塊說明吧

stream模塊

這個模塊用于TCP/UDP數據流的代理和負載,可用stream代理轉發TCP消息。該模塊配置與http平級,使用相似,本文數據庫代理就用的該模塊。語法與http模塊基本相同,但要注意的是
確保在Nginx編譯時包含了–with-stream模塊,以啟用stream處理功能。以下示例:

stream {upstream backend {server backend1.example.com:12345;server backend2.example.com:12345;}server {listen 12345;proxy_pass backend;proxy_connect_timeout 1s;}
}

在這個配置中,Nginx監聽在本地12345端口上的連接請求,并將它們代理到名為backend的上游組,該上游組包含兩個后端服務器。proxy_connect_timeout指定了到后端服務器的連接超時時間。
以下是一個完整的示例,參考 https://www.jianshu.com/p/1848c1b71a0d。


user  nginx;
worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;worker_rlimit_nofile 65535;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {use epoll;worker_connections  102400;accept_mutex on;multi_accept on;}http {include       mime.types;default_type  application/octet-stream;#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  logs/access.log  main;log_format format1 '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $http_x_forwarded_for $upstream_cache_status $request_time';access_log  logs/access.log  format1;server_names_hash_bucket_size 128;client_header_buffer_size 4k;large_client_header_buffers 4 8k;client_max_body_size 8m;#sendfile       on;#tcp_nopush     on;keepalive_timeout  60s;#tcp_nodelay on;client_header_timeout 25s;client_body_timeout 25s;send_timeout 25s;gzip  on;gzip_min_length 2k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 7;gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png image/ico;gzip_vary off;gzip_disable "MSIE [1-6]\.";proxy_headers_hash_max_size 51200;proxy_headers_hash_bucket_size 6400;proxy_buffer_size 128k;proxy_buffers   32 128k;proxy_busy_buffers_size 128k;proxy_connect_timeout 300;proxy_send_timeout 300;proxy_read_timeout 300;server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}location /nginx_status{stub_status on;access_log off;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}# 各個域名單獨控制include conf.d/*.conf;
}stream {server {listen 9898;proxy_pass 192.168.0.202:9999;}  }

main 全局塊

此模塊顧名思義為主配置,作用會影響Nginx服務器整體運行的配置指令,放在Nginx最頂層,從配置文件開始到events塊之間的內容。主要包括配置運行Nginx服務器的用戶(組)、允許生成的worker process數,進程PID存放路徑、日志存儲路徑和類型以及配置文件的引入等。作用域是全局的。

  • user:配置運行Nginx服務器用戶(組)
  • worker_processes:指定Nginx要啟動的工作進程的數量。worker_processes 1:的意思是:Nginx 服務器并發處理服務的關鍵配置,worker_processes 值越大,可以支持的并發處理量也越多,但是會受到硬件、軟件等設備的制約。
  • Nginx進程
  • error_log:指定錯誤日志的位置和日志級別。
  • pid:指定Nginx pid文件的位置。
  • events:包含影響Nginx服務器或與網絡有關的事件模塊指令。

示例如下所示:

user nginx;                  # 指定運行Nginx的用戶和用戶組
worker_processes auto;       # 設置工作進程數為自動設置
error_log /var/log/nginx/error.log warn;  # 錯誤日志位置和日志級別
pid /var/run/nginx.pid;     # PID文件位置events {worker_connections 1024;  # 每個工作進程的最大連接數
}http {# http模塊內容,包括服務器配置等...
}

event塊

主要作用是Nginx服務器與用戶的網絡連接信息。Nginx的事件處理機制對應不同的操作系統有不同的實現,例如kqueue、epoll、poll等。通過Nginx的命令行參數查看event模塊你也可以通過查看Nginx的命令行參數來查看Nginx使用的是哪種event模塊。

例如,你可以運行以下命令:

如果你想要查看Nginx的event模塊是哪個,你可以通過查看Nginx的配置參數來獲取。
示列1:

events {use kqueue; # 例如這是在Mac OS X中的配置# use epoll;  例如這是在Linux中的配置worker_connections  1024;  #每個進程允許的最多連接數}

http塊

這個開發同學用的最多,處理http請求和響應的核心組件,負責接收客戶端請求并向客戶端發向應。 http模塊負責HTTP服務器相關屬性的配置,有server和upstream兩個子模塊

  • include :來用設定文件的mime類型,類型在配置文件目錄下的mime.type文件定義,來告訴nginx來識別文件類型。
  • default_type:設定了默認的類型為二進制流,也就是當文件類型未定義時使用這種方式,例如在沒有配置asp的locate環境時,Nginx是不予解析的,此時,用瀏覽器訪問asp文件就會出現下載了。
  • log_format:用于設置日志的格式,和記錄哪些參數,這里設置為main,剛好用于access_log來紀錄這種類型。
    示 例如下所示:
http {  include       mime.types;default_type  application/octet-stream;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  logs/access.log  main;sendfile        on;tcp_nopush     on;keepalive_timeout  0;keepalive_timeout  65;gzip  on;}    

server塊

該塊是包在http塊中的,每個http塊中有多個server塊,每個server塊可以認為是一個 虛擬主機。sever塊用來定一個虛擬主機,標志定義虛擬主機開始。虛擬主機從用戶角度看,和一臺獨立的硬件主機是完全一樣的,該技術的產生是為了 節省互聯網服務器硬件成本。每個server塊又分全局server塊,它可以基于域名、IP地址、端口或者組合來處理請求。還可包括多個location塊

  • listen:用于指定虛擬主機的服務端口
  • server_name:用來指定IP地址或者域名,多個域名之間用空格分開。
  • root :表示在這整個server虛擬主機內,全部的root web根目錄。注意要和locate {}下面定義的區分開來。
  • index :全局定義訪問的默認首頁地址。注意要和locate {}下面定義的區分開來。
  • charset:用于設置網頁的默認編碼格式。
  • access_log:用來指定此虛擬主機的訪問日志存放路徑,最后的main用于指定訪問日志的輸出格式。
    示例如下
http {server {listen       80;server_name  localhost;root   /Users/hk/www;index  index.php index.html index.htm; charset utf-8;access_log  logs/host.access.log  main;aerror_log  logs/host.error.log   main;}
}

location塊

Nginx的location模塊用于定義如何處理特定的請求URI。通過配置location,可以控制哪些URI被Nginx處理,以及如何處理這些URI。主要作用是基于 Nginx 服務器接收到的請求字符串(例如 server_name/uri-string),對虛擬主機名稱 (也可以是IP 別名)之外的字符串(例如 前面的 /uri-string)進行匹配,對特定的請求進行處理。 地址定向、數據緩 存和應答控制等功能,還有許多第三方模塊的配置也在這里進行。location模塊 負載均衡,反向代理,虛擬域名等配置。是來定位的,定位URL,解析URL,它也提供了強大的正則匹配功能,也支持條件判斷匹配,可以通過location指令實現Nginx對動,靜態網頁進行過濾處理。

  • /表示匹配訪問根目錄。
  • root指令用于指定訪問根目錄時,虛擬主機的web目錄,這個目錄可以是相對路徑(相對路徑是相對于nginx的安裝目錄)。也可以是絕對路徑。
  • proxy_pass:代理轉發,如果在proxy_pass后面的url加/,表示絕對根路徑;如果沒有/,表示相對路徑,把匹配的路徑部分也給代理走。
  • proxy_set_header:允許重新定義或者添加發往后端服務器的請求頭。
  • include:加載配置文件,后面介紹nginx多個配置文件時候會提到。
  • root:定位localtion匹配的url資源路徑。
  • index:定義頁面顯示html,一般和alias配合使用。
    示例1如下所示:
location = / {# 處理根目錄(/)的請求
}location /images/ {# 處理請求URI開始為/images/的請求
}

示例二如下

 location / {       root   html;    index  index.html index.htm;}error_page  404              /404.html;       error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}#反向代理配置location /jyb {proxy_pass http://qurt/;proxy_read_timeout 1800s;proxy_set_header   Host $host:$server_port;proxy_set_header   X-real-ip  $remote_addr;proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;  proxy_set_header   X-Forwarded-Proto  $scheme; }#采用uwsgi方式location /python/ {include uwsgi_params;uwsgi_pass 127.0.0.1:33333;}# FastCGI方式location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;include        fastcgi_params;}#訪問nginx本機目錄的文件location / {root   /home/hk/;index  index.html index.htm;}location  /static/ {alias /var/static/;}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one#location ~ /\.ht {deny  all;}}# another virtual host using mix of IP-, name-, and port-based configurationserver {listen       8000;listen       somename:8080;server_name  somename  alias  another.alias;location / {root   html;index  index.html index.htm;}}# HTTPS server    server {listen       443 ssl;server_name  localhost;ssl_certificate      cert.pem;ssl_certificate_key  cert.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {root   html;index  index.html index.htm;}}

本文參考了 https://blog.csdn.net/qq_42402854/article/details/132843413

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

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

相關文章

C#面:舉列 a=10,b=15,在不用第三方變量的前提下,把a,b的值互換

要在不使用第三方變量的前提下交換a和b的值,可以使用異或運算。異或運算的特性是,對于兩個相同的數進行異或運算,結果為0;對于任意數與0進行異或運算,結果為該數本身。因此,可以通過多次異或運算來實現變量…

【Sublime】Sublime Text 中運行終端

Sublime Text 本身并不是一個終端仿真器,可以使用插件來在 Sublime Text 中集成終端功能。最常用的插件之一是“Terminal”。 使用“Terminal”插件在 Sublime Text 中啟動終端 以下是安裝和使用該插件的步驟: 安裝 Package Control: 如果你…

面試突擊:HashMap 源碼詳解

本文已收錄于:https://github.com/danmuking/all-in-one(持續更新) 數據結構 JDK1.8 之前 JDK1.8 之前 HashMap 采用 數組和鏈表 結合的數據結構。如下圖: HashMap 將 key 的 hashCode 經過擾動函數處理過后得到 hash 值&#…

網絡編程客戶端和服務端連接流程

服務器端:socket()-->bind( )-->listen()-->accept()-->read()/write()--->close()socket()//創建套接字 bind()//命名socket,分配套接字地址 listen()//監聽狀態,等待連接請求狀態 accept()//允許連接(被動連接) read()/writ…

java第二十九課 —— 斷點 | 零錢通項目

斷點調試(debug) 實際需求 在開發中,新手程序員在查找錯誤時,這時老程序員就會溫馨提示,可以用斷點調試步一步的看源碼執行的過程,從而發現錯誤所在。 重要提示:在斷點調試過程中,…

Open3D(C++) 刪除點云中重復的點

目錄 一、算法原理1、重疊點2、主要函數二、代碼實現三、結果展示本文由CSDN點云俠原創,原文鏈接。如果你不是在點云俠的博客中看到該文章,那么此處便是不要臉的爬蟲與GPT。 一、算法原理 1、重疊點 原始點云克隆一份 ??構造重疊區域 ??合并點云獲得重疊點 2、主要…

嫦娥六號平安回家,Smartbi非常榮幸參與中國航天項目

“小時不識月,呼作白玉盤。”李白的這句詩,承載了古人對月亮的美好想象與純真童趣。今天,當我們仰望夜空,那輪明月不僅是詩詞中的意象,更是科學探索的目標和夢想的寄托。 2024年6月25日14時07分,嫦娥六號返…

vxeTable反轉表格

文章目錄 前言 前言 如果遇到列為動態值&#xff0c;行相對固定的情況&#xff0c;這種時候就需要用到行列反轉&#xff0c;這里我以vxeTable表格為例。 直接上代碼 <vxe-gridref"tableRefRight":auto-resize"true":columns"dataColumn":dat…

數獨的解法

文后附有源代碼下載地址&#xff0c;大家有更好的算法&#xff0c;可以發上來交流下。 主要是數學方面的算法改進&#xff0c;所以大家務必基于單線程&#xff0c;不要搞多線程&#xff0c;對于數學改進&#xff0c;單線程變多線程沒有意義。 編譯環境&#xff1a;vs2022&…

ubuntu22.04 編譯安裝openssl C++ library

#--------------------------------------------------------------------------- # openssl C library # https://www.openssl.org/source/index.html #--------------------------------------------------------------------------- cd /opt/download # 下載openssl-3.0.13…

概率論中:二項分布和泊松分布有什么區別

二項分布和泊松分布都是概率論中常見的離散概率分布&#xff0c;但它們之間存在顯著的區別。以下是它們之間的主要區別&#xff0c;以清晰、分點的方式表示并歸納&#xff1a; 1. 定義與描述 二項分布&#xff1a;描述的是在n次獨立的伯努利試驗中成功的次數。每次試驗只有兩…

第5章_Modbus通訊協議

文章目錄 5.1 學習Modbus的快速方法5.1.1 寄存器速記5.1.2 協議速記 5.2 初識Modbus5.2.1 背景5.2.2 什么是Modbus&#xff1f;1. Modbus簡介2. Modbus特點3. Modbus常用術語4. Modbus事務處理 5.3 Modbus軟件與使用5.3.1 Modbus軟件簡介5.3.2 Modbus Poll&#xff08;主站設備…

原生小程序使用數據圖表

這里以使用ucharts為例 第一步&#xff1a;在已創建好的小程序項目根目錄下執行npm init來初始化項目 第二步&#xff1a;安裝所需的包 npm i qiun/wx-ucharts 第三步&#xff1a;構建&#xff1a;在小程序開發工具中&#xff0c;點擊工具->構建npm即可 此時會看見項目目錄中…

Unity WebGL項目問題記錄

一、資源優化 可通過轉換工具配套提供的資源優化工具&#xff0c;將游戲內紋理資源針對webgl導出做優化。 工具入口&#xff1a; 工具介紹 Texture 搜索規則介紹 已開啟MipMap: 搜索已開啟了MipMap的紋理。 NPOT: 搜索非POT圖片。 isReadable: 搜索已開啟readable紋理。 …

一分鐘上手!用 Video GPT 一天制作上百條短視頻

一分鐘上手&#xff01;用 Video GPT 一天制作上百條短視頻 學會簡單烹飪&#xff0c;享受美味家常菜 Video GPT by VEED 使用鏈接&#xff1a; https://chatgpt-plus.top/g/g-Hkqnd7mFT-video-gpt-by-veed 1. 選擇視頻主題 在開始之前&#xff0c;確定視頻的主題和目標受眾…

代碼隨想三刷貪心篇5

代碼隨想三刷貪心篇5 738. 單調遞增的數字題目代碼968. 監控二叉樹題目代碼738. 單調遞增的數字 題目 鏈接 代碼 class Solution {public int monotoneIncreasingDigits(int n) {char[] arr = String.valueOf

深度之眼(二十八)——神經網絡基礎知識(三)-卷積神經網絡

文章目錄 一、前言二、卷積操作2.1 填充&#xff08;padding&#xff09;2.2 步長2.3 輸出特征圖尺寸計算2.4 多通道卷積 三、池化操作四、Lenet-5及CNN結構進化史4.1 Lenet-5 一、前言 卷積神經網絡–AlexNet(最牛)-2012 Lenet-5-大規模商用&#xff08;1989&#xff09; 二、…

網絡編程:使用udp實現數據文件的接收java

目錄 1、需求 2、邏輯實現 3、代碼實現 4、總結 1、需求 發送方將文件按照數據幀進行發送&#xff0c;接收方完成數據接收的還原&#xff0c;即還原為相應的文件。 2、邏輯實現 采用ConcrrenutHashMap作為緩沖區&#xff0c;每次處理時都判斷&#xff0c;數據是否連續&…

昇思25天學習打卡營第3天|網絡構建

學習目標&#xff1a;熟練掌握網絡構建方法 了解mindspore.nn 實例構建簡單的神經網絡 網絡模型中各層參數 昇思大模型平臺 AI實驗室 學習記錄&#xff1a; 一、關于mindspore.nn 在MindSpore中&#xff0c;Cell類是構建所有網絡的基類&#xff0c;也是網絡的基本單元。cell…

在CentOS 7 64位 Docker容器里面部署mysql數據庫定時備份和還原步驟

備份 案例&#xff1a;在CentOS 7系統內的Docker容器中設置一個定時任務&#xff0c;每周五備份MySQL數據庫&#xff0c;可以通過以下步驟實現&#xff1a; 1、創建備份腳本 首先&#xff0c;編寫一個備份腳本來執行MySQL數據庫的備份操作。假設你將這個腳本命名為backup.sh…