Nginx初探

1.Nginx简介

Nginx ("engine x") 是一个高性能的HTTP反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的。

何为反向代理呢?即以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

而Nginx主要完成的工作就是反向代理,比如我们向一台服务器的80端口发送了请求,该请求首先由Nginx监听到,其接受到请求内容后再转发给其他服务器,其他服务器处理完后再将结果传送给Nginx,最后由Nginx来统一返回给初始请求端。

Nginx最常见的使用方法就是作为静态资源服务器,比如将CSS,JS,html,htm等文件进行缓存处理。

2.环境搭建

2.1,首先在官网中下载所需版本:http://nginx.org/en/download.html

下载完毕后,解压

2.2,启动Nginx,开启Nginx有两种方法:一种是直接点击exe可执行文件开启;一种是命名行开启,命令如下

start nginx  启动nginx
nginx -s reload  修改配置后重新加载生效
nginx -s reopen  重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

关闭nginx:
nginx -s stop  快速停止nginx
nginx -s quit  完整有序的停止nginx

2.各个参数含义解释


#user  nobody;
worker_processes  1;
error_log  logs/error.log debug;  #制定日志路径,级别

events {
	accept_mutex on;  #设置网路连接序列化,防止惊群现象发生,默认为on
    multi_accept on;  #设置一个进程是否同时接受多个网络连接
    worker_connections  1024;  #最大连接数
}

http {
    include  mime.types;
    default_type  application/octet-stream;
	upstream myserver {
      server localhost:8080 weight=5;
      server localhost:8090 backup;  #热备
    }
    server {
        listen  8443;
        server_name  localhost;
        location / {
            root  html;  #页面根目录
            index  index.html index.htm;  #默认页
            proxy_pass  http://myserver;  #请求转向自定义的服务器列表
        }
		#server error pages to the static page /50x.html
        error_page  500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

①,backup指令

upstream  proxyserver { 
        server   localhost:8080; 
        server   192.168.1.15:8080 backup; 
} 

只要在希望成为后备的服务器ip后面多添加一个backup参数,这台服务器就会成为备份服务器。 在平时不使用,nginx不会给它转发任何请求。只有当其他节点全部无法连接的时候,nginx才会启用这个节点。 一旦有可用的节点恢复服务,该节点则不再使用,又进入后备状态。

可以两台机子互为热备,平时各自负责各自的服务。在做上线更新的时候,关闭一台服务器的tomcat后,nginx自动把流量切换到另外一台服务的后备机子上,从而实现无痛更新,保持服务的持续性,提高服务的可靠性

②,root指令

location /img/ {
    alias /var/www/image/;
}

若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件

location /img/ {
    root /var/www/image;
}
若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件。

alias是一个目录别名的定义,root则是最上层目录的定义。

*还有一个重要的区别是alias后面必须要用"/"结束,否则会找不到文件,而root则可有可无。

③,accept_mutex指令

events { 
    accept_mutex off; 
} 

让我们看看accept_mutex的意义:当一个新连接到达时,如果激活了accept_mutex,那么多个Worker将以串行方式来处理,其中有一个Worker会被唤醒,其他的Worker继续保持休眠状态;如果没有激活accept_mutex,那么所有的Worker都会被唤醒,不过只有一个Worker能获取新连接,其它的Worker会重新进入休眠状态,这就是「惊群问题」。

Nginx缺省激活了accept_mutex,是一种保守的选择。如果关闭了它,可能会引起一定程度的惊群问题,表现为上下文切换增多(sar -w)或者负载上升,但是如果你的网站访问量比较大,为了系统的吞吐量,我还是建议大家关闭它。

④,ip_hash指令

原理是ip_hash技术能够将某个ip的请求定向到同一台服务器,这样一来这个ip下的客户端就能和后端某个服务器建立起稳固的session。

参考博客:

https://hillside.iteye.com/blog/703281

https://blog.youkuaiyun.com/bjash/article/details/8596538

https://blog.youkuaiyun.com/adams_wu/article/details/51669203

https://blog.youkuaiyun.com/hjgzj/article/details/45222223

 

【unet改进实战】基于unet+SCSE注意力机制改进实现的【自动驾驶】图像语义分割+项目说明书+数据集+完整代码 项目概述 本项目基于PyTorch框架构建了一个通用图像分割系统,全面支持二分类及多类别分割任务。 系统功能 该系统提供从数据预处理到模型训练、验证评估的全流程解决方案,具备高度可配置性和实用性: 数据处理:支持自定义图像和掩码文件格式(如.jpg、.png等),自动处理不连续标签值,集成多种数据增强技术提升模型泛化能力 模型架构:基于UNet实现,可通过参数灵活调整输入尺寸、卷积通道数等,兼容不同类别数量的分割任务(通过--num_classes参数指定) 训练功能:支持GPU加速,提供学习率、批次大小等超参数配置选项,实时记录损失曲线和评估指标(如IoU、Dice系数),自动保存最优模型权重 使用流程 按规范组织数据集(图像与掩码文件需名称对应,分别存放在images/masks子目录) 通过命令行参数启动训练,可指定: 数据路径(--data_dir) 学习率(--learning_rate) 标签映射规则(--label_mapping)等 系统输出包含: 模型权重文件(.pth) 训练曲线可视化图表 指标日志文件 注意事项 掩码图像应为单通道灰度图,标签值为整数 多分类任务推荐使用one-hot编码掩码 项目依赖主流科学计算库(PyTorch、NumPy)及可视化工具(Matplotlib),安装简便 应用领域 该系统适用于医学影像、遥感等领域的语义分割任务,兼顾易用性与扩展性。用户可通过调整UNet深度或添加注意力机制等方式进一步优化性能。 【项目说明书】包含完整代码实现与原理讲解。https://blog.youkuaiyun.com/qq_44886601/category_12858320.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值