Linux企业运维——nginx反向代理

图解GC(垃圾回收算法)加强版计数引用法(2)Sticky引用计数法 Sticky引用计数法 在典型的引用计数法中我们为每个对象头是设置一个位宽。通常例如:32b的计算机位宽设为32b,64b的计算机位宽设为64b,而位数越多则越占用内存空间这是一个弊端,另外我们从计算机组成原理知道,32b计数范围为:0~-1.。 那么我们看可以想到,若是被引用的大小超过-1.则存在爆表的现象。 第一, 针对这种现象我们可以放在视为长期活动的对象不管。实验表明,更多的对象一创建就死了,而爆表的对象在程序中肯定是非常重要的范围。(我们知道溢出后数值改变的原理) 第二,我们可以结... 阅读详情

实验环境配置:
三台虚拟机:server1 server2 server3
每台虚拟机的本地解析都需要写//etc/hosts
在这里插入图片描述

1.反向代理

什么是代理?
所谓代理就是一个代表、一个渠道
此时就涉及到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称为代理操作过程

正向代理:
正向代理最大的特点是客户端明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息

反向代理:
由于企业当中一台服务器不能承受负载,所以会通过部署多台服务器来解决访问人数限制的问题
多个客户端给服务器发送的请求,nginx服务器接收到之后,按照一定的规则分发给了后端的业务处理服务器进行处理了。此时~请求的来源也就是客户端是明确的,但是请求具体由哪台服务器处理的并不明确了,nginx扮演的就是一个反向代理角色

实验
在已经安装好nginx的server1主机中将nginx拷贝给server2 server3

scp -r /usr/local/nginx server2:/usr/local/
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  #建立软连接
scp -r /usr/local/nginx server3:/usr/local/
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  #建立软连接

在server2 server3中编辑主配置文件
worker_processes 设置为auto自动识别工作线程
在这里插入图片描述

然后在两个代理服务器server2 server3中配置

语法检测nginx -t
echo server2 > /usr/local/nginx/html/index.html
echo server3 > /usr/local/nginx/html/index.html
nginx   ##启动nginx
nginx -s reload   ##重新加载

回到server1中

vim /usr/local/nginx/conf/nginx.conf

http {
        upstream westos {
        server 172.25.7.2:80;
        server 172.25.7.3:80;
        }
...

server {
        listen 80;
        server_name www.westos.org;

        location / {
                proxy_pass http://westos;
        }
   }

nginx -t 
nginx -s reload

在这里插入图片描述
在这里插入图片描述

现在可以在真机充当的客户端当中进行测试
curl www.westos.org
得到的结果是代理服务器server2 server3 并不是server1
在这里插入图片描述

2.负载均衡

我们已经明确了所谓代理服务器的概念,那么接下来,nginx扮演了反向代理服务器的角色,它是以依据什么样的规则进行请求分发的呢?不用的项目应用场景,分发的规则是否可以控制呢?

这里提到的客户端发送的、nginx反向代理服务器接收到的请求数量,就是我们说的负载量

请求数量按照一定的规则进行分发到不同的服务器处理的规则,就是一种均衡规则

所以我们将服务器接收到的请求按照规则分发的过程,称为“负载均衡”

nginx支持的负载均衡调度算法

在这里插入图片描述

1.weight轮询

接收到的请求按照顺序逐一分配到不同的后端服务器,即使在使用过程中,某一台后端服务器宕机,nginx会自动将该服务器剔除出队列,请求受理情况不会受到任何影响。 这种方式下,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率;权重数据越大,被分配到请求的几率越大;该权重值,主要是针对实际工作环境中不同的后端服务器硬件配置进行调整的

在这里插入图片描述

实验效果如下:这里我们将server2的权重值调为3
即在访问服务器时通过server2代理服务器的与server3的比例应该为3:1

在这里插入图片描述

2.备用机backup

当所有代理服务器都故障时将服务器本身设置为备用机

在这里插入图片描述

使用回环接口将调度站本身设置为备用,当后端主机恢复时则不会访问备用主机

3.ip_hash

每个请求按照发起客户端的ip的hash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下session共享的问题

在这里插入图片描述

hash自动匹配到固定代理服务器让客户进行访问,除非这个服务器停止运行才会调度到新的服务器,或者有新的域名访问才会重新调度

实验结果如图: 后半段我们将server3nginx停止,发现会自动调度到新的服务器
在这里插入图片描述

4.fair智能调整调度算法

动态的根据后端服务器的请求处理到响应的时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少;结合了前两者的优点的一种调度算法。但是需要注意的是nginx默认不支持fair算法,如果要使用这种调度算法,需要安装upstream_fair模块

5.url_hash

按照访问的url的hash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在nginx作为静态服务器的情况下提高缓存效率。这种调度算法要使用的话也需要安装nginx的hash软件包

3.算法扩展——sticky算法

nginx并不支持一些算法,当我们需要使用时则需要进行拓展
比如sticky模块,nginx本身不支持,当在配置文件中写入并调用时会汇报出错
所以需要算法拓展

sticky算法模块

Sticky工作原理:

Sticky是基于cookie的一种负载均衡解决方案,通过分发和识别cookie,使来自同一个客户端的请求落在同一台服务器上,默认cookie标识名为route:
1.客户端首次发起访问请求,nginx接收后,发现请求头没有cookie,则以轮询方式将请求分发给后端服务器。
2.后端服务器处理完请求,将响应数据返回给nginx。
3.此时nginx生成带route的cookie,返回给客户端。route的值与后端服务器对应,可能是明文,也可能是md5、sha1等Hash值。
4.客户端接收请求,并保存带route的cookie。
5.当客户端下一次发送请求时,会带上route,nginx根据接收到的cookie中的route值,转发给对应的后端服务器。

sticky模块与Ip_hash都是与负载均衡算法相关,但又有区别
区别:
1.ip hash,根据客户端的IP的hash进行匹配绑定,
客户端将会与一个后端服务器绑定,一定程度上解决了集群部署环境下session共享的问题
2.sticky,根据服务器给客户端的cookie,客户端再次请求时会带上此cookie,nginx会把有此cookie的请求转发到颁发cookie的服务器上

推荐使用sticky算法

cd /usr/local/nginc/conf
vim nginx.conf
///
http {
        upstream westos {
        sticky;
        server 172.25.24.2:80 weight=2;
///
nginx -t 	

算法检测时报错
在这里插入图片描述
我们需要对nginx进行扩展,先将sticky注释掉,并停止nginx服务
更改火墙策略,下载算法模块

nginx -t 
nginx -s stop
iptables -t nat -I POSTROUTING -s 172.25.24.0/24 -j MASQUERADE 	##真机上写火墙策略,开启地址伪装
cd
lftp 172.25.254.250
> ls
> cd pub/docs/lamp/
> get nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip ##下载
> exit
yum install -y unzip   ##下载zip解压软件包
unzip nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip  ##解压sticky软件包

安装好之后切入nginx目录,清理缓存,执行编译configure->make

cd nginx-1.20.1/ make clean ##清理缓存 
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --add-module=/root/nginx-goodies-nginx-sticky-module-ng-08a395c66e42 ##配置
make ##编译

在这里插入图片描述
提示:有的时候我们在编译时不知道是否编译成功,而在编译失败时去make install(安装)肯定会出错,这样会增加问题的复杂性,所以我们可以在编译完成后输入

echo $? ##输出为0则成功

将nginx复制到sbin并覆盖,切入配置目录,编辑配置文件,此时可以使用sticky算法 并检测语法

ls
cd objs/
\cp -f nginx /usr/local/nginx/sbin/	##复制覆盖文件,\表示告诉shell不要去查alias,直接执行原本的cp 
vim nginx.conf
nginx -t

4.nginx限流

先建立一个实验素材

cd html/
mkdir downloads
cd downloads/
lftp 172.25.254.250
> cd pub/docs/
> get vim.jpg
> exit
du -h vim.jpg 		##444K

(1)限制并发连接数

在真机执行压力测试命令,设定并发用户数为10,请求总数为10,成功10个

###真机
ab -c10 -n 10 http://172.25.7.1/downloads/vim.jpg	##并发用户数为10,请求总数为10,失败0个

在server1中编辑配置文件

limit_conn_zone $binary_remote_addr zone=addr:10m;
 location /download/ {
                limit_conn addr 1;
        }

在这里插入图片描述
###真机中
ab -c10 -n 10 http://172.25.24.1/download/vim.jpg ##部分被拒绝
在这里插入图片描述

(2)限制每秒请求数

在真机执行压力测试,设定并发用户数为1,请求总数为10,则请求全部通过
ab -c1 -n 10 http://172.25.24.1/downloads/vim.jpg ##全部通过

在server1主机中编辑配置文件,设定每秒只通过1个请求,重启服务

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
limit_req zone=one;
在这里插入图片描述

重新在真机执行压力测试,因为每秒只通过一个,则其余9个被拒绝
在这里插入图片描述

(3)排队,超过指定数量则排队访问

在配置文件中设定一次访问5个,超过的排队等待,因为上一个实验设定每秒通过1个请求,则访问2次,差不多10秒

limit_req zone=one burst=5;
在这里插入图片描述

在真机中,执行压力测试,访问时长大约9秒
(在真实情况下,偏差在几台主机的情况是可以忽略不计的)
在这里插入图片描述

(4)无延迟

编辑配置文件,设定请求无延迟,在上一个实验的情况下,只能执行1次,即5个请求,重启服务

limit_req zone=one burst=5 nodelay;
在这里插入图片描述
在这里插入图片描述
真机中,执行压力测试,只能通过4个,其余被拒绝(误差可以忽略)

(5)限制带宽

现实生活中,我们下载东西时,会被限制网速,其实就是限制带宽。
在配置文件中设定带宽50k,重启服务,注释掉上面实验的参数,不然会很慢

limit_rate 50k;
在这里插入图片描述

在真机中执行压力测试,文件大小为444k,访问5次,限制带宽50k,大概需要40s

在这里插入图片描述

5.平滑升级

当服务器在运行的时候我们想升级版本的情况下就需要用到平滑升级
平滑升级可以在服务器运行的状态下最大限度的保持数据的完整性

实验步骤:

1.版本更新

安装一个比当前版本高的nginx,解压,重新编译

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio
make

注意:此处不需要make install

make之后备份原程序,将升级版本拷贝覆盖原程序

cd /usr/local/nginx/sbin
\cp -f nginx nginx.old  #备份
cd ~/nginx1.21.1/objs
\cp -f nginx /usr/local/nginx/sbin #新程序覆盖替换
ps ax | grep nginx  #查看当前nginx进程
kill -USR2 原主进程pid   #开启新版本

在这里插入图片描述
此时新版本已经打开
因为有时觉得就版本更好,所以保留就版本的主进程为了即回退,则只关闭worker,保留master

kill -WINCH 原主进程pid   #关闭原worker进程但保留主进程:为了回退
curl localhost -I   #查看当前nginx版本

在这里插入图片描述

2.版本回退

回退的过程与更新相反,先还原nginx程序,唤醒进程,回收新版本,并关闭即可

cd /usr/local/nginx/sbin/
 \cp -f nginx.old nginx  #还原nginx程序
 kill -HUP 原进程pid  #唤醒原进程
 ps ax | grep nginx #查看进程
 kill -WINCH 21337  #回收新版本进程
 kill -QUIT 21337  #关闭新版本进程

在这里插入图片描述
在这里插入图片描述

6.nginx配置管理

(1)自动索引

当我们在访问浏览器时为了下载软件更加方便,可以在配置文件中设定自动索引

**注意:**注释这些参数设定,重启服务

vim nginx.conf
///
        location /download/ {
                limit_conn addr 1;
                #limit_req zone=one burst=5 nodelay;
                #limit_rate 50k;		##注释
		autoindex.on;
///	
nginx -s reload

在这里插入图片描述
在这里插入图片描述

(2)nginx expire 缓存配置

缓存可以降低网站带宽,加速用户访问。
编辑配置文件,设定对图片等进行缓存,缓存时间为1年,在此期间访问就会减少访问时间

vim nginx.conf
///
        location /download/ {
                limit_conn addr 1;
                #limit_req zone=one burst=5 nodelay;
                #limit_rate 50k;
                autoindex on;
        }	##在此位置下方进行设定

        location ~ .*\.(gif|jpg|png)$ {		##对图片等进行缓存
                expires 365d;
                root html;
        }
///
nginx -s reload

在真机中,使用curl命令访问素材文件,可以看到缓存至2022年
curl -I 172.25.7.1/download/vim.jpg
在这里插入图片描述

(3)日志轮询

编写一个脚本,设定打开nginx时会生成日志文件,命名格式为前一天

cd /opt/	##第三方软件安装位置
vim nginx.sh
///
#!/bin/bash
cd /usr/local/nginx/logs && mv access.log access_$(date +%F -d -1day).log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
///

给脚本执行权限,执行脚本,切入到日志目录,产生日志

chmod +x nginx.sh
./nginx.sh
cd /usr/local/nginx/logs/
ls --> access_2021-08-31.log	##生成日志

(4)禁用不必要的日志记录,以节省磁盘IO的消耗

在配置文件中设定禁用浏览器访问指定目录时生成日志文件

cd ..(nginx)
cd conf/
vim nginx.conf
///
        location ~ .*\.(gif|jpg|png)$ {
                expires 365d;
                root html;
        }		##在这个位置的下面加入设定

        location /status {
                stub_status on;
                access_log off;
        }
///
nginx -t
nginx -s reload

此时在浏览器中访问该目录,在日志目录中不会生成日志记录

在浏览器访问
172.25.24.1/status	##刷新会增加访问次数,但不会有日志生成
cd ../logs
ls
cat access.log		##为空

但当在真机中使用curl命令访问该目录时,会产生日志文件

###真机
curl -I 172.25.7.1/status

###server1
cat access.log 		##会产生日志文件

(5)站点目录和文件的限制

在配置文件中设定指定目录只能本机访问,拒绝其他所有请求

cd conf/
vim nginx.conf
///
        location /status {
                stub_status on;
                access_log off;
                allow 127.0.0.1;
                deny all;
        }
///
nginx -t
nginx -s reload

在这里插入图片描述
当在真机访问status目录时,拒绝访问,报错403,资源不可用,服务器理解客户的请求,但拒绝处理
curl 172.25.7.1/status ##拒绝访问
在这里插入图片描述
当在server1本机访问时,允许访问

curl localhost/status
在这里插入图片描述

(6)中文乱码

nginx默认不支持中文字符,在浏览器访问时,中文会变成乱码。
在nginx发布文件中加入一行中文,在浏览器中试访问,为乱码

cd /usr/localnginx/html/
echo hello中国 > index.html
#在浏览器访问时中文是乱码

在这里插入图片描述

但是在server1本机中,可以使用curl命令查看本地的发布文件,是可以正常显示中文的
在这里插入图片描述

编辑配置文件,设定nginx支持中文字符,并重启服务

vim nginx.conf
///
    server {
        listen       80;
        server_name  localhost;

        charset utf-8;
///
nginx -s reload

此时在浏览器中访问172.25.7.1,可以看到中文正常显示

7.nginx 重定向

(1) 防止域名恶意解析到服务器IP

1)拒绝访问,报错500
切入配置目录,编辑配置文件,设定在访问本机时,返回500,重启服务。此时使用curl命令访问本机,会显示http报错500

cd /usr/local/nginx/conf/
vim nginx.conf
///
    server {
        listen       80;
        server_name  localhost;
        return 500;
///
nginx -s reload
curl -I localhost	##HTTP/1.1 500 Internal Server Error

当在浏览器中访问server1主机时,也会报错500

2)将所有访问重定向至指定域名
编辑配置文件,设定将所有访问请求重定向至指定域名,重启服务,此时使用curl命令访问本机,会显示访问地址为http://www.westos.org

vim nginx.conf
///
    server {
        listen       80;
        server_name  localhost;
        rewrite ^(.*) http://www.westos.org permanent;
///
nginx -s reload
curl -I localhost	##Location: http://www.westos.org

在这里插入图片描述当在浏览器中访问server1主机时,写入172.25.7.1回车后会自动跳转至www.westos.org

(2)端口重定向

编辑配置文件,将80端口定向到443端口

vim nginx.conf
///
    server {
        listen       443 ssl;
        server_name  www.westos.org;

        ssl_certificate      cert.pem;
        ssl_certificate_key  cert.pem;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
server {
        listen 80;
        server_name www.westos.org;

        rewrite ^/(.*)$ https://www.westos.org/$1 permanent;
        #location / {
        #       proxy_pass http://westos;
        #        }
        }
///

生成证书,并移动到配置目录中,检测语法,重启服务。此时检测端口

cd /etc/pki/tls/certs
make cert.pem		##生成证书
mv cert.pem /usr/local/nginx/conf
nginx -t
nginx -s reload
netstat -antlup | grep 443

在这里插入图片描述
在浏览器中访问server1主机,可以看到https即代表443端口重定向成功
在这里插入图片描述

在真机中使用curl命令,可以看到加密端口已打开
在这里插入图片描述

(3)虚拟主机重定向

1)www.westos.org 重定向bbs.westos.org

cd ..(nginx)
cd html
mkdir bbs
mv bbs/ /
vim nginx.conf
///
server {    
        listen 80;
        server_name www.westos.org;
        
        #rewrite ^/(.*)$ https://www.westos.org/$1 permanent;
        rewrite ^/bbs$ http://bbs.westos.org permanent;
        #rewrite ^/(.*)$ http://bbs.westos.org/$1 permanent;
     
        #location / {
        #       proxy_pass http://westos;
        #       }
        }
server {
        listen 80;
        server_name bbs.westos.org;

        location / {
                root /bbs;
        index index.html;
                }
        }
///
nginx -s reload

在真机使用curl命令可以查看
在这里插入图片描述

浏览器输入www.westos.org会自动跳转为bbs.westos.org
当你想访问域名下的目录时,但是只能输入规定www.westos.org/bbs
输入其他会报错
所以可以加
rewrite ^/(.*)$ http://bbs.westos.org/$1 permanent; #以任何开头或结尾都可以重定向到bbs.westos.org

在这里插入图片描述

2)bbs.westos.org 重定向www.westos.org

vim nginx.conf
///
server {    
        listen 80;
        server_name www.westos.org bbs.westos.org;
        
        #rewrite ^/(.*)$ https://www.westos.org/$1 permanent;
        #rewrite ^/bbs$ http://bbs.westos.org permanent;
        #rewrite ^/(.*)$ http://bbs.westos.org/$1 permanent;
     
	if ($host = "bbs.westos.org") {
		rewrite ^/(.*)$ http://www.westos.org/bbs/$1 permanent;
        }
#server {		##全部注释
#        listen 80;
#        server_name bbs.westos.org;
#
#        location / {
#                root /bbs;
#        index index.html;
#                }
#        }
///
nginx -s reload

在真机先做地址解析,使用curl命令可以查看

172.25.7.1     server1         www.westos.org reg.westos.org bbs.westos.org

在这里插入图片描述

在浏览器中输入bbs.westos.org会自动跳转至www.westos.org/bbs

在这里插入图片描述

(4)防盗链

由于经常有些人可能会盗链你的主机中内容进行流量浏览
我们可以通过防盗链进行限制别人盗链我们的内容

盗链主机server2
防盗主机server1

在我们的server1当中/usr/local/nginx/html下建立一个目录download
目录内下载一张图片,假设盗链这张图片

配置server2盗链主机

cd /usr/local/nginx/html
vim test.html
\\\
<html>


<body>
<br> hello中国 </br>
<img src="http://www.westos.org/download/vim.jpg">
</body>

</html>

\\\

配置完毕
在浏览器当中通过server2的IP进行访问
在这里插入图片描述
成功盗链到serve1主机的内容

配置防盗主机server1

vim /usr/local/nginx/conf/nginx.conf
location ~ \.(jpg|png)$ {
                valid_referers none blocked www.westos.org;
                if ($invalid_referer) {
                        return 403;   ##只能通过www.westos.org域名进行访问,否则将会403拒绝
                        #rewrite ^/ http://www.westos.org/daolian.jpg;
                }
        }

防盗连配置完毕!

此时浏览器再次访问
在这里插入图片描述
为了防盗连的效果,我们可以将防盗链重定向到一张图片,展示给盗链你的人

location ~ \.(jpg|png)$ {
                valid_referers none blocked www.westos.org;
                if ($invalid_referer) {
                        #return 403;
                        rewrite ^/ http://www.westos.org/daolian.jpg;
                }
        }

此时再次访问
在这里插入图片描述

Linux运维全栈实战:从零搭建Zabbix监控+Docker容器+MySQL+Nginx技能体系 很多想转行或刚入行的运维新人,都有过这样的困惑:面对Linux、Zabbix、Docker、MySQL、Nginx这些名词,感觉每个都要学,但不知道从哪里开始,更不知道学到什么程度才算“会了”。网上教程要么太零散,要么太理论,看完还是不知道如何把它们串联起来解决一个真实的企业问题。 这篇文章要解决的,正是这个核心痛点。它不是一个简单的命令合集,而是一张为你绘制的“技能地图”。我们将以 Linux操作系统为基石 ,串联起 Zabbix监控、Docker容器、MySQL数据库和Nginx服务 这四大企业级核心技 阅读详情

相关推荐

【企业SRE/DevOps向的精通Linux课程培训课程】第 18 天:Web 服务器(Apache、Nginx、反向代理)

介绍了 Web 服务器(Apache 和 Nginx)的安装、配置和管理,包括虚拟主机、服务器块和关键的反向代理设置。它涵盖了 Web 服务器架构、请求流程,并提供了启用 HTTPS(使用 Let's Encrypt)和故障排除的实用命令和步骤。文件强调了安全最佳实践,如最小权限、持续更新和日志监控,并提供了面试问答,以巩固 Linux 环境下 Web 服务运维的核心知识。

欧阳天涵的专栏 609

nginx实现负载均衡以及nginx的扩展模块——sticky算法

真机: get nginx-1.14.0.tar.gz server1: tar zxf nginx-1.14.0.tar.gz cd nginx-1.14.0/src/core/ [root@server1 core]# vim nginx.h 14 #define NGINX_VER &quot;nginx&quot; ##改名字 cd nginx-1.14.0/auto/...

weixin_41927237的博客 3245

操作不能完成 (错误 0x00000709) 共享打印机无法连接解决办法

环境:windows Server 2012 + Win10 客户端 问题:使用计算机名和IP地址可以正常连接打印机,但是使用另外的A记录或CN记录无法连接,报此错误 原因:这是打印服务DNS解析的问题 故障补充:假设你的服务器电脑名称叫print01,但是你又建了一条A记录或者CNname 叫PR01,就会发现使用额外的A记录或CN记录就无法连接 故障截图: 操作不能完成 (错误...

瑞哥的博客 3万+

一篇文章搞定 Nginx 反向代理与负载均衡

代理 要想弄明白反向代理,首先要知道啥是正向代理,要搞懂正向代理只需要知道啥是代理即可。代理其实就是一个中介,在不同事物或同一事物内部起到居间联系作用的环节。比如买票黄牛,房屋中介等等。 在互联网中代理更多指的是代理服务器,代理服务器位于客户端和服务器之间,它充当两者之间的中介。 正向代理 正向代理(forward proxy):是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返

哈喽沃德先生的博客 1万+

nginx7层负载均衡相关部署

nginx部署

m0_46652469的博客 430

离心泵级间导叶的设计计算

离心泵级间导叶的设计计算高速离心泵级间流道的作用是将第一级复合叶轮流出的高速液流收集起来并送入第二级复合叶轮。级间流道的设计应考虑降低液体的流速,实现动能向压力能转化,减小液体的水力损失。级间流道主要有蜗壳形流道和导叶两种结构形...

cqzc55322的博客 2010

【垃圾回收算法与实现读书笔记】引用计数法 延迟引用计数法 Sticky引用计数法

1. 引用计数算法 引用计数法中引入了一个概念,那就是“计数器”。计数器表示的是对象的人气指数, 也就是有多少程序引用了这个对象(被引用数)。计数器是无符号的整数,用于计数器的位数根据算法和实现而有所不同。 被引用的对象不仅自己计数器要加1,其自己包含的引用的对象的计数器也要加1。 2.延迟引用计数法 引用计数法的缺点就是计数器值的增减处理繁重。 这里就引入了延迟引用计数法,延迟就是先不计数...

HaYa 643

二元交叉熵:分类模型概率校准的数学根基

二元交叉熵(BCE)是二分类任务中实现概率校准的核心损失函数,其本质源于最大似然估计与KL散度,确保模型输出具备真实可解释的概率意义。相比均方误差(MSE)或Hinge Loss,BCE强制优化预测分布与真实伯努利分布之间的信息差异,使p=0.8真正对应约80%的正例发生率,支撑风控、医疗、推荐等高信度场景的阈值决策。它不只影响训练收敛,更决定部署后概率的业务可信度——这正是Focal Loss等变体无法替代其基础地位的根本原因。理解BCE,就是理解分类模型如何从‘打分器’进化为‘概率契约签署者’。

congli3478的博客 692

Linux企业运维 6.3 -- nginx反向代理

在两个代理服务器server2 server3中配置 环境搭建:使用虚拟机母机生成的server1、2、3 ,配置网络 和本地解析 1、反向代理 在server2 server3中编辑主配置文件,worker_processes 设置为auto自动识别工作线程 在两个代理服务器server2 server3中配置 echo server2 > /usr/local/nginx/html/index.html echo server3 > /usr/local/nginx/..

m0_53485346的博客 422

Linux企业化运维--nginx之并发优化、负载均衡+反向代理、平滑升级、算法扩展、限流、配置管理、重定向、防盗链

Linux企业化运维 实验所用系统为Redhat-rhel7.6。 Linux企业化运维–nginx之并发优化、负载均衡+反向代理、平滑升级、算法扩展、限流、配置管理、重定向、防盗链 一 负载均衡+反向代理 在server1快照主机中中: vim /usr/local/nginx/conf/nginx.conf ##编辑主配置文件 负载均衡器upstream 反向代理proxy_pass nginx -t ##检测语法 nginx -s reload ##重启 在虚拟机server2 s

Shannon_555的博客 279

基于Sentinel-2(哨兵2)遥感卫星的植被覆盖度提取

基于Sentinel-2(哨兵2)遥感卫星的植被覆盖度提取 一、Sentinel-2简单介绍 哨兵-2系列卫星的主要载荷多光谱成像仪拥有13个谱段,从可见光到近红外再到短波红外,空间分辨率从10m到60m,能实现全所未有的陆地海洋监测水平。其幅宽高达290KM,且A、B双星组合,覆盖能力比美国Landsat8卫星强很多。目前哨兵-2A和哨兵-2B已经实现了5天的重访时间,即使在之前仅有单颗卫星时,...

weixin_44143671的博客 2万+

Linux企业化运维--(2) nginx源码安装、nginx开机自起、隐藏版本号、nginx之并发优化、负载均衡+反向代理、平滑升级、算法扩展、nginx限流、nginx配置管理、nginx重定向

Linux企业化运维一、nginx源码安装1、在server1中,安装nginx,并解压。2、第二步 执行cofigure结束会生成makefile3.第三步 make install二、nginx开机自起三、隐藏版本号四、nginx之并发优化五、负载均衡+反向代理1.默认轮询2、改变权重,默认为13、ip_hash四、备用机六、平滑升级1、版本升级2、版本回退七、算法扩展八、nginx限流1、限制并发连接数2、每秒请求数3、排队,超过指定数量则排队访问4、无延迟5、限制宽带九、nginx配置管理1、自动索

Qiqiqiqiqiqi7的博客 393

Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾

电商秒杀系统框架回顾项目简介外部依赖框架回顾项目要点项目中存在的问题小结 课程是免费的,课程地址如下:SpringBoot搭建电商秒杀项目,课程真的很棒,作者的思路很清晰,建议各位读者可以跟着视频练习一下这个项目; 项目简介 通过SpringBoot快速搭建的前后端分离的电商基础秒杀项目。项目通过应用领域驱动型的分层模型设计方式去完成:用户otp注册、登陆、查看、商品列表、进入商品详情以及倒计时秒...

ghw15221836342的博客 2945

Linux企业化运维--(2)nginx之并发优化、负载均衡+反向代理、平滑升级、算法扩展、限流、配置管理、重定向、防盗链

Linux企业化运维 实验所用系统为Redhat-rhel7.6。 目录Linux企业化运维Linux企业化运维--nginx之并发优化、负载均衡+反向代理、平滑升级一、并发优化二、负载均衡+反向代理1、均衡2、改变权重3、ip_hash4、备用机三、平滑升级 Linux企业化运维–nginx之并发优化、负载均衡+反向代理、平滑升级 一、并发优化 ulimit -a 可以查看用户可以打开文件的限制 ##open files sysctl -a | grep file ##打开文件的限制 ///fs.f

weixin_43849813的博客 1286

Spug运维平台完整部署指南:从零搭建企业级自动化运维系统

Spug是一款功能强大的开源企业级运维自动化平台,它集成了资产管理、作业调度、配置管理、脚本执行等多种运维场景,能够帮助企业显著提升运维效率。本指南将详细介绍如何在Linux系统上完成Spug的完整部署。 ## 🚀 环境准备与系统要求 在开始安装之前,请确保您的系统满足以下基本要求: **操作系统要求:** - Linux发行版(推荐CentOS 7+、Ubuntu 18.04+) - 2

gitblog_00751的博客 1064

文件上传漏洞攻击与防范方法

文件上传漏洞攻击与防范方法 文件上传漏洞简介: 文件上传漏洞是web安全中经常用到的一种漏洞形式。是对数据与代码分离原则的一种攻击。上传漏洞顾名思义,就是攻击者上传了一个可执行文件如木马,病毒,恶意脚本,WebShell等到服务器执行,并最终获得网站控制权限的高危漏洞。 文件上传漏洞危害: 上传漏洞与SQL注入或 XSS相比 , 其风险更大 , 如果 Web应用程序存在上传漏洞 , 攻击者上传...

m0_38103658的博客 4万+

零基础Linux运维实战:从Linux到Docker、Zabbix、MySQL、Nginx全栈技能图谱

很多刚接触运维的同学,常常感到迷茫:面对Linux、监控、容器、数据库这些庞杂的技术栈,不知从何学起,网上资料零散,实操时又频频踩坑。本文旨在为0基础或转行的朋友,系统梳理Linux运维工程师的核心技能图谱,并提供一套从零开始、可跟练的实战教程。内容涵盖Linux操作系统基础、企业级监控Zabbix部署、Docker容器化入门、MySQL数据库管理以及Nginx Web服务配置。无论你是学生、刚入行的运维新人,还是希望巩固技能的开发者,都能通过本文构建清晰的运维知识体系,并亲手搭建一套可运行的技术环境。 1

weixin_34221332的博客 377

WINCC8.1工业组态软件安装与授权配置指南

SCADA系统作为工业自动化控制的核心平台,通过实时数据采集与监控实现生产流程可视化。WINCC作为西门子旗舰级组态软件,其8.1版本凭借稳定的运行时环境在汽车制造、流程工业等领域广泛应用。本文从工业控制系统软件安装规范切入,重点解析WINCC8.1与Automation License Manager的协同工作原理,详细说明包括系统环境检查、安装包校验、授权文件配置等关键技术环节。针对工程实施中常见的内存配置不足、授权管理器报错等典型问题,提供经过现场验证的解决方案,特别适用于需要进行产线监控系统升级维护

cqwf95925的博客 863

Nginx软件企业功能应用有哪些?linux基础学习

Nginx软件的主要企业功能应用有什么?Nginx因具有高并发(特别是静态资源)、占用系统资源少等特性,且功能丰富而逐渐流行起来。Nginx能够运行在UNIX、Linux、BSD、Mac OS X、Solaris,以及MicrosoftWindows等操作系统中。掌握Nginx知识点是Linux运维工程师的必备技能。Nginx软件的主要企业功能应用有哪些? Nginx软件的主要企业功能应用有哪些? (1)作为Web服务软件 Nginx是一个支持高性能、高并发的Web服务软件,它具有很多优秀的特性,作为Web

oldboysecurity的博客 286

一周掌握企业级运维:从Linux到Docker高可用Web部署实战

在云计算和DevOps时代,Linux系统管理与容器化技术是构建现代IT基础设施的核心基石。理解操作系统原理、网络配置和自动化脚本,是实现高效、稳定服务部署的基础。Docker作为轻量级容器技术的代表,通过镜像封装解决了环境一致性问题,其价值在于极大地提升了应用交付效率和资源利用率,广泛应用于微服务架构、持续集成和云原生场景。本文聚焦企业级实战,通过一个完整的LNMP(Linux, Nginx, MySQL, Python)高可用Web应用部署项目,串联Linux核心命令、网络安全管理、Bash自动化脚本及

weixin_34166847的博客 309

DAVIS前言:事件相机资料调研

Event-Camera 资料集锦 1. 官网资料 假设了你买了事件相机,就可以在以下几个链接了解相关的参数和gui界面安装,如果不喜欢gui界面安装,可以第2节,安装相关的源码驱动。 DVS/DAVIS产品说明 等相关产品的软硬件介绍。 iniVation DV教程文档 给出在不同平台下的dvs-gui界面,可按照其说明进行相应的操作。 另外,Neuromorphic vision com...

Ian的博客 4156

Linux运维全技能学习指南:从零基础到实战部署

这次我们来看一个面向零基础新手的 Linux 运维全技能学习指南。对于想入行或转行运维的朋友来说,最头疼的往往不是某个技术点,而是面对 Linux、监控、容器、数据库、Web 服务这一大堆名词,不知道从哪里开始,更不清楚学到什么程度才算“会了”。本文旨在解决这个问题,它不是某个单一工具的教程,而是一张清晰的技能地图和实战学习路径。 我们将重点拆解 Linux 运维工程师的核心技能栈,包括 Linux 操作系统基础、Zabbix 企业级监控、Docker 容器化、MySQL 数据库管理以及 Nginx Web

weixin_30448603的博客 415

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

3小时从零部署NeatLogic ITOM:企业级运维平台的完整指南

你是否还在为复杂的IT运维管理而烦恼?企业IT系统分散、运维流程混乱、自动化程度低,这些问题让运维团队疲于奔命。今天,我将带你用3小时从零开始部署NeatLogic ITOM平台——这是一款渐进式IT运维管理解决方案,集成了ITSM服务管理、CMDB配置管理、自动化运维和巡检监控等核心功能。无论你是技术爱好者还是运维工程师,都能通过这个开源平台快速搭建一套完整的IT运维管理体系。 ## 🎯 问

gitblog_00881的博客 637

linux企业运维LAMP架构----3.nginx配置管理(并发优化 负载均衡+反向代理 平滑升级 算法扩展 限流 配置管理 重定向 防盗链)

前言 nginx相比较与apache最明显的优势是轻量级、高并发,配置也相当于apache更简洁。本节内容将介绍nginx的相关功能配置,包括nginx的并发优化、负载均衡、平滑升级、nginx限流、配置管理(自动索引、缓存配置、日志轮询、禁用不必要日志、站点目录和文件限制、中文乱码解决、限制IP)、nginx重定向、防盗链等。 一、nginx的并发优化 ulimit -a #用来显示当前的用户可以打开文件的限制 vim /usr/local/nginx/conf/nginx.conf // wo

weixin_47665572的博客 486

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

GridBNB-USDT部署指南:在Linux系统上搭建企业级交易环境

GridBNB-USDT是一款基于AI的自动化交易程序,专为数字货币市场(BNB/USDT)设计,通过AI算法帮助用户在数字货币市场中实现全自动化交易并做出更智能的交易决策。本文将详细介绍如何在Linux系统上搭建稳定高效的企业级交易环境。 ## 📋 系统准备与环境要求 在开始部署前,请确保您的Linux系统满足以下基本要求: - 操作系统:Ubuntu 20.04 LTS或更高版本 - 内

gitblog_00076的博客 513

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

.NET WebAPI:用 Nginx 还是 IIS 更好

摘要:本文对比了.NET WebAPI部署中IIS与Nginx的选择问题。IIS适合Windows环境、企业内部系统,提供可视化管理和完善的安全机制;Nginx则更适合高性能、跨平台和微服务架构。建议根据具体场景选择:Windows环境选IIS,Linux或高并发需求选Nginx,也可采用IIS+Nginx组合方案。两者各有所长,关键是根据项目需求(性能、运维、成本等)选择最适合的部署方式。

m0_74000869的博客 861
上一篇: Linux企业运维——Red7.6封装虚拟机
下一篇: Linux企业运维——nginx+php、tomcat+memcache交叉存放、goaccess日志可视化
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值