win環境nginx實戰配置詳解

項目中經常使用nginx做負載均衡,接口路由、文件、文檔的上傳及下載、視頻的代理播放等等,都離不開nginx的支持,今天我們分享一下其個使用場景。

1、配置文件?nd-nginx.conf

全局配置


#全局配置端,對全局生效,主要設置nginx的啟動用戶/組,啟動的工作進程數量,工作模式,Nginx的PID路徑,日志路徑等。
#user  nobody;
#user nginx nginx;#啟動Nginx工作進程的用戶和組
worker_processes  1; #啟動工作進程數數量
#worker_processes [number | auto]; #啟動Nginx工作進程的數量,一般設為和CPU核心數相同
#worker_cpu_affinity 00000001 00000010 00000100 00001000 | auto ; 
#將Nginx工作進程綁定到指定的CPU核心,默認Nginx是不進行進程綁定的,綁定并不是意味著當前nginx進程獨占以一核心CPU,
#但是可以保證此進程不會運行在其他核心上,這就極大減少了nginx的工作進程在不同的cpu核心上的來回跳轉,
#減少了CPU對進程的資源分配與回收以及內存管理等,因此可以有效的提升nginx服務器的性能。#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;#events設置快,主要影響nginx服務器與用戶的網絡連接,比如是否允許同時接受多個網絡連接,
#使用哪種事件驅動模型處理請求,每個工作進程可以同時支持的最大連接數,是否開啟對多工作進程下的網絡連接進行序列化等。
events {#設置單個nginx工作進程可以接受的最大并發,作為web服務器的時候最大并發數為worker_connections * worker_processes,#作為反向代理的時候為(worker_connections * worker_processes)/2worker_connections  1024;
}

文件上面全局配置

2、http 模塊詳解

#http塊是Nginx服務器配置中的重要部分,緩存、代理和日志格式定義等絕大多數功能和第三方模塊都可以在這設置,
#http塊可以包含多個server塊,而一個server塊中又可以包含多個location塊,
#server塊可以配置文件引入、MIME-Type定義、日志自定義、是否啟用sendfile、連接超時時間和單個鏈接的請求上限等。
http {#通用配置....# N個server 模塊虛擬服務器 }

3、http模塊里面通用的配置

    include       mime.types; #導入支持的文件類型,是相對于/apps/nginx/conf的目錄,在響應報文中將指定的文件擴展名映射至MIME對應的類型default_type  application/octet-stream; #除mime.types中文件類型外,設置其它文件默認類型,訪問其它類型時會提示下載不匹配的類型文件#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;#作為web服務器的時候打開sendfile加快靜態文件傳輸,指定是否使用sendfile系統調用來傳輸文件,#sendfile系統調用在兩個文件描述符之間直接傳遞數據(完全在內核中操作),從而避免了數據在內核緩沖區和用戶緩沖區之間的拷貝,#操作效率很高,被稱之為零拷貝,硬盤 >> kernel buffer (快速拷貝到kernelsocket buffer) >>協議棧。sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65; ?#長連接超時時間,單位是秒#開啟gzip壓縮,若想關閉gzip壓縮,則需要注釋掉這句話,或者將on換成off#gzip  on;#配置允許壓縮的頁面的最小字節數,頁面字節數從header頭中的Content-Length中獲>取,建議設置成1k,因為如果數據小于1k,他也會壓縮成1k,這樣會起到反作用。#gzip_min_length 1k;#4個16k的數據流用于存儲gzip的壓縮結果數據流#gzip_buffers 4 16k;#支持的http版本為1.1#gzip_http_version 1.1;#判斷客戶端是否支持gzip技術,若不支持則不會進行gzip處理#gzip_vary on;# 全局跨域配置#為 * 表示服務器可以接受所有的請求源(Origin),即接受所有跨域的請求,也可以指定一個確定的URLadd_header 'Access-Control-Allow-Origin' '*' always;#可選字段,為true表示允許發送Cookie。同時,發送時,必須設置XMLHttpRequest.withCredentials為true才有效,請求若服務器不允許瀏覽器發送,刪除該字段即可。add_header 'Access-Control-Allow-Credentials' 'true';#代表允許使用指定的方法請求該地址add_header 'Access-Control-Allow-Methods' 'GET, POST, PATCH, DELETE, PUT, OPTIONS';#代表允許在請求該地址的時候帶上指定的請求頭,例如:Content-Type,Authorization,使用逗號(,)拼接起來放在雙引號(")中add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, X-Custom-Header, Access-Control-Expose-Headers, Token, Authorization';add_header 'Access-Control-Allow-Headers'  '*';#代表著在 1728000 秒之內不用請求該地址的時候 不需要再進行預檢請求,也就是跨域緩存。add_header 'Access-Control-Max-Age' 1728000;

4、server 虛擬服務器詳解及通用配置

#每個server用于定義一個虛擬主機,第一個server為默認虛擬服務器server {#設置一個虛擬機主機,可以包含自己的全局快,同時也可以包含多個location模塊。#比如本虛擬機監聽的端口、本虛擬機的名稱和IP配置,多個server 可以使用一個端口,比如都使用80端口提供web服務listen       80;?#配置server監聽的端口server_name  localhost; #本server的名稱,當訪問此名稱的時候nginx會調用當前serevr內部的配置進程匹配。#是否在響應報文中的Content-Type顯示指定的字符集,默認off不顯示#charset charset | off;#charset koi8-r;#設置編碼格式,默認是俄語格式,建議改為utf-8#示例#charset utf-8;#access_log  logs/host.access.log  main;autoindex on; # 顯示目錄,默認不開啟autoindex_localtime on;# 顯示文件修改時間 # 顯示文件大小#多個 location 配置....}

5、server 中 多個location 配置?

        #以http的方式轉發mp4請求到指定web服務器。#訪問 http://127.0.0.1/6d.mp4 就可以播放視頻,而視頻6d.mp4就在html/dist目錄下。location ~ /.mp4$ {#root E:\sh\nginx; # 你的文件目錄mp4;			# 支持mp4mp4_buffer_size 10m;#處理mp4初始內存大小mp4_max_buffer_size 50m;#處理mp4最大內存大小}location / {root   html/dist;#相當于默認頁面的目錄名稱,默認是安裝目錄的相對路徑,可以使用絕對路徑配置。index  index.html index.htm;#默認的頁面文件名稱#給OPTIONS 添加 204 的返回,為了處理在發送POST請求時Nginx依然拒絕訪問的錯誤,發送"預檢請求"時,需要用到方法 OPTIONS,所以服務器需要允許該方法。if ($request_method = 'OPTIONS') {return 204;}}#proxy_pass的配置詳解在后面location /test {proxy_pass http://127.0.0.1:9006;proxy_redirect off;#關閉重定向#proxy_redirect #舊地址 新地址;#proxy_redirect default;  #默認配置#若客戶端發過來的請求header中有HOST這個字段,$http_host和$host表示的就是原始請求host,比如請求的時候HOST的值是http://demo.com,那么反代后還是http://demo.com。proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;#將$remote_addr的值放進變量X-Real-IP中,此變量名可變,$remote_addr的值為客戶端的ipproxy_set_header X-forwarded-For $proxy_add_x_forwarded_for;#獲得用戶真實ip}location /ars {proxy_pass http://192.8.3.211:9006;}#/person/getPersonUrllocation /kvc {add_header 'Access-Control-Allow-Origin' '*' ;add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Allow-Methods' '*';add_header 'Access-Control-Allow-Headers'  '*';add_header 'Access-Control-Max-Age' 1728000;proxy_pass http://192.8.3.211:1288;}location /about {root /app/html; #必須要在html目錄中創建一個名為about的目錄才可以訪問,否則報錯。}location /about { #注意about后不要加/ , 使用alias的時候uri后面如果加了斜杠,則下面的路徑配置必須加斜杠,否則403alias /opt/html/about; #當訪問about的時候,會顯示alias定義的/opt/html/about里面的內容。}#注意:location中使用root指令和alias指令的意義不同#root 給定的路徑對應于location中的/uri 左側的/#alias 給定的路徑對應于location中的/uri 的完整路徑#error_page  404              /404.html;#錯誤頁面的文件名稱# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;#錯誤頁面的文件名稱location = /50x.html { #location處理對應的不同錯誤碼的頁面定義到/50x.html,這個跟對應其server中定義的目錄下。root   html;#定義默認頁面所在的目錄}

6、第二個server,單獨處理視頻播放

#serverd第二個服務虛擬服務器#訪問http://127.0.0.1:8088/6d.mp4 就可以播放視頻,而視頻6d.mp4就在E:/sh/nginx/nginx目錄下。server {listen 8088;server_name 127.0.0.1;charset utf-8,gbk;#root /usr/local/nginx/html/files; # 你的文件目錄root E:/sh/nginx/nginx; # 你的文件目錄# 顯示目錄,默認不開啟autoindex on;# 顯示文件大小# 顯示文件修改時間autoindex_localtime on;location ~ /.mp4$ {mp4;			# 支持mp4mp4_buffer_size 10m;mp4_max_buffer_size 50m;}}

7、第三個server 單獨展示圖片

#作為下載服務器配置#官方文檔:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html#作為上傳服務器# 定義緩存目錄proxy_cache_path E:/sh/nginx/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;server {listen 8081;location ~* /.(jpg|jpeg|png|gif)$ {# 開啟緩存功能proxy_cache my_cache;# 指定緩存時間(單位為秒)proxy_cache_valid any 30d;# 如果未命中緩存則從后端服務器獲取并進行緩存#proxy_pass http://backend-server;# 其他相關配置...}location ~* /.(css|js)$ {#1h代表一小時expires 1h;# 開啟緩存功能proxy_cache my_cache;# 指定緩存時間(單位為秒)proxy_cache_valid any 30d;}}

8、整個配置文件展示


#全局配置端,對全局生效,主要設置nginx的啟動用戶/組,啟動的工作進程數量,工作模式,Nginx的PID路徑,日志路徑等。
#user  nobody;
#user nginx nginx;#啟動Nginx工作進程的用戶和組
worker_processes  1; #啟動工作進程數數量
#worker_processes [number | auto]; #啟動Nginx工作進程的數量,一般設為和CPU核心數相同
#worker_cpu_affinity 00000001 00000010 00000100 00001000 | auto ; 
#將Nginx工作進程綁定到指定的CPU核心,默認Nginx是不進行進程綁定的,綁定并不是意味著當前nginx進程獨占以一核心CPU,
#但是可以保證此進程不會運行在其他核心上,這就極大減少了nginx的工作進程在不同的cpu核心上的來回跳轉,
#減少了CPU對進程的資源分配與回收以及內存管理等,因此可以有效的提升nginx服務器的性能。#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;#events設置快,主要影響nginx服務器與用戶的網絡連接,比如是否允許同時接受多個網絡連接,
#使用哪種事件驅動模型處理請求,每個工作進程可以同時支持的最大連接數,是否開啟對多工作進程下的網絡連接進行序列化等。
events {#設置單個nginx工作進程可以接受的最大并發,作為web服務器的時候最大并發數為worker_connections * worker_processes,#作為反向代理的時候為(worker_connections * worker_processes)/2worker_connections  1024;
}#http塊是Nginx服務器配置中的重要部分,緩存、代理和日志格式定義等絕大多數功能和第三方模塊都可以在這設置,
#http塊可以包含多個server塊,而一個server塊中又可以包含多個location塊,
#server塊可以配置文件引入、MIME-Type定義、日志自定義、是否啟用sendfile、連接超時時間和單個鏈接的請求上限等。
http {include       mime.types; #導入支持的文件類型,是相對于/apps/nginx/conf的目錄,在響應報文中將指定的文件擴展名映射至MIME對應的類型default_type  application/octet-stream; #除mime.types中文件類型外,設置其它文件默認類型,訪問其它類型時會提示下載不匹配的類型文件#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;#作為web服務器的時候打開sendfile加快靜態文件傳輸,指定是否使用sendfile系統調用來傳輸文件,#sendfile系統調用在兩個文件描述符之間直接傳遞數據(完全在內核中操作),從而避免了數據在內核緩沖區和用戶緩沖區之間的拷貝,#操作效率很高,被稱之為零拷貝,硬盤 >> kernel buffer (快速拷貝到kernelsocket buffer) >>協議棧。sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65; ?#長連接超時時間,單位是秒#開啟gzip壓縮,若想關閉gzip壓縮,則需要注釋掉這句話,或者將on換成off#gzip  on;#配置允許壓縮的頁面的最小字節數,頁面字節數從header頭中的Content-Length中獲>取,建議設置成1k,因為如果數據小于1k,他也會壓縮成1k,這樣會起到反作用。#gzip_min_length 1k;#4個16k的數據流用于存儲gzip的壓縮結果數據流#gzip_buffers 4 16k;#支持的http版本為1.1#gzip_http_version 1.1;#判斷客戶端是否支持gzip技術,若不支持則不會進行gzip處理#gzip_vary on;# 全局跨域配置#為 * 表示服務器可以接受所有的請求源(Origin),即接受所有跨域的請求,也可以指定一個確定的URLadd_header 'Access-Control-Allow-Origin' '*' always;#可選字段,為true表示允許發送Cookie。同時,發送時,必須設置XMLHttpRequest.withCredentials為true才有效,請求若服務器不允許瀏覽器發送,刪除該字段即可。add_header 'Access-Control-Allow-Credentials' 'true';#代表允許使用指定的方法請求該地址add_header 'Access-Control-Allow-Methods' 'GET, POST, PATCH, DELETE, PUT, OPTIONS';#代表允許在請求該地址的時候帶上指定的請求頭,例如:Content-Type,Authorization,使用逗號(,)拼接起來放在雙引號(")中add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, X-Custom-Header, Access-Control-Expose-Headers, Token, Authorization';add_header 'Access-Control-Allow-Headers'  '*';#代表著在 1728000 秒之內不用請求該地址的時候 不需要再進行預檢請求,也就是跨域緩存。add_header 'Access-Control-Max-Age' 1728000;#每個server用于定義一個虛擬主機,第一個server為默認虛擬服務器server {#設置一個虛擬機主機,可以包含自己的全局快,同時也可以包含多個location模塊。#比如本虛擬機監聽的端口、本虛擬機的名稱和IP配置,多個server 可以使用一個端口,比如都使用80端口提供web服務listen       80;?#配置server監聽的端口server_name  localhost; #本server的名稱,當訪問此名稱的時候nginx會調用當前serevr內部的配置進程匹配。#是否在響應報文中的Content-Type顯示指定的字符集,默認off不顯示#charset charset | off;#charset koi8-r;#設置編碼格式,默認是俄語格式,建議改為utf-8#示例#charset utf-8;#access_log  logs/host.access.log  main;autoindex on; # 顯示目錄,默認不開啟autoindex_localtime on;# 顯示文件修改時間 # 顯示文件大小#以http的方式轉發mp4請求到指定web服務器。#訪問 http://127.0.0.1/6d.mp4 就可以播放視頻,而視頻6d.mp4就在html/dist目錄下。location ~ /.mp4$ {#root E:\sh\nginx; # 你的文件目錄mp4;			# 支持mp4mp4_buffer_size 10m;#處理mp4初始內存大小mp4_max_buffer_size 50m;#處理mp4最大內存大小}location / {root   html/dist;#相當于默認頁面的目錄名稱,默認是安裝目錄的相對路徑,可以使用絕對路徑配置。index  index.html index.htm;#默認的頁面文件名稱#給OPTIONS 添加 204 的返回,為了處理在發送POST請求時Nginx依然拒絕訪問的錯誤,發送"預檢請求"時,需要用到方法 OPTIONS,所以服務器需要允許該方法。if ($request_method = 'OPTIONS') {return 204;}}#proxy_pass的配置詳解區別 https://blog.csdn.net/jsxztshaohaibo/article/details/134578031location /test {proxy_pass http://127.0.0.1:9016;proxy_redirect off;#關閉重定向#proxy_redirect #舊地址 新地址;#proxy_redirect default;  #默認配置#若客戶端發過來的請求header中有HOST這個字段,$http_host和$host表示的就是原始請求host,比如請求的時候HOST的值是http://demo.com,那么反代后還是http://demo.com。proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;#將$remote_addr的值放進變量X-Real-IP中,此變量名可變,$remote_addr的值為客戶端的ipproxy_set_header X-forwarded-For $proxy_add_x_forwarded_for;#獲得用戶真實ip}location /artemis {proxy_pass http://192.8.3.211:9006;}#/person/getPersonUrllocation /kcvc {add_header 'Access-Control-Allow-Origin' '*' ;add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Allow-Methods' '*';add_header 'Access-Control-Allow-Headers'  '*';add_header 'Access-Control-Max-Age' 1728000;proxy_pass http://192.8.3.211:1288;}location /about {root /app/html; #必須要在html目錄中創建一個名為about的目錄才可以訪問,否則報錯。}location /about { #注意about后不要加/ , 使用alias的時候uri后面如果加了斜杠,則下面的路徑配置必須加斜杠,否則403alias /opt/html/about; #當訪問about的時候,會顯示alias定義的/opt/html/about里面的內容。}#注意:location中使用root指令和alias指令的意義不同#root 給定的路徑對應于location中的/uri 左側的/#alias 給定的路徑對應于location中的/uri 的完整路徑#error_page  404              /404.html;#錯誤頁面的文件名稱# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;#錯誤頁面的文件名稱location = /50x.html { #location處理對應的不同錯誤碼的頁面定義到/50x.html,這個跟對應其server中定義的目錄下。root   html;#定義默認頁面所在的目錄}}#serverd第二個服務虛擬服務器#訪問http://127.0.0.1:8088/6d.mp4 就可以播放視頻,而視頻6d.mp4就在E:/sh/nginx/nginx目錄下。server {listen 8088;server_name 127.0.0.1;charset utf-8,gbk;#root /usr/local/nginx/html/files; # 你的文件目錄root E:/sh/nginx/nginx; # 你的文件目錄# 顯示目錄,默認不開啟autoindex on;# 顯示文件大小# 顯示文件修改時間autoindex_localtime on;location ~ /.mp4$ {mp4;			# 支持mp4mp4_buffer_size 10m;mp4_max_buffer_size 50m;}}#作為下載服務器配置#官方文檔:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html#作為上傳服務器# 定義緩存目錄proxy_cache_path E:/sh/nginx/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m;server {listen 8081;location ~* /.(jpg|jpeg|png|gif)$ {# 開啟緩存功能proxy_cache my_cache;# 指定緩存時間(單位為秒)proxy_cache_valid any 30d;# 如果未命中緩存則從后端服務器獲取并進行緩存#proxy_pass http://backend-server;# 其他相關配置...}location ~* /.(css|js)$ {#1h代表一小時expires 1h;# 開啟緩存功能proxy_cache my_cache;# 指定緩存時間(單位為秒)proxy_cache_valid any 30d;}}
}

9、參考proxy_pass的配置詳解區別

參考代理uri區別文章

到此,單體服務的多種使用場景從不同角度展示出來了,分享告一段落,后面會持續更新,敬請期待!

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

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

相關文章

leetcode-字符串相加

415. 字符串相加 題目中已經說明不能使用庫函數直接將輸入的字符串轉換為整數。這就需要我們自己實現大數加法的邏輯,我們可以從兩個字符串的最后一位開始,逐位相加,同時記錄進位。如果某一位相加的結果超過10,那么需要向前進位。…

javascript實現的星座查詢

今天在這個網站http://xzxys.wiicha.com/看到查詢星座幸運色的效果,想研究一下代碼,結果右鍵禁用。后來參考了一下別人的代碼,琢磨著先實現了一下星座查詢的功能,輸入月份和日期四位數后,可以查詢屬于哪個星座&#xf…

群體風暴之錘(War3地圖編輯器)

文章目錄 0、大致原理1、創建隱形單位2、新事件開端3、環境→新條件4、動作4.1、單位組4.1.1、圓范圍內單位4.1.2、指定條件 4.2、對單位組內的所有單位釋放風暴之錘 0、大致原理 真MK向目標點釋放風暴之錘時選定(以技能釋放點為圓心,設定半徑&#xff0…

Python編程語言常用的包管理工具介紹

conda是一個開源的包管理器和環境管理器,用于安裝、運行和更新包和它們的依賴項。conda可以用于Python編程語言,但它也支持其他編程語言。conda的主要特點是它能夠在不同的環境中管理不同的包集合,這使得它非常適合于數據科學和機器學習項目&…

洛谷 P1439 最長公共子序列

題目描述 給出 1,2,…,n 的兩個排列 P1? 和 P2? ,求它們的最長公共子序列。 輸入格式 第一行是一個數 n。 接下來兩行,每行為 n 個數,為自然數 1,2,…,n 的一個排列。 輸出格式 一個數,即最長公共子序列的長度。 輸入輸出…

詳解算法的時間復雜度和空間復雜度!

目錄 ?編輯 1. 算法效率 2. 時間復雜度 2.1 時間復雜度的概念 2.2 大O的表示漸進法 2.3 一個栗子 3. 空間復雜度 4. 常見復雜度對比 5. 完結散花 ??????? 悟已往之不諫,知來者猶可追 創作不易,寶子們!如果這篇文章對你們有…

Flex布局

Flex布局是一種用于創建靈活且自適應的布局模型,它使得元素能夠更好地響應不同的屏幕尺寸和設備。Flex布局基于容器和項目的概念,通過設置容器的屬性來控制項目的布局和對齊方式。 Flex布局的關鍵概念包括: 父容器(Flex容器&…

Git實戰(3)之merge與rebase區別

1,采用merge和rebase后,git log的區別,merge命令不會保留merge的分支的commit 2,處理沖突的方式: (一股腦)使用merge命令合并分支,解決完沖突,執行git add .和 git commit -mfix conflict。這個時候會產生一個commit。(交互式)使用rebase命令合并分支,解決完沖突,…

一種求最大最小值的方法(C語言)

作者在做項目時需要分析大量數據,其中需要用到最大值最小值的求解。這里分享一種簡單好用的方法,并避免在代碼中出現過多的for循環。 這個方法用到了qsort函數。 首先我們需要定義一個比較函數用來比較2個值的大小并通過返回值來表示比較的結果。 int…

STM32標準庫開發——FLASH閃存

FLASH介紹 一般來說,宣傳的FLASH的大小只是說程序存儲器的大小,不包括系統存儲器以及選項字節這倆個部分 IAP是內置在boot loader中的一道程序,可以用于輔助下載,用戶可以通過有線通信協議或者無線協議實現對程序的更新升級。 FLA…

如何使用grafana 下JSON API訪問展示接口數據

一.新增connection 點擊左側菜單欄,選擇Add new connection 下載安裝即可。 二. 增加對應url和參數 1. 添加新的數據源 2. 配置對應url 3.新建儀表盤和添加接口url和參數等

LeetCode每日一題之 移動0

前言: 我的每日一題專欄正式開始更新,我會分享關于我在LeetCode上刷題時的經驗,將經典題型拿出來詳細講解,來提升自己及大家的算法能力,希望這篇博客對大家有幫助。 題目介紹: 題目鏈接:. - …

SpringBoot+aop實現主從數據庫的讀寫分離

讀寫分離的作用是為了緩解寫庫,也就是主庫的壓力,但一定要基于數據一致性的原則,就是保證主從庫之間的數據一定要一致。如果一個方法涉及到寫的邏輯,那么該方法里所有的數據庫操作都要走主庫。 一、環境部署 數據庫:…

深入了解Java虛擬機(JVM)

Java虛擬機(JVM)是Java程序運行的核心組件,它負責解釋執行Java字節碼,并在各種平臺上執行。JVM的設計使得Java具有跨平臺性,開發人員只需編寫一次代碼,就可以在任何支持Java的系統上運行。我們剛開始學習Ja…

【leetcode】用隊列實現棧

大家好,我是蘇貝,本篇博客帶大家刷題,如果你覺得我寫的還不錯的話,可以給我一個贊👍嗎,感謝?? 點擊查看題目 思路: 在做此題之前,我們先要實現隊列,這在上個博客中已經寫過&#…

學習人工智能的方法及方向!

目錄 一、第一部分:了解人工智能 二、人工智能學習路線圖 三、職業規劃 四、未來展望 五、總結 在這個信息爆炸的時代,想要系統性地學習人工智能(AI)并找到對應方向的工作,你需要一個明確的學習路徑和職業規劃。本…

復合機器人是一種集成了移動機器人

復合機器人是一種集成了移動機器人、協作機器人和機器視覺等多項功能的新型機器人。它的開發目的是為了解決工廠物流中最后一米的問題,提供智能搬運解決方案。復合機器人不僅集成了自主移動機器人(AMR)、機械臂等工作單元,還使用了…

Java電梯模擬

Java電梯模擬 文章目錄 Java電梯模擬前言一、UML類圖二、代碼三、測試 前言 此程序為單線程簡單模擬電梯(初版),如果存在問題或者設計不合理的地方,請大家幫忙指出。 一、UML類圖 二、代碼 電梯調度器 package cn.xx.evevator;import java.util.*;pub…

#LLM入門|Prompt#2.1_第二部分:搭建基于 ChatGPT 的問答系統_簡介_Introduction

《第二部分:搭建基于 ChatGPT 的問答系統》! 本部分基于吳恩達老師與OpenAI合作開發的課程《Building Systems with the ChatGPT API》創作,旨在指導開發者基于ChatGPT的API進行智能問答系統的構建。 課程內容 課程背景: 使用C…

Web3游戲基礎設施提供商Stardust為Sui上的游戲開發者提供支持

Stardust將其在錢包服務(wallets-as-a-service)基礎設施和用戶獲取平臺方面的專業知識帶到了Sui,為游戲開發者提供了關鍵的幫助,以吸引玩家。近日,Stardust公司宣布將為Sui游戲開發者調整其成熟的錢包服務(…