nginx 配置管理 - 简单也复杂

nginx 配置管理 - 简单也复杂,第1张

概述由于涉及到h5与后端交互,跨域问题,所以公司的开放测试服务器让我们自己搞nginx。顺便提升一下nginx的实践。nginx的安装,没什么难度了,百度一堆,如果源码安装就一步步来吧。(最简单的方式:yum install nginx (centos), apt-get install nginx(ubuntu))nginx.conf,作为最外层的配置文件,主要设置一些基础的配置就好了,如内存配置,日志格式配置,线程配置等,最后使用一个include conf.d/* 将其他配置文件包含进来即可。【nginx.conf 基础配置】user nginx;worker_processes auto;error_log /data/var/log/nginx/error.log debug;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;}# load modules compiled as Dynamic Shared Object (DSO)##dso {# load ngx_http_fastcgi_module.so;# load ngx_http_rewrite_module.so;#}http {include mime.types;default_type application/octet-stream;autoindex off;server_tokens off;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 20m;client_body_buffer_size 256k;sendfile on;tcp_nopush on;keepalive_timeout 60;tcp_nodelay on;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 128k;fastcgi_buffers 32 256k;fastcgi_busy_buffers_size 256k;fastcgi_temp_file_write_size 256k;gzip on;gzip_disable "msie6";gzip_vary on;gzip_comp_level 2;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.1;gzip_types text/plain application/x-javascript text/css application/xml application/javascript;log_format main '$request_time $upstream_response_time $remote_addr - $upstream_addr [$time_local] ''"$host" "$request" $status $bytes_sent ''"$http_referer" "$http_user_agent" "$gzip_ratio" "$http_x_forwarded_for" - "$server_addr" ';access_log /data/var/log/nginx/access.log main;include conf.d/*.conf;} 【conf.d/*, 具体的域名配置,http://】upstream 3ctest_x123_com {server 192.168.1.103:81;keepalive 8;}upstream mytest_x123_com {server 192.168.1.103:80;keepalive 8;}upstream 3capi_x123_com {server 192.168.1.103:9002;keepalive 8;}upstream yhapi_x123_com {server 192.168.1.103:8089;keepalive 8;}server {listen 80;server_name 3ctest.x123.com;location / {proxy_pass http://3ctest_x123_com;proxy_set_header Host $host;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 60;proxy_read_timeout 600;proxy_send_timeout 600;}}server {listen 80;server_name mytest.x123.com;location / {proxy_pass http://mytest_x123_com;proxy_set_header Host $host;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 60;proxy_read_timeout 600;proxy_send_timeout 600;}}server {listen 80;server_name 3capi.x123.com;location / {proxy_pass http://3capi_x123_com;proxy_set_header Host $host;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 60;proxy_read_timeout 600;proxy_send_timeout 600;}}server {listen 80;server_name yhapi.x123.com;location / {proxy_pass http://yhapi_x123_com;proxy_set_header Host $host;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 60;proxy_read_timeout 600;proxy_send_timeout 600;}}server {listen 80;server_name 192.168.1.22;location / {proxy_pass http://192.168.1.22;proxy_set_header Host $host;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 60;proxy_read_timeout 600;proxy_send_timeout 600;}}upstream 192.168.1.22 {server 192.168.1.22:88;keepalive 8;}【Https:// 配置】server {listen 443 ssl;server_name wx.mysite1.com;ssl on;ssl_certificate /etc/nginx/conf.d/ssl/mysite1.crt;ssl_certificate_key /etc/nginx/conf.d/ssl/mysite1.key;ssl_session_cache shared:SSL:200m;ssl_session_timeout 20m;ssl_prefer_server_ciphers on;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;location / {#proxy_set_header Host $http_host;#proxy_set_header Host $http_host;#proxy_set_header X-Forwarded-For $remote_addr;# online#proxy_redirect http://192.168.1.22/ http://$http_host/;#proxy_pass http://shmc.mysite1.com;#proxy_pass http://192.168.1.22/;#index index.html;#root /data/www/;# if ( $cookie_COOKIE ~* "(.*)$") {# set $all_cookie $1;# }# proxy_set_header Cookie "$http_cookie; node_id=018";proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;add_header Access-Control-Allow-Origin *;proxy_pass

  由于涉及到h5与后端交互,跨域问题,所以公司的开放测试服务器让我们自己搞Nginx。顺便提升一下Nginx的实践。

Nginx的安装,没什么难度了,百度一堆,如果源码安装就一步步来吧。(最简单的方式:yum install Nginx (centos),apt-get install Nginx(ubuntu)) Nginx.conf,作为最外层的配置文件,主要设置一些基础的配置就好了,如内存配置,日志格式配置,线程配置等,最后使用一个include conf.d/* 将其他配置文件包含进来即可。

【Nginx.conf 基础配置】

error_log /data/var/log/Nginx/<span >error.log deBUG;

error_log logs/<span >error.log notice;error_log logs/error.log <span >info<span >;pID logs/<span >Nginx.pID;

events {
worker_connections <span >1024<span >;
}

load modules compiled as Dynamic Shared Object (DSO)dso {load ngx_http_fastcgi_module.so;load ngx_http_rewrite_module.so;}

http {
include mime.types;
default_type application/octet-<span >stream;
autoindex off;
server_tokens off;

server_<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a>s_hash_bucket_size </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;128</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;cl<a href="https://m.jb51.cc/tag/IE/" target="_blank" >IE</a>nt_<a href="https://m.jb51.cc/tag/header/" target="_blank" >header</a>_buffer_size 32k;large_cl<a href="https://m.jb51.cc/tag/IE/" target="_blank" >IE</a>nt_<a href="https://m.jb51.cc/tag/header/" target="_blank" >header</a>_buffers </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;4</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt; 32k;cl<a href="https://m.jb51.cc/tag/IE/" target="_blank" >IE</a>nt_max_body_size 20m;cl<a href="https://m.jb51.cc/tag/IE/" target="_blank" >IE</a>nt_body_buffer_size 256k;send<a href="https://m.jb51.cc/tag/file/" target="_blank" >file</a> on;tcp_<a href="https://www.jb51.cc/tag/nop/" target="_blank" >nop</a>ush     on;keepa<a href="https://m.jb51.cc/tag/li/" target="_blank" >li</a>ve_timeout </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;60</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;tcp_nodelay on;fastcgi_connect_timeout </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;300</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;fastcgi_send_timeout </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;300</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;fastcgi_read_timeout </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;300</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;fastcgi_buffer_size 128k;fastcgi_buffers </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;32</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt; 256k;fastcgi_busy_buffers_size 256k;fastcgi_temp_<a href="https://m.jb51.cc/tag/file/" target="_blank" >file</a>_write_size 256k;</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #0000ff"&gt;gzip</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;  on;gzip_<a href="https://www.jb51.cc/tag/dis/" target="_blank" >dis</a>able </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;"</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;ms<a href="https://m.jb51.cc/tag/ie6/" target="_blank" >ie6</a></span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;"</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;gzip_<a href="https://www.jb51.cc/tag/vary/" target="_blank" >vary</a> on;gzip_comp_level </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;2</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;gzip_min_length 1k;gzip_buffers </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;4</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt; 16k;gzip_<a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>_version </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;1.1</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;gzip_types text</span>/plain app<a href="https://m.jb51.cc/tag/li/" target="_blank" >li</a>cation/x-<a href="https://m.jb51.cc/tag/JavaScript/" target="_blank" >JavaScript</a> text/<a href="https://m.jb51.cc/tag/CSS/" target="_blank" >CSS</a> app<a href="https://m.jb51.cc/tag/li/" target="_blank" >li</a>cation/xml app<a href="https://m.jb51.cc/tag/li/" target="_blank" >li</a>cation/<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;<a href="https://m.jb51.cc/tag/JavaScript/" target="_blank" >JavaScript</a>;log_format main </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;$request_time $upstream_response_time $remote_addr - $upstream_addr [$time_local] </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;"$host" "$request" $status $bytes_sent </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;"$<a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>_referer" "$<a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>_user_agent" "$gzip_ratio" "$<a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>_x_forwarded_for" - "$server_addr" </span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800000"&gt;'</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;access_log </span>/data/var/log/<a href="https://www.jb51.cc/tag/Nginx/" target="_blank" >Nginx</a>/<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;access.log main;include conf.d</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;/*</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;.conf;

}

【conf.d/*,具体的域名配置,http://】

.:.:.:.:server {
Listen
<span >80
<span >;
server_name 3ctest.x123.com;
location
/<span > {
proxy_pass http:
<span >//
<span >3ctest_x123_com;

<span > proxysetheader Host $host;
proxy_redirect off;
proxysetheader X
-Real-<span >IP $remote_addr;
proxysetheader X
-Forwarded-<span >For $proxy_add_x_forwarded_for;
proxy_connect_timeout
<span >60
<span >;
proxy_read_timeout
<span >600
<span >;
proxy_send_timeout
<span >600
<span >;
}
}

server {
Listen <span >80<span >;
server_name mytest.x123.com;
location /<span > {
proxy_pass http:<span >//<span >mytest_x123_com;
<span > proxysetheader Host $host;
proxy_redirect off;
proxysetheader X-Real-<span >IP $remote_addr;
proxysetheader X-Forwarded-<span >For $proxy_add_x_forwarded_for;
proxy_connect_timeout <span >60<span >;
proxy_read_timeout <span >600<span >;
proxy_send_timeout <span >600<span >;
}
}

server {
Listen <span >80<span >;
server_name 3cAPI.x123.com;
location /<span > {
proxy_pass http:<span >//<span >3cAPI_x123_com;
<span > proxysetheader Host $host;
proxy_redirect off;
proxysetheader X-Real-<span >IP $remote_addr;
proxysetheader X-Forwarded-<span >For $proxy_add_x_forwarded_for;
proxy_connect_timeout <span >60<span >;
proxy_read_timeout <span >600<span >;
proxy_send_timeout <span >600<span >;
}
}

server {
Listen <span >80<span >;
server_name yhAPI.x123.com;
location /<span > {
proxy_pass http:<span >//<span >yhAPI_x123_com;
<span > proxysetheader Host $host;
proxy_redirect off;
proxysetheader X-Real-<span >IP $remote_addr;
proxysetheader X-Forwarded-<span >For $proxy_add_x_forwarded_for;
proxy_connect_timeout <span >60<span >;
proxy_read_timeout <span >600<span >;
proxy_send_timeout <span >600<span >;
}
}

server {
Listen <span >80<span >;
server_name <span >192.168.<span >1.22<span >;
location /<span > {
proxy_pass http:<span >//<span >192.168.1.22;
<span > proxysetheader Host $host;
proxy_redirect off;
proxysetheader X-Real-<span >IP $remote_addr;
proxysetheader X-Forwarded-<span >For $proxy_add_x_forwarded_for;
proxy_connect_timeout <span >60<span >;
proxy_read_timeout <span >600<span >;
proxy_send_timeout <span >600<span >;
}
}

upstream <span >192.168.<span >1.22<span > {
server <span >192.168.<span >1.22:<span >88<span >;
keepalive <span >8<span >;
}

【https:// 配置】

/etc/Nginx/conf.d/ssl//etc/Nginx/conf.d/ssl/ssl_prefer_server_ciphers on;ssl_protoc<a href="https://m.jb51.cc/tag/ol/" target="_blank" >ol</a>s TLSv1 TLSv1.</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;1</span> TLSv1.<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #800080"&gt;2</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;ssl_ciphers ECDHE</span>-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aN<a href="https://m.jb51.cc/tag/ul/" target="_blank" >ul</a>L:!eN<a href="https://m.jb51.cc/tag/ul/" target="_blank" >ul</a>L:!EXPORT:!CAMEL<a href="https://m.jb51.cc/tag/li/" target="_blank" >li</a>A:!DES:!MD5:!PSK:!<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;RC4;location </span>/<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt; { #proxy_set_<a href="https://m.jb51.cc/tag/header/" target="_blank" >header</a> Host $<a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>_host;#proxy_set_<a href="https://m.jb51.cc/tag/header/" target="_blank" >header</a> Host $<a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>_host;#proxy_set_<a href="https://m.jb51.cc/tag/header/" target="_blank" >header</a> X</span>-Forwarded-<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;For $remote_addr;# on<a href="https://m.jb51.cc/tag/li/" target="_blank" >li</a>ne #proxy_redirect <a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;//</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;192.168.1.22/ <a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;//</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;$<a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>_host/;</span> #proxy_pass <a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>:<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;//</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;shmc.mysite1.com;</span>

<span >

proxy_pass http:
<span >//
<span >192.168.1.22/;

<span > #index index.HTML;

root
/data/www/<span >;
<span >if
( $cookie_cookie ~ <span >"
<span >(.)$
<span >"
<span >) {set $all_cookie $
<span >1
<span >;}proxysetheader cookie
<span >"
<span >$http_cookie; node_ID=018
<span >"
<span >;
    proxy_set_<a href="https://m.jb51.cc/tag/header/" target="_blank" >header</a> X</span>-Real-<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;IP $remote_addr;    proxy_set_<a href="https://m.jb51.cc/tag/header/" target="_blank" >header</a> X</span>-Forwarded-<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;For $proxy_add_x_forwarded_for;    proxy_set_<a href="https://m.jb51.cc/tag/header/" target="_blank" >header</a> Host $<a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>_host;add_<a href="https://m.jb51.cc/tag/header/" target="_blank" >header</a> Access</span>-Contr<a href="https://m.jb51.cc/tag/ol/" target="_blank" >ol</a>-Allow-Origin *<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #000000"&gt;;    proxy_pass          <a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;//</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;192.168.1.22;</span>

<span > proxy_redirect off;
}
}

server {
Listen <span >80<span >;
server_name wx.mysite1.com;
location /<span > {
proxysetheader Host $host;

online
    #proxy_redirect      <a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;//</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;192.168.1.22/  <a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>:</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;//</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;$<a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>_host/;</span>    #proxy_pass          <a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>:<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;//</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;shmc.mysite1.com;</span>    proxy_pass          <a href="https://m.jb51.cc/tag/http/" target="_blank" >http</a>:<span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;//</span><span https://m.jb51.cc/tag/color/" target="_blank" >color</a>: #008000"&gt;192.168.1.22/;</span>

<span > #index index.HTML;

root
/data/www/<span >;
}

}

  如上参考,应该可以解决大部分配置情况。

  需要注意的是,Nginx作为反向代理服务器,很多变量需要作特别转发,如ip地址,有问题可以先查看日志,如果语法错误,则不会被保存,这个比较好!

  Nginx作为负载均衡的重要软件,略加掌握总归是好的吧。

  其实也不难,但是没有实战的谈话总是显得苍白无力!要做到好也不简单,一个简单的优化,可以让你的用户体验更好,服务器利用率更高,有得搞!

  勉励吧诸君!

总结

以上是内存溢出为你收集整理的nginx 配置管理 - 简单也复杂全部内容,希望文章能够帮你解决nginx 配置管理 - 简单也复杂所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1050597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存