WEBSOCKET
本地SOCKET安装步骤
- 1.创建站点
- 2.安装Go环境
- 3.配置SOCKET站点
- 4.添加计划任务
- 安装遇到困难?
1 准备一个SOCKET通讯专用的域名并解析到当前服务器
2 到安全组开放服务器的3001端口,如果宝塔开启了防火墙,还需要到宝塔的【安全】中去放行3001端口
3 到宝塔创建新站点:
3.1 域名填写上一步骤准备的域名
3.2 根目录请选择或直接填写 {php echo str_replace("\\",'/',base_path('swasocket'));}
3.3 PHP版本必须选择纯静态
{if $_W['ishttps']}
4 为该站点配置HTTPS并强制开启
{/if}
使用宝塔面板的【终端】功能或ssh远程管理工具登录服务器后按步骤进行如下操作
1 下载GO安装包
yum install -y wget wget https://studygolang.com/dl/golang/go1.20.1.linux-amd64.tar.gz tar -C /usr/local -xzf go1.20.1.linux-amd64.tar.gz rm -f go1.20.1.linux-amd64.tar.gz
2 添加环境变量
vim /etc/profile
这时候会进入文件编辑器,输入i编辑状态,在最后一行添加如下代码
export GOROOT=/usr/local/go export GOPATH=/home/gocode export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
编辑完成后按一次键盘的ESC键,再按Shift + :;键,在响应的输入框中输入wq保存退出
3 重新加载环境变量
source /etc/profile
4 运行SOCKET项目
cd {php echo str_replace("\\",'/',base_path('swasocket'));}
go env -w GOPROXY=https://goproxy.cn,direct
go mod init swasocket
go mod tidy
go mod vendor
nohup ./run start &
宝塔面板的【站点】点击编辑该站点,在【配置文件】中参考如下代码设置
下方以宝塔内的NGINX服务器为例,其它系统请咨询专业技术人员,或联系售后提供有偿安装服务
//注:以下内容需要根据站点实际情况调整,未开启https则监听80端口,否则监听443端口
//在【站点】→【配置文件】的 server 代码内加入如下代码,把其中的http://xxxxxxxxx改为您的域名或者IP地址
location /api {
proxy_pass http://xxxxxxxxx:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /wss{
proxy_pass http://xxxxxxxxx:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 1200s;
}
到宝塔面板的【计划任务】,添加新的Shell脚本计划任务,设定每1分钟执行一次。脚本内容请直接复制如下代码:
cd {php echo str_replace("\\",'/',base_path('swasocket'));}
./run start