一、nginx简介

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器   ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。  

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。 

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

二、nginx安装

1、安装nginx依赖

#安装gcc
yum install gcc-c++
 
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
 
#安装zlib
yum install -y zlib zlib-devel
 
#安装Open SSL
yum install -y openssl openssl-devel

2、下载nginx安装包

wget http://nginx.org/download/nginx-1.24.0.tar.gz

也可以到官网下载 http://nginx.org/en/download.html

Linux搭建nginx+frp内网穿透服务,配置多个服务_服务器

编辑

下载完成后将压缩包使用winscp或其它工具上传至服务器

3、解压nginx压缩包 

tar -xvf nginx-1.24.0.tar.gz

4、安装nginx

#进入nginx目录
cd /usr/local/nginx
#进入目录
cd nginx-1.24.0
#编译 执行命令 考虑到后续安装ssl证书 添加两个模块  如不需要直接执行./configure即可
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make
#执行make install命令
make install

5、启动nginx

cd /usr/local/nginx/sbin
# 默认配置文件启动
./nginx

# 指定配置文件启动
./nginx -c  /usr/local/nginx/conf/nginx.conf

在浏览器中输入服务器ip即可看见nginx启动成功

Linux搭建nginx+frp内网穿透服务,配置多个服务_服务器_02

编辑

6、停止重启nginx 

# 停止指令
./nginx -s stop
# 或
./nginx -s quit

# 重启命令
./nginx -s reload

三、frp简介

FRP(Fast Reverse Proxy)是一种轻量级的反向代理服务,可以帮助将本地服务器暴露到公网上。FRP支持TCP/UDP协议,可以进行流量转发、负载均衡、端口映射等功能,将内网服务暴露到公网上,实现穿透NAT,让外部用户可以直接访问内网服务。

FRP分为客户端和服务端两部分,客户端部署在内网服务器上,服务端部署在公网服务器上,通过对称加密算法的相互配合,实现了安全可靠的内外网通信。同时,FRP支持多种端口映射、多协议转发、域名转发等功能,可根据不同需求进行灵活配置。

FRP是一个开源的项目,代码托管在GitHub上,目前已经得到广泛应用。

四、安装frp

1、准备

一台公网服务器(配置无要求网络稳定就行),服务器端,如公网IP:47.94.14.217。
内网客户端(准备要穿透出去的设备),客户端,如内网IP:192.168.10.221。

2、下载frp安装包

gitlab地址:https://github.com/fatedier/frp

下载完成后将压缩包使用winscp或其它工具上传至服务器

直接解压就可使用,无需安装

3、服务端配置与启动

服务端配置文件为 frps.ini,打开修改配置文件

[common]
# 绑定客户端的端口,与对应的客户端保持一致
bind_port = 17000
# 外部访问端口
vhost_http_port = 28000

启动命令

./frps -c frps.ini &

Linux搭建nginx+frp内网穿透服务,配置多个服务_服务器_03

编辑

 4、客户端配置与启动

客户端配置文件为 frpc.ini,打开修改配置文件

[common]
# 公网服务器ip地址
server_addr = 47.94.14.217
# 此处端口号要与服务端的一致
server_port = 17000

[web1]
# 协议类型
type = http
# 本地ip
local_ip = 192.168.10.221
# 本地服务端口号
local_port = 28000
# 远程地址,可以配域名也可配ip
custom_domains = 47.94.14.217

启动命令

./frpc -c frpc.ini &

5、代理oracle、mysql数据库

服务端

[common]
bind_port = 17011

客户端

[common]
server_addr = 47.94.14.217
server_port = 17011

[oracl]
type = tcp
local_ip = 192.168.10.221
local_port = 1524
remote_port = 11524