6.2 KiB
vue打包
直接方式:go-bindata-assetfs.exe -o=vue/vue.go -pkg=vue vue/dist/...
bat方式:build-vue.bat
win
直接运行build-releases.bat
linux
//生成普通发行版(未upx压缩的) docker run --rm -v "$PWD":/media/sf_SamWaf -w /media/sf_SamWaf -e CGO_ENABLED=1 -e GOPROXY=https://goproxy.cn,direct golang:1.19 go build -v -ldflags="-X SamWaf/global.GWAF_RELEASE=true -X SamWaf/global.GWAF_RELEASE_VERSION_NAME=20230619 -X SamWaf/global.GWAF_RELEASE_VERSION=101 -s -w -extldflags "-static"" -o /media/sf_SamWaf/release/SamWafLinux64 main.go
//可调试的centos docker run --rm -v "$PWD":/media/sf_SamWaf -w /media/sf_SamWaf -e CGO_ENABLED=1 -e GOPROXY=https://goproxy.cn,direct golang:1.19 go build -v -ldflags="-X SamWaf/global.GWAF_RELEASE=true -X SamWaf/global.GWAF_RELEASE_VERSION_NAME=20240531 -X SamWaf/global.GWAF_RELEASE_VERSION=v1.1.6 -s -w -extldflags "-static"" -o /media/sf_SamWaf/release/SamWafLinux64 main.go
//docker 单元测试 docker run --rm -v "$PWD":/media/sf_SamWaf -w /media/sf_SamWaf -e CGO_ENABLED=1 -e GOPROXY=https://goproxy.cn,direct golang:1.19 go test -v ./firewall -test.run TestFireWallEngine_IsFirewallEnabled
//物理机 单元测试
go env -w GOPROXY=https://goproxy.cn,direct && go test -v ./firewall -test.run TestFireWallEngine_IsFirewallEnabled
注意事项
- 如果linux使用multipass 需要以下方式开启
启用挂载:
https://multipass.run/docs/set-command#local.privileged-mounts
multipass set local.privileged-mounts=true
挂载目录
1. 挂载目录
multipass mount C:\huawei\goproject\SamWaf primary:/home/ubuntu/samwaf
2. 校验是否好使
multipass info primary
3。卸载目录:
卸载数据卷
$ multipass umount primary
2.远程linux调试
# 远程linux调试
/cphome/go/go/bin/go env -w GOPROXY=goproxy.cn,direct
/cphome/go/go/bin/go install github.com/go-delve/delve/cmd/dlv@latest
emu:
/root/go/bin/dlv --listen=:26667 --headless=true --api-version=2 --accept-multiclient exec ./SamWafLinux64
vmbox osboxes.org:
/media/sf_SamWaf/release/dlv --listen=:26667 --headless=true --api-version=2 --accept-multiclient exec /media/sf_SamWaf/release/SamWafLinux64
localubuntu
/home/ubuntu/go/bin/dlv --listen=:26667 --headless=true --api-version=2 --accept-multiclient exec ./SamWafLinux64.exe
/home/ubuntu/go/bin/dlv --listen=:26667 --headless=true --api-version=2 --accept-multiclient exec ./release/SamWafLinux64.exe
经过wiki后然发现,启动的参数有一个--accept-multiclient 的参数,允许多个客户端连接。平时开发的时候一般不会有这样的场景,但是哪怕退出后由于这个参数导致服务已经在阻塞,调试不会终止,把这个参数去掉的话,客服端调试结束后,服务端也就停止服务了。
————————————————
版权声明:本文为CSDN博主「liuYinXinAll」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liuYinXinAll/article/details/103016871
- 一键安装Docker
#1.下载安装脚本 #2.执行安装脚本 #3.加入开机启动 #4.启动docker服务 #5.创建docker组 #6.将当前用户加入docker组
#7.创建配置目录 #7.更新docker组信息 #8.设置自己阿里云镜像加速 #9.重新加载所有系统服务配置 #10.重启docker服务
#11.开机启动docker服务
$ curl -fsSL get.docker.com -o get-docker.sh \
&& sudo sh get-docker.sh --mirror Aliyun \
&& sudo systemctl enable docker \
&& sudo systemctl start docker \
&& sudo groupadd -f docker \
&& sudo usermod -aG docker $USER \
&& sudo mkdir -p /etc/docker \
&& sudo newgrp docker \
&& sudo echo -e '{\n "registry-mirrors":["https://9zufkov1.mirror.aliyuncs.com"]\n}'>>/etc/docker/daemon.json \
&& sudo systemctl daemon-reload \
&& sudo systemctl restart docker \
&& sudo svstemctl enable docker
# 查看版本 docker version
- 一键安装Docker Compose
# install-compose.yml
#使用以下方式下载 官网下载连接:https://docs.docker.com/compose/install/linux/
# 其他方式下载参考 https://www.cnblogs.com/wtx106/p/15717844.html
#下载稳定版
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#对二进制文件授权
sudo chmod +x /usr/local/bin/docker-compose
# 查看版本号,测试是否安装成功
docker-compose version
解决 docker-compose command not found
原文链接:https://blog.csdn.net/qq_30718137/article/details/108408360
- 安装go
1.下载:https://golang.google.cn/dl/
2. 解压 tar -C /cphome/go -xzf go1.19.linux-amd64.tar.gz
3./cphome/go/go/bin/go
- Multipass 配置
启动运行:管理员模式
.\VM\PSTools\PsExec.exe -s -i "C:\Program Files\Oracle\VirtualBox\VirtualBox.exe"
进入设置环境进行nat环境端口映射
- vm C:\Program Files\Oracle\VirtualBox\VBoxManage.exe
调整硬盘大小 "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifymedium --resize 16384 "C:\ProgramData\Multipass\data\virtualbox\vault\instances\primary\ubuntu-22.04-server-cloudimg-amd64.vdi"
- 查看变量所在包
编译时候 去掉-s -w
go tool nm .\SamWaf64.exe 查看
windows go tool nm .\SamWaf64.exe >>fuhao.txt
- centos 查看实时日志
dmesg -wH
- 溢出检测
a. 将main的调试代码打开
192.168.56.101
b. heap profile
go tool pprof main http://123.206.66.86:16060/debug/pprof/heap
go tool pprof main http://192.168.56.101:16060//debug/pprof/heap
(https://blog.csdn.net/vankalsin/article/details/126365176)
c. goroutine profile
go tool pprof main http://123.206.66.86:16060/debug/pprof/goroutine
go tool pprof main http://192.168.56.101:16060//debug/pprof/goroutine
d. block profile
go tool pprof main http://192.168.56.101:16060//debug/pprof/block
e. mutex profile
go tool pprof main http://192.168.56.101:16060//debug/pprof/mutex
提示输入top 看
https://www.cnblogs.com/zhanchenjin/p/17101573.html
然后进行list SamWaf/wafenginecore.ProcessDequeEngine 查看具体某一个有问题
- 获取系统状态信息
https://juejin.cn/post/7104069654733144078
- upx
sudo yum install -y epel-release
sudo yum install -y upx