💗wei_shuo的个人主页
💫wei_shuo的学习社区
🌐Hello World !
Nginx
Nginx是一个高性能的HTTP和反向代理服务器,也可用作电子邮件代理服务器和通用TCP/UDP代理服务器。它是一个轻量级的Web服务器,可以作为静态资源服务器、负载均衡器和反向代理服务器使用。Nginx的优点包括高性能、低内存消耗、高并发连接、灵活性和可扩展性等,因此得到了广泛的应用
- 高性能:Nginx采用事件驱动、异步非阻塞的处理方式,能够在高负载下保持稳定的性能
- 低内存消耗:Nginx在处理请求时占用的内存非常少,因此可以在资源有限的情况下运行
- 高并发连接:Nginx能够支持大量的并发连接,可以处理数百万个并发连接
- 灵活性:Nginx支持自定义模块和插件,可以根据需要进行扩展
- 可扩展性:Nginx可以通过多个服务器进行负载均衡,从而提高系统的可扩展性
正向代理
正向代理:指客户端通过代理服务器来访问其他服务器的过程。在正向代理模式下,代理服务器充当客户端和目标服务器之间的中间人,客户端向代理服务器发送请求,代理服务器再将请求转发给目标服务器,然后将目标服务器的响应返回给客户端。正向代理的主要作用是隐藏客户端的IP地址和提高访问速度,也可以用于访问受限制的网站
反向代理
反向代理:指客户端通过代理服务器来访问自己的服务器的过程。反向代理模式,代理服务器充当目标服务器和客户端之间的中间人,客户端向代理服务器发送请求,代理服务器再将请求转发给目标服务器,然后将目标服务器的响应返回给客户端。反向代理的主要作用是隐藏服务器的IP地址和提高访问速度,也可以用于负载均衡和缓存数据
负载均衡
负载均衡是指将网络流量分摊到多个服务器上,以提高网络性能、增加吞吐量、降低响应时间和提高可用性等。负载均衡可以通过多种方式实现,包括软件负载均衡和硬件负载均衡;Nginx负载均衡的策略主要包括以下几种:
轮询:轮询是Nginx默认的负载均衡策略,它将请求依次分配给每个后端服务器,保证每个服务器都能平均分配请求负载
加权轮询:加权轮询策略可以根据后端服务器的性能和负载情况,给每个服务器分配不同的权重值,然后按照权重值进行轮询分配请求,从而使得性能较好的服务器能够处理更多的请求
IP Hash:IP Hash策略根据客户端的IP地址进行哈希运算,将相同IP地址的请求分配给同一个后端服务器,这样可以保证同一个客户端的请求都落到同一台服务器上,从而避免了会话状态的问题
最少连接:最少连接策略会将请求分配给当前连接数最少的后端服务器,这样可以使得负载均衡器将请求分配给连接能力最强的后端服务器
加权最少连接:加权最少连接策略将请求分配给当前权重值和连接数最少的后端服务器,这样可以根据后端服务器的性能和负载情况,动态地分配请求负载
轮询
轮询是Nginx默认的负载均衡策略,它将请求依次分配给每个后端服务器,保证每个服务器都能平均分配请求负载
加权轮询
加权轮询策略可以根据后端服务器的性能和负载情况,给每个服务器分配不同的权重值,然后按照权重值进行轮询分配请求,从而使得性能较好的服务器能够处理更多的请求
IP Hash
IP Hash策略根据客户端的IP地址进行哈希运算,将相同IP地址的请求分配给同一个后端服务器,这样可以保证同一个客户端的请求都落到同一台服务器上,从而避免了会话状态的问题
动静分离
Nginx动静分离是一种优化Web服务器性能的常用技术,它通过将静态资源和动态资源分开处理,从而提高Web服务器的性能和吞吐量
Nginx安装:Windows
- Nginx官网:http://nginx.org/en/download.html
- 下载稳定版
- 解压到安装目录后,输入cmd启动Nginx
- 启动时报错80端口被占用
D:\nginx\nginx-1.24.0>nginx.exe nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
- 打开Nginx配置文件修改端口
- cmd命令再次启动Nginx,浏览器访问即可(localhost:8080)
Nginx安装:Linux
- Nginx官网:http://nginx.org/en/download.html
- 使用xftp将安装包传到Linux
- 解压安装
tar -zxvf nginx-1.24.0.tar.gz
- 运行配置文件
./configure
- 构建软件
make make install
- 查看Nginx位置
whereis nginx
- 进入Nginx目录sbin中,执行nginx文件
[root@localhost sbin]# ./nginx [root@localhost sbin]# curl 192.168.51.140:80 Welcome to nginx!
- 如果端口占用则更换端口(nginx.conf)
Nginx 常用命令
./nginx | 启动 |
---|---|
./nginx -s stop | 停止 |
./nginx -s quit | 安全退出 |
./nginx -s reload | 重新加载配置文件 |
ps aux grep nginx | 查看nginx进程 |
🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——
点赞
👍收藏
⭐️评论
📝