-
Linux Nginx 反向代理
2020-03-03 11:35:20这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web 服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。 实现这个反向代...使用代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求 均匀转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web 服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。
实现这个反向代理能力并不能算是一个特别复杂的任务,每针对一次代理,代理服务器就 必须打开两个连接,一个为对外的连接,一个为对内的连接,因此对于连接请求数量非常大的时候,代理服务器的负载也就非常之大了,在最后反向代理服务器会成 为服务的瓶颈。
使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能,具备额外的安全性,外部客户不能直接访问真实的服务器。并且实现起来可以实现较好的负载均衡策略,将负载可以非常均衡的分给内部服务器,不会出现负载集中到某个服务器的偶然现象。
-
实验环境:
-
网站域名 : www.myweb.com
-
Server 192.168.1.2 CentOS 7.5 Nginx反向代理+DNS服务器
-
Web 1 192.168.1.3 CentOS 7.5 Nginx+MariaDB
-
Web 2 192.168.1.4 CentOS 7.5 Nginx+PHP+BBS
-
Web 3 192.168.1.5 CentOS 7.5 Nginx+PHP+BLOG
-
Server 192.168.1.2 配置 Nginx 作为反向代理服务器,放置到三台 Web 服务器之前,作为用户访问的入口
Web 1 服务器仅仅处理静态页面,动态的页面(php请求)统统都交付给后台的Web 2 和 Web 3 服务器来处理。也就是说,可以把网站的静态页面或者文件放置到 Web 1下;动态的页面和数据库访问都保留到后台的 Web+PHP 服务器上。
- 首先在 Server 192.168.1.2 上安装、配置 Nginx 和 DNS
- 详细安装、配置请参考拙作:
- DNS :https://blog.csdn.net/gaofei0428/article/details/103752324
- Nginx + PHP :https://blog.csdn.net/gaofei0428/article/details/104058580
- LNMP 部署分离:https://blog.csdn.net/gaofei0428/article/details/104224132
- 部署 LNMP 搭建 Discuz 和 WordPress:https://blog.csdn.net/gaofei0428/article/details/104269959
- 下面列出配置结果
- /var/named/myweb.com.zone
$TTL 1D
@ IN SOA www.myweb.com. root.myweb.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS www.myweb.com.
MX 10 root.mytest.com.
www IN A 192.168.1.3
bbs IN A 192.168.1.4
blog IN A 192.168.1.5
root IN A 192.168.1.2
- /etc/named.rfc1912.zones
zone "myweb.com" IN {
type master;
file "myweb.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "myweb.com.zone";
};
- 将本地 DNS 指向本机后,测试 DNS
-
Nginx 反向代理设置
-
server { #设置 Web 1
listen *:80;
location / {
proxy_pass http://www.myweb.com;
root /data/web/;
index index.html index.htm index.php;
}
}
server { #设置 Web 2
listen *:80;
location / {
proxy_pass http://bbs.myweb.com;
root /data/web/bbs;
index index.html index.htm index.php;
}
}
server { #设置 Web 3
listen *:80;
location / {
proxy_pass http://blog.myweb.com;
root /data/web/blog;
index index.html index.htm index.php;
}
}
- 启动 Nginx 服务
- Web 1 设置
- Web 2 和 Web 3 设置
- 下面开始测试,首先将 WINDOWS 的 DNS 指向 Server 192.168.1.2
-
-
Nuxt项目部署到Linux Nginx反向代理 Kaki的博客
2020-04-05 15:45:38Nuxt项目部署到Linux Nginx反向代理 Kaki的博客 1.nuxt 项目先本地执行 yarn build命令 2.拷贝下面标记的文件至服务器部署目录/opt/deploy/front 3.进入目录执行(linux) cd /opt/deploy/front npm install -...Nuxt项目部署到Linux Nginx反向代理 Kaki的博客
1.nuxt 项目先本地执行 yarn build命令
2.拷贝下面标记的文件至服务器部署目录/opt/deploy/front
3.进入目录执行(linux)cd /opt/deploy/front npm install -production npm run start
4.nginx配置
server { listen 80; server_name www.test.com; location / { root /opt/deploy/front; # 前端文件目录 proxy_pass http://127.0.0.1:3000; } }
注意:在执行npm install -production时建议使用淘宝的npm镜像
淘宝镜像安装步骤1.安装淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
2.设置为淘宝镜像
npm config set registry https://registry.npm.taobao.org;
3.查看当前镜像库
npm config get registry;我的部署成功画面
希望能帮到你!
欢迎点赞关注收藏哦 ,码云搜索KakiNakajima -
linux nginx反向代理配置
2018-11-02 10:55:06linux nginx反向代理配置 location ^~/api/ { proxy_pass http://192.168.1.50:82/; }linux nginx反向代理配置
location ^~/api/ { proxy_pass http://192.168.1.50:82/; }
-
LINUX Nginx反向代理
2019-05-24 19:49:24使用Nginx实现Web反向代理功能,实现如下功能: 后端Web服务器两台,可以使用httpd实现 Nginx采用轮询的方式调用后端Web服务器 两台Web服务器的权重要求设置为不同的值 最大失败次数为1,失败超时时间为30秒...1.1 问题
使用Nginx实现Web反向代理功能,实现如下功能:
后端Web服务器两台,可以使用httpd实现
Nginx采用轮询的方式调用后端Web服务器
两台Web服务器的权重要求设置为不同的值
最大失败次数为1,失败超时时间为30秒
1.2 方案
使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.5和192.168.2.5,两台Web服务器IP地址分别为192.168.2.100和192.168.2.200。客户端测试主机IP地址为192.168.4.10。如图-1所示。图-1
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:部署实施后端Web服务器
1)部署后端Web1服务器
后端Web服务器可以简单使用yum方式安装httpd实现Web服务,为了可以看出后端服务器的不同,可以将两台后端服务器的首页文档内容设置为不同的内容。1.[root@web1 ~]# yum -y install httpd 2.[root@web1 ~]# echo "192.168.2.100" > /var/www/html/index.html 3.[root@web1 ~]# systemctl restart httpd 4.[root@web1 ~]# firewall-cmd --set-default-zone=trusted 5.[root@web1 ~]# setenforce 0
2)部署后端Web2服务器
1.[root@web2 ~]# yum -y install httpd 2.[root@web2 ~]# echo "192.168.2.200" > /var/www/html/index.html 3.[root@web2 ~]# systemctl restart httpd 4.[root@web2 ~]# firewall-cmd --set-default-zone=trusted 5.[root@web2 ~]# setenforce 0
步骤二:配置Nginx服务器,添加服务器池,实现反向代理功能
1)修改/usr/local/nginx/conf/nginx.conf配置文件1.[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf 2... .. 3.http { 4... .. 5.#使用upstream定义后端服务器集群,集群名称任意(如webserver) 6.#使用server定义集群中的具体服务器和端口 7.upstream webserver { 8. server 192.168.2.100:80; 9. server 192.168.2.200:80; 10. } 11... .. 12.server { 13. listen 80; 14. server_name localhost; 15. location / { 16.#通过proxy_pass将用户的请求转发给webserver集群 17. proxy_pass http://webserver; 18. } 19.}
2)重启nginx服务
1.[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload 2.#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下: 3.#[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
3)客户端使用浏览器访问代理服务器测试轮询效果
1.[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果 2.[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果
步骤二:配置upstream服务器集群池属性
1)设置失败次数,超时时间,权重
weight可以设置后台服务器的权重,max_fails可以设置后台服务器的失败次数,fail_timeout可以设置后台服务器的失败超时时间。1.[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf 2... .. 3.http { 4... .. 5.upstream webserver { 6. server 192.168.2.100 weight=1 max_fails=1 fail_timeout=30; 7. server 192.168.2.200 weight=2 max_fails=2 fail_timeout=30; 8. server 192.168.2.101 down; 9. } 10.#weight设置服务器权重值,默认值为1 11.#max_fails设置最大失败次数 12.#fail_timeout设置失败超时时间,单位为秒 13.#down标记服务器已关机,不参与集群调度 14... .. 15.server { 16. listen 80; 17. server_name localhost; 18. location / { 19. proxy_pass http://webserver; 20. } 21.}
2)重启nginx服务
1.[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload 2.#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下: 3.#[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
3)关闭一台后端服务器(如web1)
1.[root@web1 ~]# systemctl stop httpd
4)客户端使用浏览器访问代理服务器测试轮询效果
1.[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果
5)再次启动后端服务器的httpd(如web1)
1.[root@web1 ~]# systemctl start httpd
6)客户端再次使用浏览器访问代理服务器测试轮询效果
1.[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果
步骤三:配置upstream服务器集群的调度算法
1)设置相同客户端访问相同Web服务器1.[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf 2... .. 3.http { 4... .. 5.upstream webserver { 6.#通过ip_hash设置调度规则为:相同客户端访问相同服务器 7. ip_hash; 8. server 192.168.2.100 weight=1 max_fails=2 fail_timeout=10; 9. server 192.168.2.200 weight=2 max_fails=2 fail_timeout=10; 10. } 11... .. 12.server { 13. listen 80; 14. server_name www.tarena.com; 15. location / { 16. proxy_pass http://webserver; 17. } 18.}
2)重启nginx服务
1.[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload 2.#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下: 3.#[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
3)客户端使用浏览器访问代理服务器测试轮询效果
[root@client ~]# curl http://192.168.4.5 //使用该命令多次访问查看效果
-
新linux Nginx反向代理 ,负载均衡
2021-03-03 17:20:47• 启动 nginx: sbin/nginx 或者./nginx • 关闭 nginx: sbin/nginx -s stop • 重新加载: sbin/nginx -s reload 当然了如果你实在懒可以查询nginx 端口 losf -i:端口 kill -9 PID Nginx 详细介绍 介绍各种参数... -
Linux Nginx反向代理小实例
2015-12-31 15:13:00到此为止,我也不能说清楚什么事反向代理,我只知道nginx在签名做了一层代理,把请求都收到,然后分发给配置的真实的服务。并且把返回response给客户端; 准备工作;安装好nginx;安装好apache; 配置nginx代理; ... -
linux nginx反向代理实现负载均衡
2017-11-08 15:39:01本人是一个菜鸟,刚开始学习linux搭一个最简单的负载均衡弄了一天半,网上代码一大片勉强看懂,现在分享一下最简单的负载均衡: 首先你得有LNMP环境,我说的是分布式,有用phpstudy的就算了,然后你可以通过nginx/... -
linux配置nginx反向代理
2020-05-07 15:05:13将web项目部署到服务器之后,通过nginx反向代理可以帮助隐藏web项目所在的端口号,避免了端口暴露在外的风险,本文主要讲述反向代理的概念和在linux环境下如何配置nginx反向代理。 1.什么是反向代理? 反向代理... -
Linux安装Nginx反向代理
2019-01-16 16:04:23Linux安装Nginx反向代理 Nginx是一款轻量级Web服务器、也是一款反向代理服务器,Nginx可直接支持Rails和PHP的程序、可作为HTTP反向代理服务器、可作为负载均衡服务器、作为邮件代理服务器、帮助实现前端动静分离。 ... -
linux_nginx反向代理
2017-12-27 15:38:00什么代理? 代理他人工作 什么是正向代理和反向向代理,他们之间的区别? 这两个代理很类似,但扮演了两个不同角色,一个站在用户角度,一个站在...Nginx反向代理使用 Nginx支持L7,1.9以上版本支持L4 # L7... -
Linux搭建nginx反向代理
2020-06-27 16:35:53打开要进行反向代理的项目server:加入反向代理代码;nginx.conf location /abcd { proxy_http_version 1.1; proxy_pass http://0.0.0.0:9503;#这个地方是你需要进行实际访问的网址地址; proxy_redirect off; ... -
远程 Linux 配置 Nginx 反向代理
2020-12-07 08:56:29通过Windows向远程Linux发送nginx相关文件后编辑 nginx-1.18.0/conf/nginx.conf 文件,结合反向代理流程图理解反向代理: 关键部分即 upstream 项目名称 { server IP地址:8080; } 以及 server{···} 下的 proxy_... -
linux-快速创建nginx反向代理
2019-08-13 18:50:55快速创建nginx反向代理 -
Linux中Nginx反向代理实现访问Tomcat首页
2020-11-27 22:47:25Linux系统中通过Nginx反向代理实现在浏览器中输入网址访问tomcat首页 访问过程逻辑图分析图 最终实现效果: 如果不清楚Linux中安装Nginx和Tomcat的可以看下我另外两篇关于Linux中安装Nginx和Tomcat的博客 ... -
宝塔Linux面板Nginx反向代理配置方法
2021-02-04 15:32:48nginx反向代理的指令不需要新增额外的模块,默认自proxy_pass指令,只需要修改配置文件就可以实现反向代理。 首先在代理的机器上加入,你要进行反代的域名↓(如图所示) 然后在返回面板,点击网站设置刚刚你要反... -
Linux 下 Nginx 反向代理 负载均衡配置
2018-01-09 16:32:00上一篇分享了 Nginx + JDK + Tomcat + MySQL 安装使用指南,感觉还是相当实用的,本篇主要介绍 Nginx 反向代理和负载均衡的配置方法。先看一下 Nginx 反向代理的过程: 然后看一下Nginx负载均衡的过程(会自动选.... -
Linux-Nginx反向代理服务
2019-05-29 21:52:40Nginx是反向代理,代理的是服务器,不同于我们平时使用的类似于vpn之类的正向代理,他们代理的是客户端. 配置Nginx 在software目录下创建一个新文件夹tomcats用来放置tomcat服务器:mkdir tomcats 把tomcat复制到... -
Linux-nginx反向代理
2020-02-22 23:17:37二、 反向代理服务器-nginx Nginx作为反向代理服务器,安装在目的主机端,主要用于转发客户机请求,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后面的服务器,决定哪台目标主机来处理当前请求。... -
linux安装nginx反向代理tomcat
2020-02-27 19:35:39一、下载Nginx 自行下载想要的版本:华为开源镜像站 没有更新工具可以更新下工具 yum update yum -y install wget 进入要安装的目录 cd /usr/local/ wget ... -
linux 安装 nginx 反向代理服务器
2018-08-06 14:21:36nginx是一款著名的反向代理服务器,它在一定程度上可以代替apache的作用。 首先安装nginx的依赖包。gcc,pcre,zlib,openssl。使用yum安装即可。 接着在nginx.org下载稳定版本安装包。正常解压后使用configure,...