当下各种NAS各种私有云盛行的时代,如果想让其他人通过域名访问或测试本地构建的Web服务器,但是由于本地计算机没有公网固定IP,因此域名无法解析为本地计算机。 此功能可以通过frp实现。 以下示例为http Service,https服务的配置方法相同,将vhost_http_port替换为vhost_https_port,并将类型设置为https。
开始下载
SSH连上你的Linux外网服务器下载frp文件,一般Linux 64位的都是下载这个frp_0.34.0_linux_amd64.tar.gz
#Linux 32位系统
wget https://github.com/fatedier/frp/releases/download/v0.34.0/frp_0.34.0_linux_386.tar.gz
#Linux 64位系统
wget https://github.com/fatedier/frp/releases/download/v0.34.0/frp_0.34.0_linux_amd64.tar.gz
#Mac系统
wget https://github.com/fatedier/frp/releases/download/v0.34.0/frp_0.34.0_darwin_amd64.tar.gz
#
开始解压
解压tar.gz文件
tar -zxvf frp_0.34.0_linux_amd64.tar.gz
进入解压好的目录(下面这个是我当前最新版本2020-09-24)
cd frp_0.34.0_linux_amd64
开始服务端设置
服务端配置的文件是frps.ini
[common]
#系统端口
bind_port = 7000
#web端访问的端口如:test1.zuigao.com:8089
vhost_http_port = 8089
[web]
type = http
custom_domains = test1.zuigao.com
auth_token = 123456
开始客户端设置
客户端根据你的系统,下载上面对应的frp文件,操作方法是一样的,只是配置的文件不同,客户端操作的文件是frpc.ini
[common]
server_addr = test1.zuigao.com
server_port = 7000
auth_token = 123456
[web]
type = http
#本地服务的端口
local_port = 8080
custom_domains = test1.zuigao.com
frp还有很多用法的,各位可以参考详细文档和下载地址
frp启动方式一:当前窗口运行,关闭当前窗口会自动退出
服务端
/存放frp的目录/frps -c /存放frp的目录/frps.ini
客户端
/存放frp的目录/frpc -c /存放frp的目录/frpc.ini
frp启动方式二:后台运行,可以关闭当前窗口也不会自动退出
服务端
nohup /存放frp的目录/frps -c /存放frp的目录/frps.ini >/dev/null 2>&1 &
客户端
nohup /存放frp的目录/frpc -c /存放frp的目录/frpc.ini >/dev/null 2>&1 &
frp启动方式三:以服务的形式后台运行
创建服务端
sudo nano /lib/systemd/system/frps.service
服务端配置
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令
ExecStart=/存放frp的目录/frps -c /存放frp的目录/frps.ini
[Install]
WantedBy=multi-user.target
启动服务 systemctl start frps
开机自启动 systemctl enable frps
重启服务 systemctl restart frps
停止服务 systemctl stop frps
查看日志与状态 systemctl status frps
创建客户端
sudo nano /lib/systemd/system/frpc.service
客户端配置
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令
ExecStart=/存放frp的目录/frpc -c /存放frp的目录/frpc.ini
[Install]
WantedBy=multi-user.target
启动服务 systemctl start frpc
开机自启动 systemctl enable frpc
重启服务 systemctl restart frpc
停止服务 systemctl stop frpc
查看日志与状态 systemctl status frpc
frp停止方法
粘贴以下命令找到frp运行的进程号
ps -aux|grep frp| grep -v grep
root 2345860 0.0 0.5 716068 23952 ? Sl 9月23 0:08 ./frps -c ./frps.ini
我这里的进程号是2345860
kill -9 2345860