Nginx之读写分离

1.实验拓扑

Nginx之读写分离_第1张图片

       需求分析,前端一台nginx做负载均衡反向代理,后面两台httpd服务器。整个架构是提供BBS(论坛)服务,有一需求得实现读写分离,就是上传附件的功能,我们上传的附件只能上传到Web1,然后在Web1上利用rsync+inotify实现附件同步,大家都知道rsync+inotify只能是主向从同步,不能双向同步。所以Web1可进行写操作,而Web2只能进行读操作,这就带来读写分离的需求,下面我们就来说一下,读写分离怎么实现。

2.WebDAV功能说明

       WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。这样我们就能配置读写分离功能了,下面我们来具体配置一下。

3.修改配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@nginx nginx] # vim /etc/nginx/nginx.conf
server {
         listen       80;
         server_name  localhost;
         #charset koi8-r;
         #access_log  logs/host.access.log  main;
         location / {
                 proxy_pass http: //192 .168.18.202;
                 if  ($request_method =  "PUT" ){
                         proxy_pass http: //192 .168.18.201;
                 }
         }
}

4.重新加载一下配置文件

1
2
3
4
[root@nginx ~] # service nginx reload
nginx: the configuration  file  /etc/nginx/nginx .conf syntax is ok
nginx: configuration  file  /etc/nginx/nginx .conf  test  is successful
重新载入 nginx:                                           [确定]

5.配置httpd的WebDAV功能

1
[root@web1 ~] # vim /etc/httpd/conf/httpd.conf


注,在下启用就行。

6.重新启动一下httpd

1
2
3
[root@web1 ~] # service httpd restart
停止 httpd:                                               [确定]
正在启动 httpd:                                           [确定]

7.测试一下

1
2
3
4
[root@nginx ~] # curl http://192.168.18.201

web1. test .com< /h1 >

[root@nginx ~] # curl http://192.168.18.202

web2. test .com< /h1 >

注,web1与web2访问都没问题。

1
2
3
4
5
6
7
8
9
10
[root@nginx ~] # curl -T /etc/issue  http://192.168.18.202
"-//IETF//DTD HTML 2.0//EN" >
< head >
405 Method Not Allowed<</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/title</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number5 index4 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/head</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">><body></code> </div> <div class="line number6 index5 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><h1>Method Not Allowed<</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/h1</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number7 index6 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">The requested method PUT is not allowed </code> <code class="bash keyword" style="font-family:'microsoft yahei', arial, simsun;">for</code>  <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">the URL </code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/issue</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">.</code> </div> <div class="line number8 index7 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><hr></code> </div> <div class="line number9 index8 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><address>Apache</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/2</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">.2.15 (CentOS) Server at 192.168.18.202 Port 80<</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/address</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number10 index9 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/body</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">><</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/html</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> </div> </td> </tr> </tbody> </table> </div> </div> <p style="font-family:'microsoft yahei', arial, simsun;color:rgb(46,46,46);font-size:16px;line-height:24px;"> <span style="font-family:'微软雅黑', 'microsoft yahei';">注,我们上传文件到,web2上时,因为web2只人读功能,所以没有开户WebDAV功能,所以显示是405 Method Not Allowed。  <br style="font-family:'microsoft yahei', arial, simsun;"></span></p> <div style="font-family:'microsoft yahei', arial, simsun;color:rgb(46,46,46);font-size:16px;line-height:24px;"> <div class="syntaxhighlighter bash ie" id="highlighter_869682"> <table border="0"> <tbody> <tr> <td class="gutter" style="font-family:'microsoft yahei', arial, simsun;"> <div class="line number1 index0 alt2"> 1 </div> <div class="line number2 index1 alt1"> 2 </div> <div class="line number3 index2 alt2"> 3 </div> <div class="line number4 index3 alt1"> 4 </div> <div class="line number5 index4 alt2"> 5 </div> <div class="line number6 index5 alt1"> 6 </div> <div class="line number7 index6 alt2"> 7 </div> <div class="line number8 index7 alt1"> 8 </div> <div class="line number9 index8 alt2"> 9 </div> <div class="line number10 index9 alt1"> 10 </div> <div class="line number11 index10 alt2"> 11 </div> </td> <td class="code" style="font-family:'microsoft yahei', arial, simsun;"> <div> <div class="line number1 index0 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">[root@nginx ~]</code> <code class="bash comments" style="font-family:'microsoft yahei', arial, simsun;"># curl -T /etc/issue  http://192.168.18.201</code> </div> <div class="line number2 index1 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><!DOCTYPE HTML PUBLIC </code> <code class="bash string" style="font-family:'microsoft yahei', arial, simsun;">"-//IETF//DTD HTML 2.0//EN"</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number3 index2 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><html><</code> <code class="bash functions" style="font-family:'microsoft yahei', arial, simsun;">head</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number4 index3 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><title>403 Forbidden<</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/title</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number5 index4 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/head</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">><body></code> </div> <div class="line number6 index5 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><h1>Forbidden<</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/h1</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number7 index6 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">You don't have permission to access </code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/issue</code> </div> <div class="line number8 index7 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">on this server.</code> </div> <div class="line number9 index8 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><hr></code> </div> <div class="line number10 index9 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><address>Apache</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/2</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">.2.15 (CentOS) Server at 192.168.18.201 Port 80<</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/address</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number11 index10 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/body</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">><</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/html</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> </div> </td> </tr> </tbody> </table> </div> </div> <p style="font-family:'microsoft yahei', arial, simsun;color:rgb(46,46,46);font-size:16px;line-height:24px;"> <span style="font-family:'微软雅黑', 'microsoft yahei';">注,我们在Web1开启了WebDAV功能,但我们目录是root目录是不允许apache用户上传的,所以显示的是403 Forbidden。下面我们给apache授权,允许上传。</span><br></p> <div style="font-family:'microsoft yahei', arial, simsun;color:rgb(46,46,46);font-size:16px;line-height:24px;"> <div class="syntaxhighlighter bash ie" id="highlighter_46104"> <table border="0"> <tbody> <tr> <td class="gutter" style="font-family:'microsoft yahei', arial, simsun;"> <div class="line number1 index0 alt2"> 1 </div> </td> <td class="code" style="font-family:'microsoft yahei', arial, simsun;"> <div> <div class="line number1 index0 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">[root@web1 ~]</code> <code class="bash comments" style="font-family:'microsoft yahei', arial, simsun;"># setfacl -m u:apache:rwx /var/www/html/</code> </div> </div> </td> </tr> </tbody> </table> </div> </div> <p style="font-family:'microsoft yahei', arial, simsun;color:rgb(46,46,46);font-size:16px;line-height:24px;"> <span style="font-family:'微软雅黑', 'microsoft yahei';">下面我们再来测试一下,</span></p> <div style="font-family:'microsoft yahei', arial, simsun;color:rgb(46,46,46);font-size:16px;line-height:24px;"> <div class="syntaxhighlighter bash ie" id="highlighter_144788"> <table border="0"> <tbody> <tr> <td class="gutter" style="font-family:'microsoft yahei', arial, simsun;"> <div class="line number1 index0 alt2"> 1 </div> <div class="line number2 index1 alt1"> 2 </div> <div class="line number3 index2 alt2"> 3 </div> <div class="line number4 index3 alt1"> 4 </div> <div class="line number5 index4 alt2"> 5 </div> <div class="line number6 index5 alt1"> 6 </div> <div class="line number7 index6 alt2"> 7 </div> <div class="line number8 index7 alt1"> 8 </div> <div class="line number9 index8 alt2"> 9 </div> <div class="line number10 index9 alt1"> 10 </div> </td> <td class="code" style="font-family:'microsoft yahei', arial, simsun;"> <div> <div class="line number1 index0 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">[root@nginx ~]</code> <code class="bash comments" style="font-family:'microsoft yahei', arial, simsun;"># curl -T /etc/issue  http://192.168.18.201</code> </div> <div class="line number2 index1 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><!DOCTYPE HTML PUBLIC </code> <code class="bash string" style="font-family:'microsoft yahei', arial, simsun;">"-//IETF//DTD HTML 2.0//EN"</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number3 index2 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><html><</code> <code class="bash functions" style="font-family:'microsoft yahei', arial, simsun;">head</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number4 index3 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><title>201 Created<</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/title</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number5 index4 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/head</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">><body></code> </div> <div class="line number6 index5 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><h1>Created<</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/h1</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number7 index6 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">Resource </code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/issue</code>  <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">has been created.</code> </div> <div class="line number8 index7 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><hr /></code> </div> <div class="line number9 index8 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><address>Apache</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/2</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">.2.15 (CentOS) Server at 192.168.18.201 Port 80<</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/address</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> <div class="line number10 index9 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;"><</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/body</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">><</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">/html</code> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">></code> </div> </div> </td> </tr> </tbody> </table> </div> </div> <p style="font-family:'microsoft yahei', arial, simsun;color:rgb(46,46,46);font-size:16px;line-height:24px;"> <span style="font-family:'微软雅黑', 'microsoft yahei';">注,大家可以看到我们成功的上传了文件,说明nginx读写分离功能配置完成。最后,我们来查看一下上传的文件。</span></p> <div style="font-family:'microsoft yahei', arial, simsun;color:rgb(46,46,46);font-size:16px;line-height:24px;"> <div class="syntaxhighlighter bash ie" id="highlighter_69653"> <table border="0"> <tbody> <tr> <td class="gutter" style="font-family:'microsoft yahei', arial, simsun;"> <div class="line number1 index0 alt2"> 1 </div> <div class="line number2 index1 alt1"> 2 </div> <div class="line number3 index2 alt2"> 3 </div> <div class="line number4 index3 alt1"> 4 </div> <div class="line number5 index4 alt2"> 5 </div> <div class="line number6 index5 alt1"> 6 </div> </td> <td class="code" style="font-family:'microsoft yahei', arial, simsun;"> <div> <div class="line number1 index0 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">[root@web1 ~]</code> <code class="bash comments" style="font-family:'microsoft yahei', arial, simsun;"># cd /var/www/html/</code> </div> <div class="line number2 index1 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">[root@web1 html]</code> <code class="bash comments" style="font-family:'microsoft yahei', arial, simsun;"># ll</code> </div> <div class="line number3 index2 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">总用量 12</code> </div> <div class="line number4 index3 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">drwxr-xr-x 2 root   root   4096 9月   4 13:16 forum</code> </div> <div class="line number5 index4 alt2"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">-rw-r--r-- 1 root   root     23 9月   3 23:37 index.html</code> </div> <div class="line number6 index5 alt1"> <code class="bash plain" style="font-family:'microsoft yahei', arial, simsun;">-rw-r--r-- 1 apache apache   47 9月   4 14:06 issue</code> </div> </div> </td> </tr> </tbody> </table> </div> </div> <p style="font-family:'microsoft yahei', arial, simsun;color:rgb(46,46,46);font-size:16px;line-height:24px;"> <span style="font-family:'微软雅黑', 'microsoft yahei';">好了,到这里nginx的反向代理、负载均衡、页面缓存、URL重写及读写分离就全部讲解完成。希望大家有所收获,^_^……</span></p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1276421244832464896"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Nginx,漫漫编程路)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1950185537319006208.htm" title="新手如何通过github pages静态网站托管搭建个人网站和项目站点" target="_blank">新手如何通过github pages静态网站托管搭建个人网站和项目站点</a> <span class="text-muted">vvandre</span> <a class="tag" taget="_blank" href="/search/Web%E6%8A%80%E6%9C%AF/1.htm">Web技术</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>一、githubpages静态网站托管介绍githubpages它是一个免费快捷的静态网站托管服务。对比传统建站,它有哪些优点呢?在传统方式中,首先要租用服务器,服务器上需要运行外部程序,还需要再购买域名,要配置SSL证书,最后还要配置DNS,将域名解析到服务器。这一套繁琐操作,基本上就把小白劝退了。graphTDA[租用服务器]-->B[部署Web应用(运行外部程序,如Nginx)]B-->C[</div> </li> <li><a href="/article/1950178478011772928.htm" title="全面解析:Spring Gateway如何优雅处理微服务的路由转发?" target="_blank">全面解析:Spring Gateway如何优雅处理微服务的路由转发?</a> <span class="text-muted">万猫学社</span> <a class="tag" taget="_blank" href="/search/gateway/1.htm">gateway</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>SpringGateway简介SpringGateway,这是一个基于Spring5、SpringBoot2和ProjectReactor的API网关。它旨在为微服务架构提供一个简单、有效的统一的API路由、限流、熔断等功能。在微服务的世界里,SpringGateway就像一个交通警察,负责指挥和引导各个微服务之间的交通。相较于其他的网关技术,比如Nginx、Zuul等,SpringGateway</div> </li> <li><a href="/article/1950119980049690624.htm" title="云服务器如何搭建多站点?Nginx多域名部署方案详解 (2025)" target="_blank">云服务器如何搭建多站点?Nginx多域名部署方案详解 (2025)</a> <span class="text-muted"></span> <div>更多云服务器知识,尽在hostol.com当你拥有了第一台云服务器时,那种感觉,就如同得到了一块充满无限可能的“数字画布”。很多人的第一反应是,将自己最心爱的那个域名和网站部署上去,看着它在互联网上成功“点亮”。但是,随着你的项目增多、想法迸发,你可能会开始思考一个极具性价比的问题:我能在这同一台服务器上,再多放几个网站吗?比如,除了我的主博客之外,再放一个作品集网站,一个用于测试的开发站点,甚至</div> </li> <li><a href="/article/1950118087764275200.htm" title="【服务器知识】nginx配置ipv6支持" target="_blank">【服务器知识】nginx配置ipv6支持</a> <span class="text-muted">问道飞鱼</span> <a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9B%B8%E5%85%B3/1.htm">服务器相关</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/ipv6/1.htm">ipv6</a> <div>nginx配置ipv6支持Nginx全面支持IPv6配置指南一、基础IPv6配置1.启用IPv6监听2.IPv6地址格式说明二、高级IPv6配置1.双栈配置优化2.IPv6访问控制3.IPv6反向代理三、SSL/TLS配置1.IPv6SSL证书配置2.HSTS包含IPv6四、性能优化1.内核参数调优2.Nginx调优参数五、安全加固1.IPv6DDoS防护2.防止地址欺骗六、IPv6测试与诊断1.</div> </li> <li><a href="/article/1950089974804180992.htm" title="9、Docker Compose 实战" target="_blank">9、Docker Compose 实战</a> <span class="text-muted">小醉你真好</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2%E4%B8%8D%E6%B1%82%E4%BA%BA/1.htm">部署不求人</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>DockerCompose实战教程(含完整Nginx案例+配置项详解)适合读者:开发者、后端工程师、运维工程师、初学者环境要求:CentOS9+Docker已安装教程亮点:实战驱动、配置项详解、挂载说明、可直接复制使用标签:#Docker#DockerCompose#运维实战#Nginx部署一、什么是DockerCompose?DockerCompose是Docker官方推出的多容器应用编排工具,</div> </li> <li><a href="/article/1950035646378733568.htm" title="深入剖析Nginx" target="_blank">深入剖析Nginx</a> <span class="text-muted">书火网_firebook</span> <div>想邀看书之《深入剖析Nginx》一个不会点运维的后端程序员,不是个合格的码农传送门:https://fire100.top/detail?rId=155少年辛苦终身事,莫向光阴惰寸功!</div> </li> <li><a href="/article/1949962369941696512.htm" title="零基础学习性能测试第九章:全链路追踪-系统中间件节点监控" target="_blank">零基础学习性能测试第九章:全链路追踪-系统中间件节点监控</a> <span class="text-muted">试着</span> <a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/1.htm">性能测试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/1.htm">性能测试</a><a class="tag" taget="_blank" href="/search/%E9%9B%B6%E5%9F%BA%E7%A1%80/1.htm">零基础</a> <div>目录一、为什么需要监控中间件节点?二、主流中间件监控方案1.监控体系架构2.监控工具矩阵三、环境搭建实战1.部署Prometheus2.部署Grafana四、中间件监控配置实战1.Nginx监控2.Redis监控3.Kafka监控4.MySQL监控五、全链路追踪中的中间件监控1.SkyWalking与Prometheus集成2.全链路视角的中间件监控六、性能瓶颈定位实战1.瓶颈分析流程图2.典型瓶</div> </li> <li><a href="/article/1949834758305411072.htm" title="AI-调查研究-26-【时间管理】全球不同人群社交媒体使用时间情况" target="_blank">AI-调查研究-26-【时间管理】全球不同人群社交媒体使用时间情况</a> <span class="text-muted">武子康</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/DeepSearch/1.htm">DeepSearch</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%8F%91%E5%B1%95/1.htm">职场发展</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%8F%91/1.htm">个人开发</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E4%BA%BA%E7%94%9F/1.htm">程序人生</a> <div>点一下关注吧!!!非常感谢!!持续更新!!!AI篇持续更新中!(长期更新)AI炼丹日志-29-字节跳动DeerFlow深度研究框斜体样式架私有部署测试上手架构研究,持续打造实用AI工具指南!Java篇正式开启!(300篇)目前2025年07月10日更新到:Java-68深入浅出分布式服务Netty实现自定义RPC附详细代码MyBatis已完结,Spring已完结,Nginx已完结,Tomcat已完</div> </li> <li><a href="/article/1949675764353921024.htm" title="宝塔开放php openssl,[教程]Centos宝塔面板升级openssl增强nginxSSL安全性,openssl开启Http/2,Centos升级openssl..." target="_blank">宝塔开放php openssl,[教程]Centos宝塔面板升级openssl增强nginxSSL安全性,openssl开启Http/2,Centos升级openssl...</a> <span class="text-muted">weixin_39956353</span> <a class="tag" taget="_blank" href="/search/%E5%AE%9D%E5%A1%94%E5%BC%80%E6%94%BEphp/1.htm">宝塔开放php</a><a class="tag" taget="_blank" href="/search/openssl/1.htm">openssl</a> <div>由于本站是采用的Centos7+宝塔面板搭建的LNMP环境,但是Centos7默认的openssl版本又太低,根据“漏洞参考这里:https://www.trustasia.com/OpenSSL-CVE-2016-2107-Padding-Oracle”查看这篇文章发现openssl低版本已经有一堆漏洞了,所以就萌生了升级openssl版本的想法。配置完后如图:openssl版本低会导致无论你怎</div> </li> <li><a href="/article/1949672738595598336.htm" title="宝塔面板启用 QUIC 与 Brotli 的完整教程" target="_blank">宝塔面板启用 QUIC 与 Brotli 的完整教程</a> <span class="text-muted">阿甘知识库</span> <a class="tag" taget="_blank" href="/search/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF/1.htm">宝塔面板</a><a class="tag" taget="_blank" href="/search/QUIC/1.htm">QUIC</a><a class="tag" taget="_blank" href="/search/http3/1.htm">http3</a><a class="tag" taget="_blank" href="/search/Brotli/1.htm">Brotli</a> <div>环境系统:Ubuntu22.04.4LTSx86_64宝塔版本:7.7.0(可使用本博客提供的一键安装优化脚本)nginx版本:1.26.1开放UDP端口注意:在你的服务器商家那里也要开放443udp端口sudoufwallow443/udp然后重新加载UFW以使新规则生效:sudoufwreload安装ngx_brotli模块cd/www/servergitclone--recurse-subm</div> </li> <li><a href="/article/1949649423504044032.htm" title="搭建集群架构" target="_blank">搭建集群架构</a> <span class="text-muted"></span> <div>环境搭建进行规划(磨刀不误砍柴工).集群架构组成说明.负载均衡服务器使用Nginx做搭建,(nginx反向代理软件)Nginx01Nginx023台Web网站服务器,Nginx网站web服务功能2台负载均衡服务器(对网站的流量进行分流,减少流量对某台服务器的压力)3台web服务器,(处理用户网页页面访问请求)1台数据库服务器(Mysql服务器,提供动态变化数据存储)1台存储服务器()NFS存储--</div> </li> <li><a href="/article/1949587764785770496.htm" title="Nginx 安装与 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服务器" target="_blank">Nginx 安装与 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服务器</a> <span class="text-muted">QingyunChen</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>Nginx安装与HTTPS配置指南:使用OpenSSL搭建安全Web服务器一、Nginx安装1.安装依赖项sudoyumgroupinstall"DevelopmentTools"-y#非必须sudoyuminstallpcrepcre-develzlibzlib-developensslopenssl-devel-y2.下载Nginxwgethttp://nginx.org/download/n</div> </li> <li><a href="/article/1949493566770311168.htm" title="3种LVS/Nginx/HAProxy负载均衡器的对比分析" target="_blank">3种LVS/Nginx/HAProxy负载均衡器的对比分析</a> <span class="text-muted">Witch_Soya</span> <a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a> <div>3种LVS/Nginx/HAProxy负载均衡器的对比分析现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术:一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用;另外一种就是类</div> </li> <li><a href="/article/1949493314705223680.htm" title="0基础纯新手小白也能成大神 之 LVS负载均衡" target="_blank">0基础纯新手小白也能成大神 之 LVS负载均衡</a> <span class="text-muted">Wezzer</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a><a class="tag" taget="_blank" href="/search/lvs/1.htm">lvs</a> <div>LVS负载均衡集群理论目录LVS负载均衡集群理论一、概述1、集群概述1.1、集群介绍1.2、集群类型1.3、负载均衡技术类型1.4、负载均衡实现方式2、LVS介绍3、LVS和nginx区别4、LVS相关术语5、LVS负载均衡算法5.1、静态负载均衡5.2、动态负载均衡二、三种LVS工作模式详解1、基于NAT的LVS模式负载均衡1.1、工作原理1.2、LVS-NAT模型的特性1.3、NAT的优点1.</div> </li> <li><a href="/article/1949491673499234304.htm" title="高性能反向代理与负载均衡 HAProxy 与 Nginx" target="_blank">高性能反向代理与负载均衡 HAProxy 与 Nginx</a> <span class="text-muted">程序员乐逍遥</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E4%B8%93%E9%A2%98/1.htm">系统架构专题</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>在现代高并发Web架构中,HAProxy和Nginx是两个非常重要的工具。它们在反向代理、负载均衡、SSL终止、缓存、限流等方面发挥着关键作用。一、HAProxy与Nginx简介1.HAProxy简介HAProxy(HighAvailabilityProxy)是一个使用C语言编写的高性能TCP/HTTP负载均衡器和代理服务器,广泛用于企业级Web架构中。它专注于提供高可用性、负载均衡和代理服务,尤</div> </li> <li><a href="/article/1949486005627187200.htm" title="在 Windows 使用 Nginx/HAProxy 实现负载均衡" target="_blank">在 Windows 使用 Nginx/HAProxy 实现负载均衡</a> <span class="text-muted">程序员乐逍遥</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E4%B8%93%E9%A2%98/1.htm">系统架构专题</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a> <div>在本实验中,我们将在Windows系统上使用Python编写一个TCP服务器,并启动两个服务实例。然后使用Nginx或HAProxy作为负载均衡器,将来自多个客户端的请求分发到这两个服务实例上,验证负载均衡效果。环境准备操作系统:Windows10/Windows11Python3.x(建议使用Python3.10+)NginxforWindows或HAProxyforWindows10个客户端(</div> </li> <li><a href="/article/1949485879403802624.htm" title="使用vllm创建相同模型的多个实例,使用nginx进行负载均衡,提高模型吞吐量" target="_blank">使用vllm创建相同模型的多个实例,使用nginx进行负载均衡,提高模型吞吐量</a> <span class="text-muted"></span> <div>背景要提高vllm部署的大模型吞吐量,可以从显存利用率优化、多实例部署、参数调优和流程优化等多个维度入手,以下是具体建议:一、提高gpu-memory-utilization的效果与操作gpu-memory-utilization控制vllm预分配的GPU内存比例(默认0.9),当前值0.35预留了过多显存,是吞吐量低的重要原因。提升空间:合理提高该值可显著增加批处理能力。例如从0.35提升到0.</div> </li> <li><a href="/article/1949459858382188544.htm" title="你的一个箭头函数让我找了几天" target="_blank">你的一个箭头函数让我找了几天</a> <span class="text-muted">JsLin_</span> <div>同事的h5的相关内容给我接手了,上线后发现好多手机浏览器不显示内容,就是这个问题断断续续找了有两个星期的时间,迫使我把他的h5相关的内容用react重构了一遍,重构完又发现一大堆事情。先抱怨下吧首先,一个网站的域名竟然不指定首页?大图片资源不压缩?找了一段时间,没找到原因,迫使我把它的代码用react重构了,也正好练练手。重构完了之后,发现运维那里的以前的工程nginx部署没有指定主页,才发现官网</div> </li> <li><a href="/article/1949452601607122944.htm" title="Nginx 配置详解" target="_blank">Nginx 配置详解</a> <span class="text-muted"></span> <div>Nginx配置的上下文(Context)默认情况下,nginx配置文件可以位于:/etc/nginx/nginx.conf/usr/local/etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf配置文件的位置会根据Nginx的安装过程而有所不同。在Nginx的配置文件中,上下文(Context)是一种逻辑组织方式,用来将相关的配置指令集合在一起</div> </li> <li><a href="/article/1949446042135097344.htm" title="HTTP/2:突破性能瓶颈的Web传输革命" target="_blank">HTTP/2:突破性能瓶颈的Web传输革命</a> <span class="text-muted">止观止</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a> <div>当用户面临页面加载延迟时——如在购物车或视频会议场景——根源常可追溯到HTTP/1.1协议的限制。历史实践(如CDN分发)在现代高并发需求下逐渐失效,实测显示HTTP/1.1固有缺陷导致显著性能损失。面对这一瓶颈,协议升级成为必经之路。本文将解析HTTP/2技术内核,揭示二进制分帧与多路复用如何重构传输范式。您将掌握从协议原理(RFC7540基础)到Nginx配置的实践路径,理解HPACK压缩算法</div> </li> <li><a href="/article/1949368255718158336.htm" title="同一个端口无法同时配置基于 server_name 的 HTTP(非加密)和 HTTPS(加密)" target="_blank">同一个端口无法同时配置基于 server_name 的 HTTP(非加密)和 HTTPS(加密)</a> <span class="text-muted">liweiweili126</span> <a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/https/1.htm">https</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a> <div>在Nginx中,同一个端口无法同时配置基于server_name的HTTP(非加密)和HTTPS(加密)两个虚拟主机,这是由网络协议和Nginx处理机制共同决定的。核心原因:HTTP和HTTPS的本质区别HTTP:基于明文传输,客户端与服务器建立连接后直接发送请求(包括Host头,用于Nginx识别server_name)。HTTPS:基于TLS加密传输,连接建立前会先进行TLS握手(客户端验证服</div> </li> <li><a href="/article/1949297253734739968.htm" title="就是要让你搞懂Nginx,这篇就够了!" target="_blank">就是要让你搞懂Nginx,这篇就够了!</a> <span class="text-muted">猿天下</span> <div>Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。Nginx专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告Nginx能支持高达50000个并发连接数。Nginx知识网结构图Nginx的知识网结构图如下:反向代理正向代理:局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,</div> </li> <li><a href="/article/1949218202231828480.htm" title="nginx路径替换:`rewrite`,`root`,`alias`,`proxy_pass` 笔记250726" target="_blank">nginx路径替换:`rewrite`,`root`,`alias`,`proxy_pass` 笔记250726</a> <span class="text-muted">kfepiza</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E9%80%9A%E8%AE%AF%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE/1.htm">网络通讯传输协议</a><a class="tag" taget="_blank" href="/search/IP/1.htm">IP</a><a class="tag" taget="_blank" href="/search/TCP/1.htm">TCP</a><a class="tag" taget="_blank" href="/search/UDP/1.htm">UDP</a><a class="tag" taget="_blank" href="/search/%E7%89%A9%E8%81%94/1.htm">物联</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>nginx路径替换:rewrite,root,alias,proxy_pass笔记250726在Nginx中,rewrite、root、alias和proxy_pass都是处理路径的核心指令,但它们的工作方式和应用场景有显著差异。以下是深度对比和实用指南:一、指令功能对比指令主要用途是否改变URI处理阶段适用场景root设置静态文件根目录❌不改变内容处理阶段静态资源服务alias路径别名(精确替换</div> </li> <li><a href="/article/1949197762411163648.htm" title="k8s:利用kubectl部署nginx" target="_blank">k8s:利用kubectl部署nginx</a> <span class="text-muted">云游</span> <a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>本文介绍了在离线环境下基于HygonC86处理器和麒麟操作系统部署HTTPS服务的完整流程。首先通过CA签发服务器证书并创建KubernetesSecret存储证书密钥,然后配置Nginx服务(包含HTTP/HTTPS监听端口),接着创建PV/PVC存储和部署Nginx容器,最后通过NodePort服务暴露端口。关键步骤包括:1)使用ConfigMap管理Nginx配置;2)通过Secret挂载T</div> </li> <li><a href="/article/1949197383871033344.htm" title="linux----docker配置nginx详细教程" target="_blank">linux----docker配置nginx详细教程</a> <span class="text-muted">黑子哥呢?</span> <a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>在Docker中配置Nginx涉及多个步骤,包括拉取Nginx镜像、运行Nginx容器、配置Nginx以及管理Nginx容器等。以下是一个详细的指南:一、拉取Nginx镜像首先,需要从DockerHub拉取官方的Nginx镜像。可以使用以下命令:dockerpullnginx或者,如果需要特定版本的Nginx,可以指定版本号,例如:dockerpullnginx:stable#拉取最新稳定版本do</div> </li> <li><a href="/article/1949192341898194944.htm" title="Docker Nginx安装使用指南及常见问题解决" target="_blank">Docker Nginx安装使用指南及常见问题解决</a> <span class="text-muted">飘逸徜徉在自由的云端</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/eureka/1.htm">eureka</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E5%AD%A6%E4%B9%A0/1.htm">编程学习</a> <div>Docker是一种流行的容器化平台,而Nginx是一款高性能的Web服务器和反向代理服务器。将它们结合起来使用可以为开发人员和系统管理员提供便捷的部署和管理方式。本文将介绍如何在Docker中安装和使用Nginx,并总结一些常见的问题及其解决方法。1.安装Docker在开始之前,您需要先安装Docker。Docker提供了跨平台的安装包,您可以根据您的操作系统选择相应的安装方式。在安装完Docke</div> </li> <li><a href="/article/1949170031761879040.htm" title="ARM46+KylinOS 环境下 Docker 安装与 Nginx 镜像操作实践" target="_blank">ARM46+KylinOS 环境下 Docker 安装与 Nginx 镜像操作实践</a> <span class="text-muted"></span> <div>目录一、背景知识储备1.ARM46架构概述2.KylinOS操作系统简介3.Docker与Nginx技术原理二、Docker安装前准备1.系统环境检查2.安装依赖包三、Docker安装过程1.添加Docker官方GPG密钥2.添加Docker软件源3.安装Docker四、安装过程中的错误及解决1.错误过程2.错误原因分析3.解决方法五、Nginx镜像操作1.拉取Nginx镜像2.查看镜像3.启动N</div> </li> <li><a href="/article/1949109248919138304.htm" title="CentOS 8文件描述符耗尽检测与处理实战指南" target="_blank">CentOS 8文件描述符耗尽检测与处理实战指南</a> <span class="text-muted">tianyuanwo</span> <a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0%E7%AC%A6/1.htm">文件描述符</a> <div>当服务器出现“Toomanyopenfiles”错误时,意味着文件描述符(FileDescriptor)资源已耗尽。这种故障可能导致服务崩溃、连接拒绝等严重后果。本文将带你快速定位问题并彻底解决。一、为什么文件描述符如此重要?文件描述符是操作系统管理打开文件、网络套接字、管道等资源的核心机制。每个进程默认限制为1024个,高并发场景下极易耗尽,引发:服务崩溃(Nginx/MySQL/Tomcat等</div> </li> <li><a href="/article/1949040268716077056.htm" title="k8s 中的 deployment,statefulset,daemonset 控制器的区别" target="_blank">k8s 中的 deployment,statefulset,daemonset 控制器的区别</a> <span class="text-muted">Jy_0622</span> <a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a> <div>1.Deployment:无状态应用的守护者核心目标:管理无状态应用的Pod副本,提供滚动更新、回滚和扩缩容能力。关键特性:副本管理:确保指定数量(replicas)的Pod始终运行。滚动更新:逐步替换Pod,实现零停机更新。回滚能力:一键回滚到历史版本。随机Pod:Pod名称和IP不固定(如nginx-deploy-5d89bdfb54-7xqkz)。存储共享:所有Pod挂载相同的存储(PVC)</div> </li> <li><a href="/article/1949014303768113152.htm" title="Nginx 平滑升级/回滚" target="_blank">Nginx 平滑升级/回滚</a> <span class="text-muted">竹竿袅袅</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>平滑升级和回滚的前提条件是nginx已经安装好,源码安装nginx可参考上一篇文章。在上一篇文章的基础上,nginx已安装好且已启动,目前是1.24版本。一、平滑升级Nginx的平滑升级(热升级)是一种不中断服务即可更新Nginx版本的核心功能,其设计基于多进程模型和UNIX信号机制。上面源码安装的是1.24版本的Nginx,现在到官网下载1.26版本Nginx做平滑升级实验。Nginx官网:ww</div> </li> <li><a href="/article/58.htm" title="多线程编程之理财" target="_blank">多线程编程之理财</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E4%BA%A7%E8%80%85/1.htm">生产者</a><a class="tag" taget="_blank" href="/search/%E6%B6%88%E8%B4%B9%E8%80%85/1.htm">消费者</a><a class="tag" taget="_blank" href="/search/%E7%90%86%E8%B4%A2/1.htm">理财</a> <div>      现实生活中,我们一边工作,一边消费,正常情况下会把多余的钱存起来,比如存到余额宝,还可以多挣点钱,现在就有这个情况:我每月可以发工资20000万元 (暂定每月的1号),每月消费5000(租房+生活费)元(暂定每月的1号),其中租金是大头占90%,交房租的方式可以选择(一月一交,两月一交、三月一交),理财:1万元存余额宝一天可以赚1元钱,</div> </li> <li><a href="/article/185.htm" title="[Zookeeper学习笔记之三]Zookeeper会话超时机制" target="_blank">[Zookeeper学习笔记之三]Zookeeper会话超时机制</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>首先,会话超时是由Zookeeper服务端通知客户端会话已经超时,客户端不能自行决定会话已经超时,不过客户端可以通过调用Zookeeper.close()主动的发起会话结束请求,如下的代码输出内容 Created /zoo-739160015 CONNECTEDCONNECTED .............CONNECTEDCONNECTED CONNECTEDCLOSEDCLOSED </div> </li> <li><a href="/article/312.htm" title="SecureCRT快捷键" target="_blank">SecureCRT快捷键</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/secureCRT/1.htm">secureCRT</a><a class="tag" taget="_blank" href="/search/%E5%BF%AB%E6%8D%B7%E9%94%AE/1.htm">快捷键</a> <div>ctrl + a : 移动光标到行首ctrl + e :移动光标到行尾crtl + b: 光标前移1个字符crtl + f: 光标后移1个字符crtl + h : 删除光标之前的一个字符ctrl + d :删除光标之后的一个字符crtl + k :删除光标到行尾所有字符crtl + u : 删除光标至行首所有字符crtl + w:  删除光标至行首</div> </li> <li><a href="/article/439.htm" title="Java 子类与父类这间的转换" target="_blank">Java 子类与父类这间的转换</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java+%E7%88%B6%E7%B1%BB%E4%B8%8E%E5%AD%90%E7%B1%BB%E7%9A%84%E8%BD%AC%E6%8D%A2/1.htm">java 父类与子类的转换</a> <div>    最近同事调的一个服务报错,查看后是日期之间转换出的问题。代码里是把 java.sql.Date 类型的对象 强制转换为 java.sql.Timestamp 类型的对象。报java.lang.ClassCastException。       代码:             </div> </li> <li><a href="/article/566.htm" title="可视化swing界面编辑" target="_blank">可视化swing界面编辑</a> <span class="text-muted">朱辉辉33</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/swing/1.htm">swing</a> <div>      今天发现了一个WindowBuilder插件,功能好强大,啊哈哈,从此告别手动编辑swing界面代码,直接像VB那样编辑界面,代码会自动生成。       首先在Eclipse中点击help,选择Install New Software,然后在Work with中输入WindowBui</div> </li> <li><a href="/article/693.htm" title="web报表工具FineReport常用函数的用法总结(文本函数)" target="_blank">web报表工具FineReport常用函数的用法总结(文本函数)</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/web%E6%8A%A5%E8%A1%A8%E5%B7%A5%E5%85%B7/1.htm">web报表工具</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E8%BD%AF%E4%BB%B6/1.htm">报表软件</a><a class="tag" taget="_blank" href="/search/java%E6%8A%A5%E8%A1%A8/1.htm">java报表</a> <div>文本函数 CHAR CHAR(number):根据指定数字返回对应的字符。CHAR函数可将计算机其他类型的数字代码转换为字符。 Number:用于指定字符的数字,介于1Number:用于指定字符的数字,介于165535之间(包括1和65535)。 示例: CHAR(88)等于“X”。 CHAR(45)等于“-”。   CODE CODE(text):计算文本串中第一个字</div> </li> <li><a href="/article/820.htm" title="mysql安装出错" target="_blank">mysql安装出错</a> <span class="text-muted">林鹤霄</span> <a class="tag" taget="_blank" href="/search/mysql%E5%AE%89%E8%A3%85/1.htm">mysql安装</a> <div>[root@localhost ~]# rpm -ivh MySQL-server-5.5.24-1.linux2.6.x86_64.rpm Preparing...                #####################</div> </li> <li><a href="/article/947.htm" title="linux下编译libuv" target="_blank">linux下编译libuv</a> <span class="text-muted">aigo</span> <a class="tag" taget="_blank" href="/search/libuv/1.htm">libuv</a> <div>下载最新版本的libuv源码,解压后执行: ./autogen.sh   这时会提醒找不到automake命令,通过一下命令执行安装(redhat系用yum,Debian系用apt-get): # yum -y install automake # yum -y install libtool     如果提示错误:make: *** No targe</div> </li> <li><a href="/article/1074.htm" title="中国行政区数据及三级联动菜单" target="_blank">中国行政区数据及三级联动菜单</a> <span class="text-muted">alxw4616</span> <div>近期做项目需要三级联动菜单,上网查了半天竟然没有发现一个能直接用的! 呵呵,都要自己填数据....我了个去这东西麻烦就麻烦的数据上. 哎,自己没办法动手写吧. 现将这些数据共享出了,以方便大家.嗯,代码也可以直接使用   文件说明 lib\area.sql -- 县及县以上行政区划分代码(截止2013年8月31日)来源:国家统计局 发布时间:2014-01-17 15:0</div> </li> <li><a href="/article/1201.htm" title="哈夫曼加密文件" target="_blank">哈夫曼加密文件</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E5%93%88%E5%A4%AB%E6%9B%BC%E5%8E%8B%E7%BC%A9/1.htm">哈夫曼压缩</a><a class="tag" taget="_blank" href="/search/%E5%93%88%E5%A4%AB%E6%9B%BC%E5%8A%A0%E5%AF%86/1.htm">哈夫曼加密</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8F%89%E6%A0%91/1.htm">二叉树</a> <div> 在上一篇介绍过哈夫曼编码的基础知识,下面就直接介绍使用哈夫曼编码怎么来做文件加密或者压缩与解压的软件,对于新手来是有点难度的,主要还是要理清楚步骤;   加密步骤:  1,统计文件中字节出现的次数,作为权值   2,创建节点和哈夫曼树   3,得到每个子节点01串   4,使用哈夫曼编码表示每个字节   </div> </li> <li><a href="/article/1328.htm" title="JDK1.5 Cyclicbarrier实例" target="_blank">JDK1.5 Cyclicbarrier实例</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a><a class="tag" taget="_blank" href="/search/Cyclicbarrier/1.htm">Cyclicbarrier</a> <div>CyclicBarrier类 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环的 barrier。 CyclicBarrier支持一个可选的 Runnable 命令,</div> </li> <li><a href="/article/1455.htm" title="九项重要的职业规划" target="_blank">九项重要的职业规划</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>一. 学习的步伐不停止        古人说,活到老,学到老。终身学习应该是您的座右铭。        世界在不断变化,每个人都在寻找各自的事业途径。        您只有保证了足够的技能储</div> </li> <li><a href="/article/1582.htm" title="【Java范型四】范型方法" target="_blank">【Java范型四】范型方法</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>范型参数不仅仅可以用于类型的声明上,例如   package com.tom.lang.generics; import java.util.List; public class Generics<T> { private T value; public Generics(T value) { this.value = </div> </li> <li><a href="/article/1709.htm" title="【Hadoop十三】HDFS Java API基本操作" target="_blank">【Hadoop十三】HDFS Java API基本操作</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>  package com.examples.hadoop; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoo</div> </li> <li><a href="/article/1836.htm" title="ua实现split字符串分隔" target="_blank">ua实现split字符串分隔</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/lua+split/1.htm">lua split</a> <div>LUA并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由宿主语言(通常是C或 C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。LUA只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从 而适合嵌入在别的程序里。因此在lua中并没有其他语言那样多的系统函数。习惯了其他语言的字符串分割函</div> </li> <li><a href="/article/1963.htm" title="java-从先序遍历和中序遍历重建二叉树" target="_blank">java-从先序遍历和中序遍历重建二叉树</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> public class BuildTreePreOrderInOrder { /** * Build Binary Tree from PreOrder and InOrder * _______7______ / \ __10__ ___2 / \ / 4</div> </li> <li><a href="/article/2090.htm" title="openfire开发指南《连接和登陆》" target="_blank">openfire开发指南《连接和登陆》</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/openfire/1.htm">openfire</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97/1.htm">开发指南</a><a class="tag" taget="_blank" href="/search/smack/1.htm">smack</a> <div>第一步     官网下载smack.jar包     下载地址:http://www.igniterealtime.org/downloads/index.jsp#smack 第二步     把smack里边的jar导入你新建的java项目中 开始编写smack连接openfire代码 p</div> </li> <li><a href="/article/2217.htm" title="[移动通讯]手机后盖应该按需要能够随时开启" target="_blank">[移动通讯]手机后盖应该按需要能够随时开启</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8A%A8/1.htm">移动</a> <div>    看到新的手机,很多由金属材质做的外壳,内存和闪存容量越来越大,CPU速度越来越快,对于这些改进,我们非常高兴,也非常欢迎      但是,对于手机的新设计,有几点我们也要注意      第一:手机的后盖应该能够被用户自行取下来,手机的电池的可更换性应该是必须保留的设计,</div> </li> <li><a href="/article/2344.htm" title="20款国外知名的php开源cms系统" target="_blank">20款国外知名的php开源cms系统</a> <span class="text-muted">cuiyadll</span> <a class="tag" taget="_blank" href="/search/cms/1.htm">cms</a> <div>内容管理系统,简称CMS,是一种简易的发布和管理新闻的程序。用户可以在后端管理系统中发布,编辑和删除文章,即使您不需要懂得HTML和其他脚本语言,这就是CMS的优点。 在这里我决定介绍20款目前国外市面上最流行的开源的PHP内容管理系统,以便没有PHP知识的读者也可以通过国外内容管理系统建立自己的网站。 1. Wordpress WordPress的是一个功能强大且易于使用的内容管</div> </li> <li><a href="/article/2471.htm" title="Java生成全局唯一标识符" target="_blank">Java生成全局唯一标识符</a> <span class="text-muted">darrenzhu</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/uuid/1.htm">uuid</a><a class="tag" taget="_blank" href="/search/unique/1.htm">unique</a><a class="tag" taget="_blank" href="/search/identifier/1.htm">identifier</a><a class="tag" taget="_blank" href="/search/id/1.htm">id</a> <div>How to generate a globally unique identifier in Java http://stackoverflow.com/questions/21536572/generate-unique-id-in-java-to-label-groups-of-related-entries-in-a-log http://stackoverflow</div> </li> <li><a href="/article/2598.htm" title="php安装模块检测是否已安装过, 使用的SQL语句" target="_blank">php安装模块检测是否已安装过, 使用的SQL语句</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div> SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern'] SHOW TABLES列举了给定数据库中的非TEMPORARY表。您也可以使用mysqlshow db_name命令得到此清单。 本命令也列举数据库中的其它视图。支持FULL修改符,这样SHOW FULL TABLES就可以显示第二个输出列。对于一个表,第二列的值为BASE T</div> </li> <li><a href="/article/2725.htm" title="5天学会一种 web 开发框架" target="_blank">5天学会一种 web 开发框架</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/framework/1.htm">framework</a> <div>web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的经验写了一个to do list,按照这个清单,一条一条的学习,事半功倍,很快就能掌握 一共25条,即便很磨蹭,2小时也能搞定一条,25*2=50。只需要50小时就能掌握任意一种web框架 各类web框架大同小异:现代web开发框架的6大元素,把握主线,就不会迷路 建议把本文</div> </li> <li><a href="/article/2852.htm" title="Gson使用三(Map集合的处理,一对多处理)" target="_blank">Gson使用三(Map集合的处理,一对多处理)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/gson/1.htm">gson</a><a class="tag" taget="_blank" href="/search/Gson+map/1.htm">Gson map</a><a class="tag" taget="_blank" href="/search/Gson+%E9%9B%86%E5%90%88%E5%A4%84%E7%90%86/1.htm">Gson 集合处理</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2175532 一、概述        Map保存的是键值对的形式,Json的格式也是键值对的,所以正常情况下,map跟json之间的转换应当是理所当然的事情。 二、Map参考实例 package com.ickes.json; import java.lang.refl</div> </li> <li><a href="/article/2979.htm" title="cordova实现“再点击一次退出”效果" target="_blank">cordova实现“再点击一次退出”效果</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>基本的写法如下: document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { //navigator.splashscreen.hide(); document.addEventListener("b</div> </li> <li><a href="/article/3106.htm" title="openldap configuration leaning note" target="_blank">openldap configuration leaning note</a> <span class="text-muted">iwindyforest</span> <a class="tag" taget="_blank" href="/search/configuration/1.htm">configuration</a> <div>hostname // to display the computer name hostname <changed name> // to change go to: /etc/sysconfig/network, add/modify HOSTNAME=NEWNAME to change permenately dont forget to change /etc/hosts</div> </li> <li><a href="/article/3233.htm" title="Nullability and Objective-C" target="_blank">Nullability and Objective-C</a> <span class="text-muted">啸笑天</span> <a class="tag" taget="_blank" href="/search/Objective-C/1.htm">Objective-C</a> <div>https://developer.apple.com/swift/blog/?id=25   http://www.cocoachina.com/ios/20150601/11989.html   http://blog.csdn.net/zhangao0086/article/details/44409913   http://blog.sunnyxx</div> </li> <li><a href="/article/3360.htm" title="jsp中实现参数隐藏的两种方法" target="_blank">jsp中实现参数隐藏的两种方法</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a> <div>在一个JSP页面有一个链接,//确定是一个链接?点击弹出一个页面,需要传给这个页面一些参数。//正常的方法是设置弹出页面的src="***.do?p1=aaa&p2=bbb&p3=ccc"//确定目标URL是Action来处理?但是这样会在页面上看到传过来的参数,可能会不安全。要求实现src="***.do",参数通过其他方法传!//////</div> </li> <li><a href="/article/3487.htm" title="Bootstrap A标签关闭modal并打开新的链接解决方案" target="_blank">Bootstrap A标签关闭modal并打开新的链接解决方案</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/bootstrap/1.htm">bootstrap</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a> <div>Bootstrap里面的js modal控件使用起来很方便,关闭也很简单。只需添加标签 data-dismiss="modal" 即可。 可是偏偏有时候需要a标签既要关闭modal,有要打开新的链接,尝试多种方法未果。只好使用原始js来控制。   <a href="#/group-buy" class="btn bt</div> </li> <li><a href="/article/3614.htm" title="二维数组在Java和C中的区别" target="_blank">二维数组在Java和C中的区别</a> <span class="text-muted">流淚的芥末</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84/1.htm">数组</a> <div>Java代码:   public class test03 { public static void main(String[] args) { int[][] a = {{1},{2,3},{4,5,6}}; System.out.println(a[0][1]); } }  运行结果: Exception in thread "mai</div> </li> <li><a href="/article/3741.htm" title="systemctl命令用法" target="_blank">systemctl命令用法</a> <span class="text-muted">wmlJava</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/systemctl/1.htm">systemctl</a> <div>对比表,以 apache / httpd 为例 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service 使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service 检查服务状态 service h</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>