1、腾讯云购买域名并备案以及解析
我注册的域名是第一年14元的
(1)购买域名并备案
(2)域名解析
测试:如域名为gulimall.com
则在浏览器中输入gulimall.com:9200
(前提是9200端口已经开放)
2、frp服务端设置(云服务器)
(1)下载
wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
云服务器下载linux版本注意frps的配置即可,本地下载windows版本注意frpc的配置即可
(2)解压
tar -zxvf frp_0.20.0_linux_amd64.tar.gz
(3)修改frps.ini(frp server 服务端)
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 88
- “bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
- “dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 云服务器ip:7500 查看frp服务运行信息。
- “token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
- “dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。
- “vhost_http_port":注意我们通过
云服务器ip : vhost_http_port
去访问本地主机被穿透的端口
(4)测试运行frpc服务端
命令:
./frps -c frps.ini
成功:
此时访问 云服务器ip : 7500
并使用自己设置的用户名密码登录,即可看到仪表板界面
(5)设置frpc后台运行
nohup ./frps -c frps.ini &
成功:
此时可先使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs
命令查看后台运行的程序
3、frp客户端设置(本地主机)
(1)修改frpc.ini
[common]
server_addr = xxxxx #公网ip地址
server_port = 7000 #与服务端bind_port对应的端口号
token = 123456
[http]
type = http
local_ip = 127.0.0.1 #本机地址
#【本机想要暴露的地址】
#对于谷粒商城来说,我们要把这个设置为网关的端口号
local_port = 88
custom_domains = xxxxx #公网ip地址
#【注意】雷神这一步是在nginx中完成的
# 设置请求的host字段,以便网关断言
host_header_rewrite = gulimall.com
(2)运行测试
frpc.exe -c frpc.ini
(3)自启动设置
1.下载软件NSSM:NSSM - the Non-Sucking Service Manager
2.解压后打开cmd进入对应的目录:cd d:D:\nssm-2.24-101-g897c7ad\win64
3.执行指令:
.\nssm.exe install
4.填写对应的信息
4、nginx设置
我是直接修改conf.d文件夹下default.conf文件
server {
listen 80;
#【xxxx是你申请的域名】
server_name xxxx;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
# root /usr/share/nginx/html;
#【xxxx是你云服务的ip地址】
proxy_pass http://xxxxx:88;
}
}
最后访问域名可直接拿到商城主页
5、总结
- 输入域名,域名解析为云服务器ip地址
- nginx监听到server_name为域名的请求,将其转发给http://云服务器ip:88;
- frps(云服务器上的服务端)监听到88端口(对应于frps.ini里的vhost_http_port),frps通过绑定的端口号(bind_port)与本地主机连接。
- 作为frpc的本地主机通过(server_port)和(server_addr)与有frps的云服务器连接,它将会把来自于云服务器的请求转发给(
local_ip : local_port
)并且为之设置host字段(host_header_rewrite = gulimall.com
) - 最终后端项目收到了如
http://localhost:88
的请求,网关对host字段进行断言,成功后负载均衡给gulimall-product服务,最终响应商城主页。
6、其他参考文章
1、FRP内网穿透--实现公网ip远程访问内网8080端口_尬维的博客-CSDN博客_frp 端口
2、使用frp进行内网穿透 - 少数派
3、Frp内网穿透详解_Ays_Freeer的博客-CSDN博客_frp参数详解文章来源:https://www.toymoban.com/news/detail-490238.html
4、windows守护进程工具--nssm详解 - 与f - 博客园文章来源地址https://www.toymoban.com/news/detail-490238.html
到了这里,关于谷粒商城P139集——云服务器frp内网穿透+nginx的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!