服务器(云服务器)配置frp客户端 frps:
#创建服务端frps 配置docker
sudo docker search frps
sudo docker pull frps
创建ini文件在路径:~/frp/frps.ini
执行docker启动命令,通过本地配置文件启动:
sudo docker run --restart=always --network host -d -v ~/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
sudo docker run --restart=always --network host -d -v ~/frp/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc
[common]
bind_port = 7000 #服务器通信。frps和frpc端通信使用此端口。--》需要在云服务中开通此端口
vhost_http_port = 7080 #http请求端口 后续访问域名默认http使用此端口
vhost_https_port = 7443 #https请求
配置客户端:每个服务对多个客户端的访问配置:
[common]
server_addr = 82.156.XXX.XXX #云服务请求地址。frpc通过ip连接到云服务的frps上
server_port = 7000 #端口号 frps和frpc保持一致
[nextcloud]
type = http
local_ip = 127.0.0.1 #此tmp服务对应的本地访问ip
local_port = 8000 #此tmp服务对应的本地访问的端口
custome_dommoin = nextcloud.XXXX.top #此tmp服务对应的访问域名
注意:外网访问时:地址为:nextcloud.XXXX.top:7080 加上服务器配置的http端口
如果有其他服务,可以继续配置客户端访问的配置:例如:nextcloud,配置中域名修改为域名中配置的其他域名 custome_dommoin不能一致
这里意思是:本地的127.0.0.1:8000对应的域名就是nextcloud.XXXX.top
在通过frpc中配置的链接服务端数据,就可以把本地的服务通过域名链接到外网了
docker run -d -p 8080:80 nextcloud #启动nextcloud容器 没有的话会自动下载
docker run -d -p 8080:80 nextcloud --restart=slways #可设置自动启动 docker的80的端口对应服务器端口8080
配置docker挂载本地目录:本地目录为:/Users/Erbao/mnt/nextcloud
sudo docker run -- restart=always -d -p 8000:80 --name nextcloud -v /Users/Erbao/mnt/nextcloud:/var/www/html/data/ nextcloud:latest
等同于:sudo docker search nextcloud
sudo docker pull nextcloud #根据查询到的docker最新镜像
8080端口对应的是nextcloud云盘服务启动之后本地访问的端口
进入nextcloud的docker中,查找到nextcloud服务的配置文件 在config中,修改跨域的访问问题:
进入docker内部:1、sudo docker exec -it nextcloud /bin/bash
查看docker配置 2、sudo docker inspect snowdreamtech/frps
配置完成后需要配置跨域的操作:
array (
0 => '127.0.0.1:8000',#本地访问地址
1 => 'nextcloud.waynejmm.top', #外网映射地址
2 => '82.156.239.227', #外网映射IP
),
docker相关命令使用:
sudo docker restart frpc
sudo docker logs -f frpc
sudo docker kill frpc
参考文章:https://blog.csdn.net/shuai8624/article/details/107564659
docker pull gitea/gitea
》》》注意防火墙或安全组中放开用到的端口(例如10022和10080)
官网启动方式
docker run -d --name=gitea -p 10022:22 -p 10080:3000 -v /var/lib/gitea:/data gitea/gitea:latest
本次启动方式(新增两个参数,可以根据需要选择)
docker run -d --privileged=true --restart=always --name=gitea -p 10022:22 -p 10081:3000 -v /var/lib/gitea:/data gitea/gitea:latest
# --privileged=true 使用该参数,container内的root拥有真正的root权限(可根据需要选择是否要该参数)
# --restart=always 自动重启容器(可根据需要选择是否要该参数)
# -p 端口映射(宿主机端口:容器端口)
# -v 容器卷挂载 (宿主机目录 :容器目录)
本地访问地址:http://127.0.0.1:10080
frpc配置
[common]
server_addr = 82.156.XXX.227
server_port = 7000
[gitlab]
type = http
local_ip = 127.0.0.1
local_port = 10080
custom_domains = gitlab.XXXXX.top
外网访问地址为 http://gitlab.XXXXX.top:7080
MAC电脑执行:
docker run --name wiz --restart=always -it -d -v ~/wizdata:/wiz/storage -e TZ=`ls -la /etc/localtime | cut -d/ -f8-9` -p 9080:80 -p 9269:9269/udp wiznote/wizserver
其中:~/wizdata为docker中笔记目录映射到电脑的路径(数据存储到电脑的此目录下~/wizdata)
-p 9080:80 电脑的9080端口映射docker的80端口
配置完成访问:http://127.0.0.1:9080
2、配置为知笔记外网访问
#查询wiz的docker运行id
sudo docker ps
26a27594869a wiznote/wizserver "bash /wiz/app/entry…" 25 minutes ago Up 25 minutes 0.0.0.0:9269->9269/udp, :::9269->9269/udp, 0.0.0.0:9080->80/tcp, :::9080->80/tcp wiz
#进入docker容器中
sudo docker exec -it 26a27594869a /bin/bash
#修改配置文件
vi /wiz/config/nginx.php
server_name 修改为域名地址
sudo docker restart wiz
3、更新frpc代理配置,可以内网穿透
修改frpc.ini文件,增加本地地址映射到域名上
重启frpc
:sudo docker restart frpc
访问地址:XXXX:7080