" />

Nginx安装、实现反向代理及深度优化(2)

2024/4/25 20:05:38

博文大纲:

一、Nginx的安装;
二、Nginx服务实现反向代理;
三、Nginx服务优化
一、Nginx的安装

关于Nginx的基本概念,在之前的博文中:搭建Nginx服务器及其配置文件详解 有详细的介绍,这篇博文就直接从安装开始谈起。

环境准备:

三台centos 7.5,其中一台运行Nginx,另外两台运行简单的web服务即可,主要用来测试Nginx反向代理的效果;
下载我提供的包,安装Nginx时需要,用来做缓存及压缩等优化项的。

———————————————————————————————————

注(实现效果如下):

结合 proxy 和 upstream 模块实现后端 web 负载均衡;
使用 proxy 模块实现静态文件缓存;
结合 nginx 默认自带的 ngx_http_proxy_module 模块 和 ngx_http_upstream_module 模块实现后端服务器的健康检查,也可以使用第三方模块 nginx_upstream_check_module;
使用 nginx-sticky-module 扩展模块实现 保持会话;
使用 ngx_cache_purge 实现更强大的缓存清除功能;
使用ngx_brotli模块实现网页文件压缩。

上面提到的 2 个模块都属于第三方扩展模块,需要提前下好源码(我在前面的下载链接中包含着这几个模块),然后编译时通过--add-moudle=src_path 一起安装。

1、安装Nginx

[root@nginx nginx-1.14.0]# yum -y erase httpd     #卸载系统默认的httpd服务,防止端口冲突
[root@nginx nginx-1.14.0]# yum -y install openssl-devel pcre-devel    #安装所需依赖
[root@nginx src]# rz          #rz命令上传所需源码包
[root@nginx src]# ls          #确认上传的源码包
nginx-sticky-module.zip    ngx_brotli.tar.gz
nginx-1.14.0.tar.gz  ngx_cache_purge-2.3.tar.gz
#将上传的源码包进行解压
[root@nginx src]# tar zxf nginx-1.14.0.tar.gz  
[root@nginx src]# unzip nginx-sticky-module.zip 
[root@nginx src]# tar zxf ngx_brotli.tar.gz 
[root@nginx src]# tar zxf ngx_cache_purge-2.3.tar.gz 
[root@nginx src]# cd nginx-1.14.0/        #切换至nginx目录
[root@nginx nginx-1.14.0]#  ./configure --prefix=/usr/local/nginx1.14 --user=www --group=www --with-http_stub_status_module  --with-http_realip_module  --with-http_ssl_module --with-http_gzip_static_module  --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --with-pcre  --add-module=/usr/src/ngx_cache_purge-2.3  --with-http_flv_module --add-module=/usr/src/nginx-sticky-module && make && make install
#进行编译安装,并且使用“--add-module”选项加载需要的模块
#注意,以上并没有加载ngx_brotli模块,是为了稍后展示在已经安装nginx服务后,如何添加模块

关于上述的编译选项解释如下:

--with-http_stub_status_module:通过网页监控nginx的状态;
--with-http_realip_module:获取客户端的真实IP地址;
--with-http_ssl_module:开启nginx的加密传输功能;
--with-http_gzip_static_module:开启压缩功能;
--http-client-body-temp-path=/var/tmp/nginx/client:客户端访问数据临时存放路径(缓存存放的路径);
--http-proxy-temp-path=/var/tmp/nginx/proxy:同上;
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi:同上;
--with-pcre:支持正则匹配表达式;
--add-module=/usr/src/ngx_cache_purge-2.3:添加nginx的第三方模块,语法为:--add-module=第三方模块路径;
--add-module=/usr/src/nginx-sticky-module:同上;
--with-http_flv_module:支持flv视频流。

2、启动Nginx服务

[root@nginx nginx-1.14.0]# ln -s /usr/local/nginx1.14/sbin/nginx /usr/local/sbin/
#创建nginx命令的软连接,以便可以直接使用
[root@nginx nginx-1.14.0]# useradd -M -s /sbin/nologin www
[root@nginx nginx-1.14.0]# mkdir -p /var/tmp/nginx/client
[root@nginx nginx-1.14.0]# nginx -t      #检查nginx配置文件
nginx: the configuration file /usr/local/nginx1.14/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1.14/conf/nginx.conf test is successful
[root@nginx nginx-1.14.0]# nginx       #启动nginx服务
[root@nginx nginx-1.14.0]# netstat -anpt | grep ":80"    #查看80端口是否在监听
tcp   0   0 0.0.0.0:80      0.0.0.0:*        LISTEN      7584/nginx: master  

二、Nginx服务实现反向代理

在实现这个反向代理之前,这里还是要说一下,什么是反向代理?什么是正向代理?

1、正向代理

用于代理内部网络对 Internet 的连接请求(如 NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问 Web 服务器, 并将 Web 服务器返回的信息的回传给客户端,此时,这个代理服务器就是正向代理。

2、反向代理

与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就是反向代理. 反向代理服务器接受来自 Internet 的连接,然后将请求转发给内部网络上的服务器,并将 web服务器的返回信息回传给
Internet 上请求连接的客户端。

总而言之:正向代理的对象是客户端,代替客户端去访问web服务器;反向代理的对象是web服务器,代理web服务器去回应客户端。

3、Nginx配置反向代理

可以配置 nginx 作为反向代理和负载均衡,同时利用其缓存功能,将静态页面在 nginx 缓存,以达到降低后端服务器连接数的目的并检查后端 web 服务器的健康状况。

环境如下:

  • 一台Nginx服务器作为反向代理;
  • 两台后端web服务器组成web服务器池;
  • 客户端访问Nginx代理服务器,可以多次刷新页面,得到不同后端web服务器返回的页面。

开始配置Nginx服务器:

[root@nginx ~]# cd /usr/local/nginx1.14/conf/      #切换至指定目录
[root@nginx conf]# vim nginx.conf           #编辑主配置文件........................#省略部分内容
http{........................#省略部分内容
upstream backend {sticky;server 192.168.20.2:80 weight=1 max_fails=2 fail_timeout=10s;server 192.168.20.3:80 weight=1 max_fails=2 fail_timeout=10s;}........................#省略部分内容
server {
location / {#root   html;                            #将原本的根目录注释掉 #index  index.html index.htm;        #注释掉改行proxy_pass http://backend;     #这里指定的“backend”须与上面的web池名称对应。}}
}
#编辑完成后,保存退出即可。
[root@nginx conf]# nginx -t            #检查配置文件,确认无误
[root@nginx conf]# nginx -s reload        #重启nginx服务,以便生效

上述web服务器池的配置中有一个“sticky”的配置项,其实就是加载了nginx-sticky模块,这个模块的作用是通过 cookie 黏贴的方式将来自同一个客户端(浏览器)的请求发送到同一个后端服务器上处理,这样一定程度上可以解决多个 backend servers 的会话同步的问题(所谓会话同步,就好比访问页面时,登录一次即可,在一定时间段内无需再次登录,这就是会话的概念),而 RR 轮询模式必须要运维人员自己考虑 session 同步的实现。另外内置的 ip_hash 也可以实现根据客户端 IP 来分发请求,但它很容易造成负载不均衡的情况,而如果 nginx 前面有来自同一局域网的访问,它接收的客户端 IP 是一样的,容易造成负载不均衡现象。nginx-sticky-module 的 cookie 过期时间,默认浏览器关闭就过期。
这个模块并不合适不支持 Cookie 或手动禁用了 cookie 的浏览器,此时默认 sticky 就会切换成 RR。它不能与 ip_hash 同时使用。

sticky只是Nginx支持的其中一种调度算法,下面是Nginx的负载均衡模块支持的其他调度算法:

  • 轮询(默认,RR):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,故障系统被自动剔除,使用户访问不受影响。Weight 指定轮询权值,Weight 值越大,分配到的访问机率越高,主要用于后端每个服务器性能不均的情况下。
  • ip_hash : 每个请求按访问 IP 的 hash 结果分配,这样来自同一个 IP 的访客固定访问一个后端服务器,有效解决了动态网页存在的 session 共享问题。当然如果这个节点不可用了,会发到下个节点,而此时没有 session 同步的话就注销掉了。
  • least_conn :请求被发送到当前活跃连接最少的 realserver 上。会考虑 weight 的值。
  • url_hash : 此方法按访问 url 的 hash 结果来分配请求,使每个 url 定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。Nginx 本身是不支持 url_hash 的,如果需要使用这种调度算法,必须安装 Nginx 的 hash 软件包 nginx_upstream_hash 。
  • fair :这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx 本身是不支持 fair 的,如果需要使用这种调度算法,必须下载 Nginx的upstream_fair 模块。

——————————————————————————————————

关于上述配置文件中web池中web服务器IP地址后面的配置解释:

  • weight : 轮询权值也是可以用在 ip_hash 的,默认值为 1;
  • max_fails : 允许请求失败的次数,默认为 1。当超过最大次数时,返回 proxy_next_upstream模块定义的错误。
  • fail_timeout : 有两层含义,一是在 10s 时间内最多容许2次失败;二是在经历了2次失败以后,10s 时间内不分配请求到这台服务器。

web服务器池中的服务器配置如下(仅供参考,这里为了测试,只是简便的搭建了一下httpd服务):

[root@web01 ~]# yum -y install httpd            #安装httpd服务
[root@web01 ~]# echo "192.168.20.2" > /var/www/html/index.html  #两台web服务器准备不同的网页文件
[root@web01 ~]# systemctl start httpd      #启动web服务

第二台web服务器进行以上相同的操作即可,只是注意要准备不同的网页文件,以便测试负载均衡的效果。

现在就可以进行客户端访问验证了,但是需要注意的是,nginx代理服务器必须可以和两台wbe服务器进行通信。

在nginx代理服务器上访问自己本身测试(可以看到是在对web服务器池中的web服务器进行轮询):

Nginx安装、实现反向代理及深度优化(2)

若使用Windows客户端进行访问测试,由于配置文件中有“sticky”配置,所以会将每次的刷新请求还是转交给同一台web服务器,并无法测试出负载均衡的效果,只需将“sticky”那行注释掉,即可测试出负载均衡的效果。

三、Nginx服务优化

所谓优化,除了控制其工作线程以外,还有几个更重要的概念,也就是缓存及网页压缩,由于其涉及的配置项比较多,我将把完整的http{ }字段的配置文件写到下面,并注释,在博文的末尾会附上一个没有注释的http{ }字段。

在优化之前,我好像在编译安装Nginx时,故意漏掉一个模块没有加载,就是为了展示如果没有加载所需的模块,怎么进行加载?

配置如下:

[root@nginx conf]# cd /usr/src/nginx-1.14.0/     #切换至Nginx源码包
[root@nginx nginx-1.14.0]# nginx -V    #执行“ Nginx -V ”,查看已加载的模块
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx1.14 --user=www --group=www --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --with-pcre --add-module=/usr/src/ngx_cache_purge-2.3 --with-http_flv_module --add-module=/usr/src/nginx-sticky-module
[root@nginx nginx-1.14.0]# ./configure --prefix=/usr/local/nginx1.14 --user=www --group=www --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --with-pcre --add-module=/usr/src/ngx_cache_purge-2.3 --with-http_flv_module --add-module=/usr/src/nginx-sticky-module --add-module=/usr/src/ngx_brotli && make
#将上述查到的已加载的模块复制以下,重新编译以下,同时,加上需要添加的模块
#如我在上面添加了第三方模块“--add-module=/usr/src/ngx_brotli”
[root@nginx nginx-1.14.0]# mv /usr/local/nginx1.14/sbin/nginx /usr/local/nginx1.14/sbin/nginx.bak
#将原本的Nginx控制文件更改名字,备份一下
[root@nginx nginx-1.14.0]# cp objs/nginx /usr/local/nginx1.14/sbin/    
#将新生成的Nginx命令移动到相应的目录下
[root@nginx nginx-1.14.0]# ln -sf /usr/local/nginx1.14/sbin/nginx /usr/local/sbin/  
#对新的nginx命令做软连接
[root@nginx ~]# nginx -s reload                  #nginx重启一下服务

至此,新的模块就添加完成了。

1、Nginx的proxy缓存使用

缓存也就是将 js、css、image 等静态文件从后端服务器缓存到 nginx 指定的缓存目录下,既可以减轻后端服务器负担,也可以加快访问速度,但这样缓存及时清理成为了一个问题,所以需要 ngx_cache_purge 这个模块来在过期时间未到之前,手动清理缓存。

proxy 模块中常用的指令时 proxy_pass 和 proxy_cache。
nginx 的 web 缓存功能的主要是由 proxy_cache、fastcgi_cache 指令集和相关指令集完成,proxy_cache 指令负责反向代理缓存后端服务器的静态内容,fastcgi_cache 主要用来处理FastCGI 动态进程缓存(生产环境中不建议对动态页面进行缓存)。

配置如下:


http {include       mime.types;default_type  application/octet-stream;upstream backend {sticky;server 192.168.20.2:80 weight=1 max_fails=2 fail_timeout=10s;server 192.168.20.3:80 weight=1 max_fails=2 fail_timeout=10s;}log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"'     #注意删除这行后面的分号。'"$upstream_cache_status"';    #增加这一行,记录缓存的命中率到日志中access_log  logs/access.log  main;#增加以下几行配置proxy_buffering on;   #代理的时候,开启缓冲后端服务器的响应proxy_temp_path /usr/local/nginx1.14/proxy_temp;proxy_cache_path /usr/local/nginx1.14/proxy_cache levels=1:2 keys_zone=my-cache:100m inactive=600m max_size=2g;
# server字段配置如下:
server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location ~/purge(/.*) {    #这个purge字段用来实现手动清除缓存allow 127.0.0.1;allow 192.168.20.0/24;deny all;proxy_cache_purge my-cache $host$1$is_args$args;}location / {proxy_pass http://backend;#这个“/ ”字段中添加以下配置,以便配置缓存相关的proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;proxy_cache my-cache;add_header Nginx-Cache $upstream_cache_status;proxy_cache_valid 200 304 301 302 8h;proxy_cache_valid 404 1m;proxy_cache_valid any 1d;proxy_cache_key $host$uri$is_args$args;expires 30d;}
}
#编辑完成后,保存退出即可
[root@nginx conf]# nginx -t        #检查配置文件
nginx: the configuration file /usr/local/nginx1.14/conf/nginx.conf syntax 
nginx: [emerg] mkdir() "/usr/local/nginx1.10/proxy_temp" failed (2: No suc
nginx: configuration file /usr/local/nginx1.14/conf/nginx.conf test failed
#提示相应的目录没有找到
[root@nginx conf]# mkdir -p /usr/local/nginx1.10/proxy_temp    #那就创建相应的目录咯
[root@nginx conf]# nginx -t      #再次检查,OK了
nginx: the configuration file /usr/local/nginx1.14/conf/nginx.conf syntax  is ok
nginx: configuration file /usr/local/nginx1.14/conf/nginx.conf test is successful
[root@nginx conf]# nginx -s reload         #重启Nginx服务

客户端访问测试(使用的是谷歌浏览器,访问前按F12):
Nginx安装、实现反向代理及深度优化(2)

按“F5”刷新一下:
Nginx安装、实现反向代理及深度优化(2)

MISS 表示未命中,请求被传送到后端;HIT 缓存命中(因为第一次访问,Nginx服务器并没有相应网页的缓存,所以会传送到后端web,第二次刷新时,Nginx本地就有缓存了,所以是“HIT”,缓存命中)。

查看Nginx的访问日志,也可以查看到记录的缓存相关信息:


[root@nginx conf]# tail ../logs/access.log      #查看访问日志

Nginx安装、实现反向代理及深度优化(2)

客户端访问以下地址(客户端必须在 location ~/purge(/.*)允许的网段内),可以在缓存失效前,手动清除Nginx服务器上的缓存(若没有成功,先手动清除一下客户端浏览器的缓存):

我这里的图片截错了,不好意思,若需要手动清理缓存的话,如果访问时指定的URL是“192.168.20.5/index.html”,那么在清除缓存时,需要指定的URL就是“192.168.20.5/purge/index.html”,若访问时指定的URL是“192.168.20.5”,那么在手动清除缓存时,需要指定的URL是“ 192.168.20.5/purge/ ”
Nginx安装、实现反向代理及深度优化(2)

以上部分配置的相关解释如下:

  • proxy_buffering [ on | off ]; 代理的时候,开启或关闭缓冲后端服务器的响应,当开启缓冲时,nginx 尽可能快地从被代理的服务器接收响应,再将它存入缓冲区中。
  • proxy_temp_path : 缓存临时目录。后端的响应并不直接返回客户端,而是先写到一个临时文件中,然后被 rename 一下当做缓存放在 proxy_cache_path 。0.8.9 版本以后允许 temp和 cache 两个目录在不同文件系统上(分区),然而为了减少性能损失还是建议把它们设成一个文件系统上。
  • proxy_cache_path: 设置缓存目录,目录里的文件名是 cache_key 的 MD5 值。
  • levels=1:2 keys_zone=my-cache:50m 表示采用 2 级目录结构,第一层目录只有一个字符,是由levels=1:2设置,总共二层目录,子目录名字由二个字符组成。Web缓存区名称为my-cache,内存缓存空间大小为 100MB,这个缓冲 zone 可以被多次使用。文件系统上看到的缓存文件名类似于 /usr/local/nginx1.10/proxy_cache/c/29/b7f54b2df7773722d382f4809d65029c 。
  • inactive=600 max_size=2g 表示 600 分钟没有被访问的内容自动清除,硬盘最大缓存空间为2GB,超过这个值将清除最近最少使用的数据。
  • proxy_cache : 引用前面定义的缓存区 my-cache。
  • proxy_cache_key :定义如何生成缓存的键,设置 web 缓存的 key 值,nginx 根据 key 值 md5哈希存储缓存。
  • proxy_cache_valid : 为不同的响应状态码设置不同的缓存时间,比如 200、302 等正常结果可以缓存的时间长点,而 404、500 等缓存时间设置短一些,这个时间到了文件就会过期,而不论是否刚被访问过。
  • add_header 指令来设置 response header, 语法: add_header name value。
  • $upstream_cache_status 这个变量来显示缓存的状态,我们可以在配置中添加一个 http 头来显示这一状态。
    ########### $upstream_cache_status 包含以下几种状态:############
  • MISS 未命中,请求被传送到后端;
  • HIT 缓存命中;
  • EXPIRED 缓存已经过期请求被传送到后端;
  • UPDATING 正在更新缓存,将使用旧的应答;
  • STALE 后端将得到过期的应答;
  • expires : 在响应头里设置 Expires:或 Cache-Control:max-age,返回给客户端的浏览器缓存失效时间。

2、优化Nginx服务的压缩功能

更改配置文件如下(相关解释请参考博文末尾):


http {include       mime.types;default_type  application/octet-stream;brotli on;brotli_types text/plain text/css text/xml application/xml application/json;brotli_static off;       #是否允许查找预处理好的、以 .br结尾的压缩文件,可选值为on、off、always。brotli_comp_level 11;        #压缩的级别,范围是“1~14”,值越大,压缩比越高brotli_buffers 16 8k;      #读取缓冲区数量和大小brotli_window 512k;       #滑动窗口大小brotli_min_length 20;    #指定压缩数据的最小字节gzip  on;        #开启 gzip 压缩输出,减少网络传输。gzip_comp_level 6;     # gzip 压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理速度最慢(传输快但比较消耗 cpu)。gzip_http_version 1.1;    #用于识别 http 协议的版本,早期的浏览器不支持 Gzip 压缩,用户就会看到乱码,所以为了支持前期版本加上了这个选项,如果你用了 Nginx 的反向代理并期望也启用 Gzip 压缩的话,由于末端通信是 http/1.1协议,故请设置为 1.1。gzip_proxied any;     #Nginx 作为反向代理的时候启用,根据某些请求和应答来决定是否在对代理请求的应答启用 gzip 压缩,是否压缩取决于请求头中的“Via”字段,指令中可以同时指定多个不同的参数,意义如下:
# off – 关闭所有的代理结果数据的压缩
# expired – 启用压缩,如果 header 头中包含 “Expires” 头信息
# no-cache – 启用压缩,如果 header 头中包含 “Cache-# Control:no-cache” 头信息
# no-store – 启用压缩,如果 header 头中包含 “Cache-Control:no-store” 头信息
# private – 启用压缩,如果 header 头中包含 “Cache-Control:private” 头信息
# no_last_modified – 启用压缩,如果 header 头中不包含 “Last-Modified” 头信息
# no_etag – 启用压缩 ,如果 header 头中不包含 “ETag” 头信息
# auth – 启用压缩 , 如果 header 头中包含 “Authorization” 头信息
# any – 无条件启用压缩gzip_min_length 1k;gzip_buffers 16 8k;gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;gzip_vary on;      #和 http 头有关系,加个 vary 头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的 HTTP 头来判断,是否需要压缩client_max_body_size 10m;     #允许客户端请求的最大单文件字节数。如果有上传较大文件,请设置它的限制值client_body_buffer_size 128k;    #缓冲区代理缓冲用户端请求的最大字节数server_tokens off;     #隐藏 nginx 的版本号#以下是http_proxy模块:proxy_connect_timeout 75;      #nginx 跟后端服务器连接超时时间(代理连接超时)proxy_send_timeout 75;proxy_read_timeout 75;    #定义从后端服务器读取响应的超时。此超时是指相邻两次读操作之间的最长时间间隔,而不是整个响应传输完成的最长时间。如果后端服务器在超时时间段内没有传输任何数据,连接将被关闭。proxy_buffer_size 4k;    #设置缓冲区的大小为 size。nginx 从被代理的服务器读取响应时,使用该缓冲区保存响应的开始部分。这部分通常包含着一个小小的响应头。该缓冲区大小默认等于 proxy_buffers 指令设置的一块缓冲区的大小,但它也可以被设置得更小。proxy_buffers 4 32k;     #语法: proxy_buffers the_number is_size;为每个连接设置缓冲区的数量为 number,每块缓冲区的大小为 size。这些缓冲区用于保存从被代理的服务器读取的响应。每块缓冲区默认等于一个内存页的大小。这个值是 4K 还是8K,取决于平台。
#附:[root@nginx ~]# getconf PAGESIZE     #查看Linux内存页的大小
#4096proxy_busy_buffers_size 64k;    #高负荷下缓冲大小(默认大小是 proxy_buffers 指令设置单块缓冲大小的 2 倍)proxy_temp_file_write_size 64k;    #当缓存被代理的服务器响应到临时文件时,这个选项限制每次写临时文件的大小。proxy_buffering on;proxy_temp_path /usr/local/nginx1.14/proxy_temp;proxy_cache_path /usr/local/nginx1.14/proxy_cache levels=1:2 keys_zone=my-cache:100m inactive=600m max_size=2g;upstream backend {sticky;server 192.168.20.2:80 weight=1 max_fails=2 fail_timeout=10s;server 192.168.20.3:80 weight=1 max_fails=2 fail_timeout=10s;}log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"''"$upstream_cache_status"';access_log  logs/access.log  main;sendfile        on;     #开启高效文件传输模式。#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;        #长连接超时时间,单位是秒,长连接请求大量小文件的时候,可以减少重建连接的开销,如果设置时间过长,用户又多,长时间保持连接会占用大量资源。server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location ~/purge(/.*) {allow 127.0.0.1;allow 192.168.20.0/24;deny all;proxy_cache_purge my-cache $host$1$is_args$args;}location / {proxy_pass http://backend;    #请求转向 backend 定义的服务器列表,即反向代理,对应 upstream 负载均衡器。也可以proxy_pass http://ip:port。proxy_redirect off;     #指定是否修改被代理服务器返回的响应头中的 location 头域跟 refresh 头域数值
#例如:
# 设置后端服务器“Location”响应头和“Refresh”响应头的替换文本。 假设后端服务器返回的
# 响应头是 “Location: http://localhost:8000/two/some/uri/”,那么指令proxy_redirect  
# http://localhost:8000/two/ http://frontend/one/;将把字符串改写为 “Location: 
# http://frontend/one/some/uri/”。proxy_set_header Host $host;  #允许重新定义或者添加发往后端服务器的请求头。
#Host 的含义是表明请求的主机名,nginx 反向代理服务器会向后端真实服务器发送请求,
#并且请求头中的host字段重写为proxy_pass指令设置的服务器。因为nginx作为反向代理使
#用,而如果后端真实的服务器设置有类似防盗链或者根据 http 请求头中的 host 字段来进行
#路由或判断功能的话,如果反向代理层的nginx不重写请求头中的host字段,将会导致请求失败。proxy_set_header X-Real-IP $remote_addr;        
#web 服务器端获得用户的真实 ip 但是,实际上要获得用户的真实 ip,也可以通过下面的X-Forward-Forproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#后端的 Web服务器可以通过 X-Forwarded-For 获取用户真实 IP,X_Forward_For 字段
#表示该条 http 请求是有谁发起的?如果反向代理服务器不重写该请求头的话,那么后端
#真实服务器在处理时会认为所有的请求都来自反向代理服务器,如果后端有防护策略
#的话,那么机器就被封掉了。因此,在配置用作反向代理的 nginx 中一般会增加两条配置,以便修改 http 的请求头部#以下两条是修改 http 的请求头部:proxy_set_header Host $host;proxy_set_header X-Forward-For $remote_addr;proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
#增加故障转移,如果后端的服务器返回 502、504、执行超时等错误,
#自动将请求转发到upstream 负载均衡池中的另一台服务器,实现故障转移。proxy_cache my-cache;add_header Nginx-Cache $upstream_cache_status;proxy_cache_valid 200 304 301 302 8h;proxy_cache_valid 404 1m;proxy_cache_valid any 1d;proxy_cache_key $host$uri$is_args$args;expires 30d;}location /nginx_status {        stub_status on;access_log off;allow 192.168.31.0/24;deny all;}....................#省略部分内容
}
#更改完成后保存退出即可
[root@nginx nginx1.14]# nginx -t     #检查配置文件
nginx: the configuration file /usr/local/nginx1.14/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1.14/conf/nginx.conf test is successful
[root@nginx nginx1.14]# nginx -s reload        #重启Nginx服务

验证:

1、访问以下地址,可以查看Nginx服务器的状态统计页:
Nginx安装、实现反向代理及深度优化(2)

2、查看GZIP功能是否开启:
Nginx安装、实现反向代理及深度优化(2)

3、测试br压缩功能是否开启(需要使用命令行的方式访问):

Nginx安装、实现反向代理及深度优化(2)

附加:http{ }字段、server{ }字段无注释的配置文件如下:


http {include       mime.types;default_type  application/octet-stream;brotli on;brotli_types text/plain text/css text/xml application/xml application/json;brotli_static off;brotli_comp_level 11;brotli_buffers 16 8k;brotli_window 512k;brotli_min_length 20;gzip  on;gzip_comp_level 6;gzip_http_version 1.1;gzip_proxied any;gzip_min_length 1k;gzip_buffers 16 8k;gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;gzip_vary on;client_max_body_size 10m;client_body_buffer_size 128k;server_tokens off;proxy_connect_timeout 75;proxy_send_timeout 75;proxy_read_timeout 75;proxy_buffer_size 4k;proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;proxy_buffering on; proxy_temp_path /usr/local/nginx1.14/proxy_temp;proxy_cache_path /usr/local/nginx1.14/proxy_cache levels=1:2 keys_zone=my-cache:100m inactive=600m max_size=2g;upstream backend {sticky;server 192.168.20.2:80 weight=1 max_fails=2 fail_timeout=10s;server 192.168.20.3:80 weight=1 max_fails=2 fail_timeout=10s;}   log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"''"$upstream_cache_status"';access_log  logs/access.log  main;sendfile        on; #tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65; #gzip  on;server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location ~/purge(/.*) {allow 127.0.0.1;allow 192.168.20.0/24;deny all;proxy_cache_purge my-cache $host$1$is_args$args;}location / {proxy_pass http://backend;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;proxy_cache my-cache;add_header Nginx-Cache $upstream_cache_status;proxy_cache_valid 200 304 301 302 8h;proxy_cache_valid 404 1m;proxy_cache_valid any 1d;proxy_cache_key $host$uri$is_args$args;expires 30d;}location /nginx_status {stub_status on;access_log off;allow 192.168.20.0/24;deny all;}location = /50x.html {root   html;}}
}

———————— 本文至此结束,感谢阅读 ————————

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. zabbix监控redis、tomcat、Nginx

    本次博文需基于zabbix的基本环境,可参考搭建zabbix 一、配置zabbix监控redis (1)部署zabbix agent端 部署agent端详细信息、下载软件包可参考博文配置Zabbix监控之邮件报警、微信报警这里就不进行详细解释了! [root@agent ~]# tar zxf zabbix-3.2.1.tar.gz && cd …...

    2024/4/24 8:28:09
  2. Linux目录和文件高级操作精讲

    博文目录 一、Linux目录结构 二、Linux查看文件内容基础命令 三、压缩和解压缩文件 四、vi文本编辑器一、Linux目录结构 Linux目录结构采用树形目录结构,包含根目录和子目录。 1、根目录 所有分区、目录、文件等的位置起点,整个树形目录结构中,使用独立的一个“/”表示。 2、…...

    2024/4/24 8:28:02
  3. 2019款Mac Pro到底有多强

    0、 背景 2013款Mac Pro 俗称“垃圾桶”,是苹果公司2013年底向市场推出的一款图形工作站,体积只有2010款Mac Pro 的八分之一,在体积上秒杀了市面上所有工作站,而性能却提高了 4 倍。主款主机颠覆了传统立式机箱的结构布局,由三块主板竖着围成一个三角尺由此构成了一个…...

    2024/4/24 8:28:02
  4. 从心开始的CentOS学习笔记之四:查看文件和目录命令ls

    查看文件与目录命令 ls在终端模式下,linux提供了强大命令功能。命令执行格式:命令 [选项] 参数1 参数2 …… 相比Windows,linux的命令格式区分大小写;当命令太长时,可以使用反斜杠(\)来转义回车键。当加入选项时,通常选项前会带 -号,例如 ls -h ;当选项使用完整全名时…...

    2024/4/23 23:38:09
  5. 生产服务器应该选择多少位操作系统

    操作系统:CentOS1.x86_32位操作系统的特点:1)32位操作系统表示32位CPU对内存寻址的能力;2)32位操作系统可以安装在32位或64位CPU处理器上;3)对内存寻址不能超过4GB;4)为普通用户设计,满足普通办公、上网冲浪等需求,应用场景要求不是很高。2.x86_64位操作系统的特点:1)64…...

    2024/4/24 8:27:58
  6. python 操作 redis + 消息队列使用简单例子

    操作 redisimport redis redisPool = redis.ConnectionPool(host=192.168.100.50, port=6379, db=8) redis= redis.Redis(connection_pool=redisPool)redis.set(key,values) redis.get(com) redis.append(keys,values) redis.delete(keys)print(redis.getset(name,Mike)) #赋值…...

    2024/4/24 8:27:58
  7. Linux生成Java自签证书

    keytool -genkey -v -alias tomcat -keyalg RSA -keystore tomcat.keystore -validity 36500输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么?Unknown: 您的组织单位名称是什么?Unknown: 您的组织名称是什么? 您所在的城市或区域名称是什么? 您所在的省/市/自治区…...

    2024/4/24 8:27:56
  8. 第三周 用户和组的权限管理

    1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录ll /etc/[^[:alpha:]][[:alpha:]]2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。cp -r /etc/p[^[:digit:]] /tmp/mytest13、将/etc/issue文件中的…...

    2024/4/24 8:27:55
  9. 从心开始的CentOS学习笔记之三:文件和目录简介

    Linux使用树状的目录结构组织文件,简单来说就是在一个目录中放置子目录和文件,子目录中可以继续放置子目录和文件,以此类推,形似一棵树的分支。Linux的这种文件结构的起始点为“根目录”,就是“/”,是一切文件的起点。FHS(文件系统层次标准)定义了在根目录下的主要目录…...

    2024/4/24 8:27:54
  10. DevOps利器之Docker入门篇

    简介 What? Docker是基于Go语言实现的开源容器项目,诞生于2013年年初,由dotCloud公司发起,此公司后改名为Docker Inc.Docker项目已加入Linux基金会,并遵循Apache2.0协议,代码托管在Github:Docker源码地址 各大操作系统现都支持Docker,并且最新的Linux发行版RedHat、CentOS、Ub…...

    2024/4/24 8:27:56
  11. 学Linux可以在线学习吗?Linux有哪些学习模式

    随着技术时代的进步,Linux市场的地位也日渐增长。而it互联网行业这个技术高薪的领域,也不断的吸引着众多朋友们通过学习进入it行业。很多人在培训前会考虑,学Linux是要全日制学习?还是利用周末班学习Linux?那个更好一点呢?  随着技术时代的发展,Linux市场的地位也在增…...

    2024/4/24 8:27:52
  12. 线程认识

    线程是为了让程序更好的利用cpu资源,在并行/并发处理下比进程切换cpu使用所要的花销要小。在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”。一切进程至少都有一个执行线程。线程在进程内部运行,本质是在进程地址空间内运…...

    2024/4/24 8:27:54
  13. redis持久化问题处理

    这个是最近在开发的过程中遇到的问题,因为需要频繁使用redis作为中间查询操作,突然故障了,服务中止,然后抛出异常 2020-01-09 09:34:17.848 ERROR 25703 --- [ XNIO-2 task-83] o.z.p.spring.web.advice.AdviceTrait : Internal Server Errororg.springframework.data…...

    2024/4/16 15:23:29
  14. Linux服务器性能评估

    导语总结有关服务器的各项性能指标,以及如何判断服务器的性能状况出现问题,性能指标代表的含义。同时也总结Linux服务器上有关工具的各项参数含义,以及日常需要注意的参数信息。CPU使用率和负载首先需要分清楚CPU使用率和机器负载不是相同的概念,如果CPU使用率,但是不一定…...

    2024/4/15 6:45:17
  15. Tomcat 的安装与优化

    Tomcat服务器是一个免费的开源web应用服务器,属于轻量级应用服务器,在中小型系统和并发用户不是很多的场合中被普遍使用,是开发和测试JSP程序的首选。一般来说,Tomcat虽然和apache或者Nginx这些web服务器一样,具有处理HTML页面的功能,然而由于其处理静态页面的能力远不如…...

    2024/4/15 6:45:15
  16. Prometheus 删除指定 Metric

    Prometheus 删除指定 Metric Prometheus 发布以后,很长的一段时间里,是无法删除指定的 Metric 。如果你在某次测试中,有一些 Metric 的名称或者值有问题,那么你没有任何办法及时处理,只能等待数据的时间到了以后自动删除。我一度以为直到现在也是这样,最近在翻看 Prometh…...

    2024/4/16 15:23:29
  17. Linux安装及管理程序精讲

    博文目录 一、RPM包管理工具 二、安装、升级和卸载RPM软件 三、Linux应用程序基础 四、源代码编译安装一、RPM包管理工具 RPM Pachage Manager由Red Hat公司提出,被众多Linux发行版所采用。建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖…...

    2024/4/16 15:23:44
  18. 编译安装HAProxy for Ubuntu1804

    环境 OS:Ubuntu1804 haproxy: http://www.haproxy.org/download/2.0/src/haproxy-2.0.4.tar.gz lua:http://www.lua.org/ftp/lua-5.3.5.tar.gz IP:192.168.7.182 安装步骤 1.准备编译安装HAProxy的基础环境 # apt install make gcc build-essential libssl-dev zlib1g-dev libp…...

    2024/4/16 15:23:24
  19. Django无法处理HTTP PUT/DELETE请求

    后端API使用的框架是rest framework,前端通过GET获取列表,通过POST添加数据都没有问题但是通过DELETE方法进行删除操作的时候,有报错:奇怪,cookie里明明已经有了csrf的token,但是DELET方法好像就是识别不到,因而接口直接返回403查了下资料:因为POST请求,是将从csrftok…...

    2024/4/16 15:23:14
  20. k3s离线安装

    测试环境kubernetes的有点臃肿,k3s是不错的选择(主要是由于没有公网、生产环境建议是用kubernetes)k3s 默认使用的网络是fannel,如果需要其他网络cni的请自行搜索相关文档 部署环境: 系统: ubuntu 16.04组件: docker-ce18.06 (请提前安装,如果不是docker的,k3…...

    2024/4/20 4:45:12

最新文章

  1. LeetCode in Python 69. Sqrt(x) (x的平方根)

    求x的平方根,第一想法可能是遍历0~x,求其平方,找到或且但其时间复杂度为O(n),或是想到遍历0~M即可,其中M x // 2,将时间复杂度降至O()。本文利用二分思想,给出一种时间复…...

    2024/4/25 20:05:35
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. MySQL分库分表的方式有哪些

    目录 一、为什么要分库分表 二、什么是分库分表 三、分库分表的几种方式 1.垂直拆分 2. 水平拆分 四、分库分表带来的问题 五、分库分表技术如何选型 一、为什么要分库分表 如果一个网站业务快速发展,那这个网站流量也会增加,数据的压力也会随之而…...

    2024/4/22 18:31:53
  4. 同一个pdf在windows和linux中的页数不一样

    之前认为PDF的格式,至少页数是不会变化的,结果最近发现一个文档在windows和linux中的页数不一样,linux中的pdf进入像word一样排版变得紧凑了,原本在下一页的几行进入了上一页的末尾。问了gpt后得到这样的回答: PDF文档…...

    2024/4/21 6:41:42
  5. Linux mount用法

    在Linux系统中,系统自动挂载了以下挂载点: /: xfs文件系统,根文件系统, 所有其他文件系统的挂载点。 /sys: sysfs文件系统,提供内核对象的信息和接口。 /proc: proc文件系统,提供进程和系统信息。 /dev: devtmpfs文件系…...

    2024/4/24 0:39:01
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/25 11:51:20
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/25 18:39:24
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/25 18:38:39
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/25 18:39:23
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/25 18:39:22
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/25 18:39:22
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/25 18:39:20
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/25 16:48:44
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/25 13:39:44
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/25 18:39:16
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/25 0:00:17
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/25 4:19:21
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/25 18:39:12
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/25 2:10:52
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/25 18:39:00
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/25 13:19:01
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/25 18:38:58
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/25 18:38:57
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57