goproxy 部署

本文档详细介绍了如何在服务器上部署goproxy,并在本地进行配置使用。包括SSH连接服务器,下载并安装goproxy,生成证书,启动服务器和客户端,以及在本地设置代理。同时提供了Windows和Linux环境的客户端使用步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


测试服务器信息
IP:forcn.cn    ssh端口 :28165    用户名:root   密码: h7NtOvx9abCM
ssh root@forcn.cn -p 28165
scp -P 28165 root@forcn.cn:/root/proxy/key.tgz  ./  


服务器部署
    mkdir -p /root/proxy
    cd /root/proxy/  
    wget https://github.com/snail007/goproxy/releases/download/v6.5/proxy-linux-amd64.tar.gz  
    wget https://raw.githubusercontent.com/snail007/goproxy/master/install.sh  
    chmod +x install.sh  
    ./install.sh  

    .通过下面的命令生成自签名的证书和key文件.
    ./proxy keygen -C proxy
    会在当前程序目录下面生成证书文件proxy.crt和key文件proxy.key。

    在vps上执行,确保vps的8088端口没被其它程序占用.
        ./proxy bridge -p ":33080" -C proxy.crt -K proxy.key
        ./proxy server -

### 配置 Go 语言客户端连接 ShardingSphere-Proxy 为了使 Go 语言程序能够通过 ShardingSphere-Proxy 连接到数据库,需要完成以下几个方面的配置: #### 1. 安装并启动 ShardingSphere-Proxy 按照提供的 Docker Compose 文件[^1],可以快速部署 ShardingSphere-Proxy 实例。确保容器正常运行,并监听指定端口(如 `3310`)。以下是完整的 Docker Compose 文件内容: ```yaml version: '3' services: sharding-proxy: image: apache/shardingsphere-proxy:5.1.1 container_name: sharding-proxy ports: - "3310:3307" volumes: - /home/service/sharding-proxy/conf:/opt/shardingsphere-proxy/conf - /home/service/sharding-proxy/ext-lib:/opt/shardingsphere-proxy/ext-lib environment: - ES_JAVA_OPTS="-Xmx256m -Xms256m -Xmn128m" ``` #### 2. 添加 MySQL Connector JAR 到 Proxy 的 lib 目录 根据引用说明[^2],需将 MySQL 的 JDBC 驱动包放置到 ShardingSphere-Proxy 的扩展库路径下。如果使用的是本地环境,则将其复制至 `/ext-lib` 路径;如果是基于 Docker 的部署方式,则可以通过挂载卷的方式实现。 #### 3. 使用 Go 数据库驱动连接 ShardingSphere-ProxyGo 中,推荐使用标准的 MySQL 驱动程序来建立与 ShardingSphere-Proxy 的连接。以下是一个简单的示例代码片段,展示如何创建一个基本的数据库会话: ```go package main import ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" ) func main() { dsn := "username:password@tcp(localhost:3310)/your_database?parseTime=true&charset=utf8mb4" db, err := sql.Open("mysql", dsn) if err != nil { log.Fatalf("Error opening connection to database: %v", err) } defer db.Close() err = db.Ping() if err != nil { log.Fatalf("Cannot connect to the database: %v", err) } fmt.Println("Successfully connected!") } ``` 上述代码中的 DSN 参数应替换为实际使用的用户名、密码以及目标数据库名称。注意,默认情况下 ShardingSphere-Proxy 将其服务绑定到了自定义端口号(此处为 `3310`),因此需要调整 TCP 地址部分以匹配该端口。 #### 4. 配置主从读写分离支持 对于希望启用主从架构下的读写分离功能的应用场景而言,在 YAML 格式的规则文件中定义相应的数据源和策略即可满足需求。具体操作可参照官方文档关于 **ShardingSphere-Proxy 主从读写入门指南** 的相关内容。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值