查看此时grpc目录内容的大小du -h --max-depth=1, 可以看到427M左右
brubuntu@VM-16-11-ubuntu:~/rpc/grpc$ du -h --max-depth=1br348M ./.gitbr32K ./summerofcodebr1.5M ./docbr6.5M ./toolsbr4.0K ./spm-core-includebr24M ./testbr80K ./cmakebr3.0M ./third_partybr4.0K ./spm-cpp-includebr1.5M ./templatesbr8.0K ./.bazelcibr1.9M ./includebr5.0M ./examplesbr34M ./srcbr268K ./etcbr64K ./.githubbr284K ./bazelbr427M .br
- 下载第三方依赖库,下载完后会发现整个grpc目录内容明显变大
brgit submodule update --init
再次查看 目录大小,占用了1.3G。
brubuntu@VM-16-11-ubuntu:~/rpc/grpc$ du -h --max-depth=1br899M ./.gitbr32K ./summerofcodebr1.5M ./docbr6.5M ./toolsbr4.0K ./spm-core-includebr24M ./testbr80K ./cmakebr291M ./third_partybr4.0K ./spm-cpp-includebr1.5M ./templatesbr8.0K ./.bazelcibr1.9M ./includebr5.0M ./examplesbr34M ./srcbr268K ./etcbr64K ./.githubbr284K ./bazelbr1.3G
- 编译和安装
brmkdir -p cmake/buildbrcd cmake/buildbrcmake ../..brmakebrsudo make install
3 protobuf安装
不用手动安装protobuf,不然版本可能和grcp不匹配,必须在 grpc 执行 git submodule update --init 命令之后生成的 third_party/protobuf 里面编译安装对应的 protobuf。
brcd third_party/protobuf/br./autogen.sh br./configure --prefix=/usr/localbrmakebr
brsudo make installbrsudo ldconfig # 使得新安装的动态库能被加载br
brprotoc --versionbr显示3.19.4
4 测试环境
编译helloworld
brcd grpc/examples/cpp/helloworld/brmkdir buildbrcd build/brcmake ..brmake登录后复制
启动服务器和客户端
br# 启动服务端,监听在50051端口br./greeter_serverbrServer listening on 0.0.0.0:50051br# 启动客户端,服务端返回Hello worldbr./greeter_client brGreeter received: Hello world
5 参考
ubuntu搭建grpc for C++开发环境wx5bb365de633ed的技术博客51CTO博客 该文档提供修改grpc第三方库下载地址的方式进行安装。
6 辅助-使用scp命令,远程上传下载文件/文件夹
这里只是提供一种方式供大家可以在服务器之间传递文件,不是该节课程的内容,仅供参考。
- 从服务器下载文件
brscp username@servername:/path/filename /local/path
例如: scp ubuntu@192.168.1.222:/ubuntu/data/data.txt /desktop/ubuntu 把192.168.1.222上的/ubuntu/data/data.txt 的文件下载到/desktop/ubuntu目录中
- 上传本地文件到服务器
brscp /local/path/local_filename username@servername:/path