资讯动态

工作日志- 不定期更新

发布时间:2026/8/23 17:27:32 来源:尧图企业网站定制
1. protobuf中使用import引用其他proto文件生成后在go语言的go modules中import 包名报错问题。public.proto文件//protoc --go_outpluginsgrpc:. public.proto syntax proto3; package public; option go_package self/game-service/msg/public; message AwardItem { int32 prop_id 1; int64 prop_num 2; }third_s.proto 文件syntax proto3; package third; import public.proto; option go_package self/game-service/msg/third; message ThirdTakeCornucopiaBonusResp { int32 code 1; string message 2; int32 take_cnt 3; int32 take_cnt_max 4; repeated public.AwardItem awards 5; }生成后指定的go_package 就是我们go 代码中import的包名// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 // protoc v5.26.0 // source: third_s.proto package third import ( protoreflect google.golang.org/protobuf/reflect/protoreflect protoimpl google.golang.org/protobuf/runtime/protoimpl reflect reflect public self/game-service/msg/public sync sync ) // 其他代码 .....由于import public self/game-service/msg/public在我们代码里面是能正常识别的所以改动go_package即可改动后生成.\protoc.exe --go_out. --go-grpc_out. *.proto会在当前目录下生成./self/game-service/msg/public/public.pb.go./self/game-service/msg/third_s/third_s.pb.go然后拷贝生成后的文件到项目代码目录即可正常参加编译xcopy .\self\game-service\msg\* ..\game-server\msg\ /e /y /h /r /q2. Windows安装构建golang protobuf grpc 环境记录1下载protoc编译器。 直接上github.com下载https://github.com/protocolbuffers/protobuf/tags下载后解压拷贝到指定目录或设置环境变量path指向protoc目录下bincmd命令行执行 protoc -v 查看版本可以识别命令表示成功。2## 安装 protoc-gen-go 插件go install google.golang.org/protobuf/cmd/protoc-gen-golatest3## 安装 protoc-gen-go-grpc 插件go install google.golang.org/grpc/cmd/protoc-gen-go-grpclatest4写一个proto文件测试。protoc --go_out. --go-grpc_out. ./test.proto5安装完成后应该会有两个文件可执行文件exe在环境变量GOPATH指向位置的bin/目录下protoc-gen-go-grpc.exeprotoc-gen-go.exe如果没有需要去对应目录执行go install .如我没有protoc-gen-go-grpc.exe于是切换目录到C:\Users\Administrator\go\pkg\mod\google.golang.org\grpc\cmd\protoc-gen-go-grpcv1.3.0在此目录打开cmd命令行执行go install .3. MySQL 以表T创建新表T_xxx# 创建T_tmp, 包含T的字段索引等使用LIKE create table IF NOT EXISTS T_tmp like T # 创建T_tmp1, 从表T复制字段索引数据。 create table T_tmp1 AS select * from T;4. LinuxUbuntu系统安装Jenkins后执行shell脚本权限问题更改root用户启动。安装方式sudo apt-get install修改配置(1) vim /etc/default/jenkins修改如下两行保存退出JENKINS_USER$NAME JENKINS_USERroot #JENKINS_GROUP$NAME JENKINS_GROUProot(2) 修改相关目录的用户组chown -R root:root /var/lib/jenkins chown -R root:root /var/log/jenkins chown -R root:root /var/cache/jenkins(3) 重启。systermctl restart jenkins.service本以为以上修改就够了而且搜索到的大部分文章信息都只是如此但我一直启动失败exited status 1于是继续解决这个问题有了下面的步骤。(4) 使用systemd功能systemctl是systemd的其中一个命令来启动systemd相关的配置文件/usr/lib/systemd/system 存放各类service服务 /lib/systemd/system/ 存放各类service服务 /etc/systemd/system/ 添加开机自启后服务会被链接到此目录下于是我在上面的这几个目录中又找到了jenkins.service这个启动配置修改其中Userroot # Userjenkins Grouproot # Groupjenkins修改后再次重启jenkinssystemctl restart jenkins.service失败提示如下Warning: The unit file, source configuration file or drop-ins of jenkins.service changed on disk. Run systemctl daemon-reload to reload units. Job for jenkins.service failed because the control process exited with error code. See systemctl status jenkins.service and journalctl -xeu jenkins.service for details.可以看到磁盘上的启动配置修改了需要重新加载systemctl daemon-reload重新加载后再次重启jenkins成功了。ps -aux | grep jenkins 查看已经是root用户启动了5 记录nginx配置下载服务器时点击txt文件时总是打开文件不是下载一开始的解决方案是添加特定头add_header Content-Disposition attachment但是似乎不不行点击目录下后缀为txt的文件依然是在浏览器预览点击后缀是log文件则是下载对比后发现txt文件点击后响应头content-type是text/plainlog文件点击后响应头content-type响应头是application/octet-stream于是把目录下所有的文件响应头强制设置为application/octet-stream原本点击文件时会根据mime.types中的后缀设置content-type所以在下载目录下需要重置types {} default_type application/octet-stream;以下是整个配置文件记录参考。server { listen 8001; server_name xxxxx; charset utf-8; error_log /var/log/nginx/fs/error.log; access_log /var/log/nginx/fs/acess.log; # 配置图片预览区域该目录下的图片点击在浏览器预览 location /images { root /opt/web/www/files; autoindex on; expires 30d; location ~* \.(jpg|jpeg|jfif)$ { add_header Content-Type image/jpeg; } location ~* \.(png)$ { add_header Content-Type image/png; } } # 设置文件下载区域该目录下的文件点击为默认下载 #location ~ ^/downloads/. { location /downloads { root /opt/web/www/files; autoindex on; # 索引 autoindex_exact_size on; # 显示文件大小 autoindex_localtime on; # 显示文件时间 expires 30d; # 设置文件扩展名匹配的type为空默认是mime.types 设定的然后在强制默认content-type 为 stream types {} default_type application/octet-stream; #if (!-d $request_filename) { # add_header Content-Disposition attachment; # force downloads #} #add_header Content-Disposition attachment; # force downloads } #location / { # root /opt/web/www/files; # autoindex on; # 索引 # autoindex_exact_size on; # 显示文件大小 # autoindex_localtime on; # 显示文件时间 #} }6. nuxt3 pnpm install 后报错pinia缺失问题Cannot resolve module pinia/dist/pinia.mjs (from: xxx, xxx\node_modules\pinia\nuxt\dist\module.mjs)解决办法 执行下面命令安装依赖npm install pinia pinia/nuxt nuxtjs/composition-api --legacy-peer-deps7. nuxt3项目打包pnpm build后运行 node ./output/server/index.mjs 浏览器输入 http://localhost:300, 报错 500 internal error解决办法在nuxt.confit.ts 中指定build 依赖// 其他配置项目 build: { transpile: [/echarts/, tslib], },8. systemctl 启动配置参考cat /usr/lib/systemd/system/etcd.service ###---------------------------------------------- [Unit] DescriptionEtcdServer Afternetwork.target Afternetwork-online.target Wantsnetwork-online.target [Service] Typenotify WorkingDirectory/data/app/etcd/ # Useretcd ExecStart/data/app/etcd/etcd --config-file/data/app/etcd/etcd.yml Restarton-failure LimitNOFILE65536 [Install] WantedBymulti-user.target ###----------------------------------------------- # 使用命令启动etcd systemctl start etcd systemctl stop etcd systemctl restart etcd systemctl status etcd9. Linux 系统查看磁盘占用和哪一个文件夹占用最大[rootecs-seren-test ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 3.7G 0 3.7G 0% /dev/shm tmpfs 1.5G 142M 1.4G 10% /run /dev/vda1 50G 50G 0 100% / /dev/vdb1 196G 1016M 185G 1% /data overlay 50G 50G 0 100% /var/lib/docker/rootfs/overlayfs/4b099d5a1abbb3653a9b1822cc53e04d165fee0343935a4a97c252f08bb0efdb overlay 50G 50G 0 100% /var/lib/docker/rootfs/overlayfs/128619b9413d8def71ad57cca739e5c9dbc3e15014f88cc3e98c1adc1091c946 overlay 50G 50G 0 100% /var/lib/docker/rootfs/overlayfs/13bf23459adb618ebdcfb5e12b6bbcc98b7e1cf5c0f1464ee365eba0ae0b6c56 [rootecs-seren-test ~]# sudo du -sh /var/lib/* 2/dev/null | sort -rh | head -20 45G /var/lib/docker 2.4G /var/lib/containerd 91M /var/lib/rpm 20M /var/lib/selinux 4.3M /var/lib/dnf 1.3M /var/lib/sss 236K /var/lib/cloud 208K /var/lib/systemd 68K /var/lib/authselect 44K /var/lib/alternatives 20K /var/lib/NetworkManager 16K /var/lib/tpm2-tss 8.0K /var/lib/rsyslog 8.0K /var/lib/rpm-state 8.0K /var/lib/logrotate 4.0K /var/lib/private 4.0K /var/lib/os-prober

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价