CentOS6.9 安装gRPC

基础环境:CentOS6.9,php 5.6.36

在CentOS 6.x里面,首先要解决的是GCC版本过低、GLIBC版本过低和Node.js版本过低的问题

本文章内对于编译安装的路径进程处理,请注意路径问题,不要被我带跑偏了

升级GCC版本

# gcc -v
可以看到gcc的版本号是4.4.7
# vim /etc/yum.repos.d/devtools-2.repo
[testing-devtools-2-centos-$releasever]
name=testing 2 devtools for CentOS $releasever
baseurl=http://people.centos.org/tru/devtools-2/$releasever/$basearch/RPMS
gpgcheck=0
# yum install devtoolset-2-gcc-4.8.2 devtoolset-2-gcc-c++-4.8.2 devtoolset-2-binutils devtoolset-2-gcc-gfortran

# ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/

# hash -r     # 这一步很重要

可以看到GCC版本已经升级为4.8.2

升级GLIBC版本

两种方法:编译安装法和rpm包安装法

编译安装法:

查看当前glibc版本
编译法升级到2.14即可
# tar zxvf glibc-2.14.tar.gz
# mkdir glibc-build-2.14
# cd glibc-build-2.14/
# ../glibc-2.14/configure –prefix=/src/glibc-2.14/
# make && make install
# cp /src/glibc-2.14/lib/libc.so.6 /lib64/libc-2.14.so
# rm -rf /lib64/libc.so.6 && LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6
# 这一步至关重要,稍有不慎即系统崩溃,所以操作的时候需要谨慎谨慎再谨慎

rpm包安装法:

升级Node.js版本

选择CentOS 7.5内默认的nodejs版本6.14.2
# tar zxf node-v6.14.2-linux-x64.tar.gz
# mv node-v6.14.2-linux-x64 node
# cd node/bin
# vim /etc/profile
export PATH=$PATH:/node/bin
# source /etc/profile
# npm -v
3.10.10
# node -v
v6.14.2
以上,就解决了环境问题,剩下的就按照官网文档即可
官方文档:https://grpc.io/docs/quickstart/php.html
以下操作就按照官方文档有选择的来操作

使用gRPC C核心库构建源代码

# git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
# cd grpc
# git submodule update –init
# make && make install

构建并安装gRPC PHP扩展

# cd src/php/ext/grpc/
# phpize
# ./configure && make && make install
# vim /php/etc/php.ini
extension=grpc.so

安装Composer

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer

安装protoc

# mkdir protoc
# mv protoc-3.5.1-linux-x86_64.zip protoc
# cd protoc/
# unzip -e protoc-3.5.1-linux-x86_64.zip
# cd bin/
# pwd
/protoc/bin
# vim /etc/profile
export PATH=$PATH:/php/bin:/protoc/bin
# source /etc/profile

安装protobuf

# pecl install protobuf
# vim /php/etc/php.ini
extension=protobuf.so

安装PHP Protoc插件

# cd /grpc
# git submodule update –init
# make grpc_php_plugin
# cd examples/php/
# ./greeter_proto_gen.sh
# composer install

运行gRPC

# cd /grpc/examples/node
# npm install
如上图最后会有两个警告,暂时无视之
# cd dynamic_codegen/
# node greeter_server.js
如果没有报错,那么nodejs服务端就启动起来了
另起一个终端
# cd /grpc/examples/php/
# ./run_greeter_client.sh

自此,gRPC搭建完成

4 评论

  1. I seriously love your site.. Pleasant colors & theme.
    Did you build this amazing site yourself? Please reply back as I’m
    attempting to create my own personal site and would like to learn where you got this from or what the theme is named.
    Cheers!

留下评论

error: Content is protected !!