nginx端口代理
2021/11/25 7:14:11
本文主要是介绍nginx端口代理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、安装Nginx
- 依赖(nginx 中:gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库) 编译需要 yum install gcc gcc-c++
- 安装依赖包
安装PCRE库
yum -y install pcre pcre-devel
安装zlib库
yum -y install zlib zlib-devel
安装ssl
yum -y install openssl openssl-devel - 安装nginx (prefix为安装位置,根据实际情况)
cd ~
wget http://nginx.org/download/nginx-1.18.0.tar.gz
$ tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.18.0
$ ./configure --prefix=/home/nginx --with-http_ssl_module --with-stream
$ make
$ make install - 设置nginx为系统服务
vim /lib/systemd/system/nginx.service
文件内容为:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/home/nginx/sbin/nginx
ExecReload=/home/nginx/sbin/nginx -s reload
ExecStop=/home/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target - 设置服务
设置nginx开机自启动:
systemctl enable nginx.service
开启nginx服务:
systemctl start nginx.service
查看nginx是否启动成功:
ps aux | grep nginx
二、配置负载均衡
- cd到nginx安装目录下的conf下
vim nginx.conf - 配置负载均衡
mv nginx.conf nginx.conf.bak
vim nginx.conf --参考配置如下
worker_processes 8 events { worker_connections 1024; } #http节点下创建 http{ #最大通过文件100M client_max_body_size 100m; server { #监听端口 listen 1234; location ^~ /{ proxy_pass http://one; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } upstream one { ip_hash; server 192.168.10.10:1232; server 192.168.10.11:1233; } server { #第二个监听端口 listen 1456; location ^~ /{ proxy_pass http://other; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } upstream other { ip_hash; server 192.168.10.12:1454; server 192.168.10.13:1455; } }
配置完重启即可
systemctl restart nginx.service
三、关于轮询策略
1.weight轮询(默认):接收到的请求按照顺序逐一分配到不同的后端服务器,即使在使用过程中,某一台后端服务器宕机,nginx会自动将该服务器剔除出队列,请求受理情况不会受到任何影响。 这种方式下,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率;权重数据越大,被分配到请求的几率越大;该权重值,主要是针对实际工作环境中不同的后端服务器硬件配置进行调整的。
2.ip_hash:每个请求按照发起客户端的ip的hash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器,这也在一定程度上解决了集群部署环境下session共享的问题。
3.fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的概率高,响应时间长处理效率低的服务器分配到的请求少;结合了前两者的优点的一种调度算法。但是需要注意的是nginx默认不支持fair算法,如果要使用这种调度算法,请安装upstream_fair模块
4.url_hash:按照访问的url的hash结果分配请求,每个请求的url会指向后端固定的某个服务器,可以在nginx作为静态服务器的情况下提高缓存效率。同样要注意nginx默认不支持这种调度算法,要使用的话需要安装nginx的hash软件包
这篇关于nginx端口代理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享