Nginx反向代理基础(通过frp实现)

1 篇文章 0 订阅

目录

前言

Nginx是什么?

什么是反向代理?

Nginx应用

准备工作

Nginx安装

1.安装依赖

2.下载Nginx

3.解压文件

4.编译环境

5.安装

7.启动

8.防火墙配置

Nginx常用命令

启动:

停止:

重新加载:

检查配置文件

开始部署

一,配置frp穿透工具

三台主机安装操纵同理

反向代理主机frp设置

A主机frp设置

B主机frp设置

二,反向代理主机配置

编辑ngnx.conf文件

启动nginx

三,A,B主机nginx设置

测试

四,总结


前言

Nginx是什么?

​ Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,作为一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 。

什么是反向代理?

反向代理是指服务器收到客户端的请求后,将请求转发给后端的服务器,然后将后端服务器的响应返回给客户端。在Nginx中,可以通过配置反向代理来实现负载均衡、缓存、SSL终端等功能。

Nginx应用

nginx主要用于处理“高并发”(就是服务器在短时间内遇到大量操作请求处理),处理数据量大的WEB。

“打个比方你开一个小店铺有两位员工,中午的时候来了一万个人来店里吃饭,平时店里也就容纳20个顾客来吃饭一下次来这么多人你的店不得挤爆了还要在中午休息的时间内做好饭菜,两名员工炒个菜能把锅子炒坏”

准备工作

三台linux主机:

  1. centos7一台取名A主机 IP:192.168.179.143;
  2. centos7一台取名B主机 IP:192.168.179.144;
  3. centos7一台取名代理主机;这是一台能外网服务器有公网IP 在这里可以一个便宜的主机——————》》》腾讯云

域名一个:

我们可以在网络上申请一个免费的域名,如果你只是想在局域网测试话完全没有必要申请域名我们只需要修改DNS即可。

FRP:

内网主机我们使用frp来进行一个内网穿透模拟两台外网主机。

反向代理:代理的是服务端,让用户无感知地浏览服务器资源如图1:客户(可以是多个)访问我们的域名"www.demo(测试).com"指向代理服务器再由代理服务器负载均衡到A主机和B主机(也可以分配权重)。

图1

这里简单了解内置策略:

轮询:有一个1,2,3,4服务处理我们的A主机先开始处理1,B主机处理2,再开始A主机3

B主机4。

加权轮询:

就是有多个苹果你一个我一个前提下我帅一点我就多分一个苹果(实际情况下还是有一点不同是根据权重来分配)。

Ip hash:

根据用户请求过来的ip再映射成hash值分配到一个特定的服务器里面。

Nginx安装

由于这里三台主机都没有安装Nginx,在安装过程中三台主机是一样的操作。

1.安装依赖

如图2

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
图2
2.下载Nginx
wget https://nginx.org/download/nginx-1.16.1.tar.gz

如果不存在命令那先就安装wget,如图3表示下载成功。

yum install -y wget
图3
3.解压文件

我直接解压到当前目录吧!

tar -zxvf nginx-1.16.1.tar.gz

解压完后使用”ls“命令可以看到nginx解压文件如图4。

图4
4.编译环境

一次输入以下命令:

cd nginx-1.16.1/  
./configure --prefix=/usr/local/nginx

--prefix 指定的安装目录这里指定/usr/local/nginx目录

如图5编译环境成功我需要注意一些安装,配置目录我们后期会用到。

图5
5.安装

如图6成功安装

make & make install
图6
7.启动

我们进入目录/usr/local/nginx/sbin启动:

cd /usr/local/nginx/sbin 
./nginx

如图7查看nginx任务:ps -aux | nginx

图7
8.防火墙配置

我们开放80 443端口。

firewall-cmd --add-port=80/tcp --add-port=443/tcp --permanent
 firewall-cmd --reload

如图8可以看到运行nginx成功

图8

Nginx常用命令

要在/usr/local/nginx/sbin目录运行哦!也可以这样不要进入目录直接运行哎算啦!

  • 启动:
./nginx
  • 停止:
./nginx -s stop
  • 重新加载:
./nginx -s reload
  • 检查配置文件
./nginx -t

有这些就够了。

开始部署

一,配置frp穿透工具

  • 三台主机安装操纵同理

下载:

wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz

解压:

 tar -zxvf frp_0.33.0_linux_amd64.tar.gz  ##解压
  • 反向代理主机frp设置

进入目录:

cd frp_0.33.0_linux_amd64

编辑文件:

vim frps.ini 

写入以下文件:

[common]
 
##于客户端和服务端连接的端口
bind_port = 7000
dashboard_port = 7500
authentication_timeout = 0
token = asddemo@1111
dashboard_user = demo
dashboard_pwd = demo123@

输入命令启动:

./frps -c frps.ini 
  • A主机frp设置

进入目录

cd frp_0.33.0_linux_amd64/

编辑frpc.ini

server_addr = 39.99.xx.xx
server_port = 7000
authentication_method = token
authentication_new_work_conns =true
token = asddemo@1111
tls_enable = true

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

[web1]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 8080
  • B主机frp设置

编辑文件:

server_addr = 39.99.xx.xx
server_port = 7000
authentication_method = token
authentication_new_work_conns =true
token = asddemo@1111
tls_enable = true

[RDP2]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3388

[web2]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 8081

39.99.xx.xx  是我们的代理主机。

我在A,B主机上连接如图9表示启动成功。

 ./frpc -c frpc.ini

如图10开到我们已经把内网AB两主机穿透到外网了

图10

有关frp教程看:https://blog.csdn.net/aicsswo/article/details/136157901?spm=1001.2014.3001.5502

二,反向代理主机配置

  • 编辑ngnx.conf文件
vim /usr/local/nginx/conf/nginx.conf

方框必须一样如图11就添加两个地方。

图11

weight=1 代表权重1  谁的权重大接受负载就越多。

  • 启动nginx

进入/usr/local/nginx/sbin目录先停止nginx服务器:

cd /usr/local/nginx/sbin

停止nginx:

./nginx -s stop

在启动:

./nginx 

重新加载配置文件:

./nginx -s reload

三,A,B主机nginx设置

a,b主机nginx只要启动即可,我简单把index.html文件更改了方便我们观察。

cd /usr/local/nginx/html

编辑index.html

vim index.html

如图12代表A主机:

图12

在到B主机编辑同理步骤如图12

图12
  • 测试

当我访问代理主机域名第一次刷星的时候如图13,负载在主机A,第二次刷新在主机B如图14。

图13

图14

无法保存问题解决:

当保存是输入:”:wq“ 提示权限不足如图,我们是root权限用强制保存” :wq! “。

80端口被占用:

fuser -k 80/tcp #关闭占用80端口的程序

四,总结

测试总归还是测试,在实际情况下会遇到各种问题,现实也不是这么玩的。

  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值