Linxu下goim项目部署

项目官方地址:https://github.com/Terry-Mao/goim/blob/master/README_cn.md


一:安装jdk1.8及以上版本

可参考链接:https://www.cnblogs.com/Dylansuns/p/6974272.html

进入到该目录没有则创建:cd /data/programfiles

下载:wget http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.rpm?AuthParam=1421409865_906dd11e2cabef6e49c0a4e4b1a92b3a

解压:tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/local


二:安装Kafka,安装之前先安装zookeeper

zookeeper安装教程:https://www.cnblogs.com/myjava1/p/8032216.html

Kafka安装教程:http://www.mamicode.com/info-detail-1735252.html

kafka自带启动zookeeper
        cd /root/kafka_2.12-1.1.0
        bin/zookeeper-server-start.sh config/zookeeper.properties

        bin/zookeeper-server-stop.sh

启动kafka命令
        bin/kafka-server-start.sh config/server.properties &

停止kafka命令:
        bin/kafka-server-stop.sh

创建Topic:(创建一个名为xxx的topic,只有一个副本,一个分区。)
        bin/kafka-topics.sh --create --zookeeper 192.168.100.252:2181 --replication-factor 1 --partitions 1 --topic KafkaPushsTopic

启动Producer并发送消息:
        bin/kafka-console-producer.sh --broker-list 192.168.100.252:9092 --topic KafkaPushsTopic

启动Consumer并接收消息
    bin/kafka-console-consumer.sh --bootstrap-server 192.168.100.252:9092 --topic KafkaPushsTopic --new-consumer --from-beginning --consumer.config config/consumer.properties


三:安装golang

1.下载源码(根据自己的系统下载对应的安装包)版本太低部署goim时会报错(man.main等等错误)

$ cd /data/programfiles
$ wget -c --no-check-certificate https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
$ tar -xvf go1.5.2.linux-amd64.tar.gz -C /usr/local

2.配置GO环境变量

$ vi /etc/profile
# 将以下环境变量添加到profile最后面
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/data/apps/go
$ source /etc/profile


四、部署goim

(出错解决方法)

    如果配置GOBIN后go ./...没有在/data/apps/go文件里生成bin,pkg文件夹,则在配置的GOBIB里找到bin,pkg文件夹复制到/data/apps/go文件夹里

     go get golang.org/x 包失败解决方法      https://blog.csdn.net/alexwoo0501/article/details/73409917

package golang.org/x/net/websocket: unrecognized import path "golang.org/x/net/websocket" (https fetch: Get https://golang.org/x/net/websocket?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

    不翻墙的情况下怎么解决这个问题?其实 golang 在 github 上建立了一个镜像库,如 https://github.com/golang/net 即是 https://golang.org/x/net 的镜像库

获取 golang.org/x/net 包,其实只需要以下步骤:

mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/net.git

1.下载goim及依赖包

$ yum install hg
$ go get -u github.com/Terry-Mao/goim
$ mv $GOPATH/src/github.com/Terry-Mao/goim $GOPATH/src/goim
$ cd $GOPATH/src/goim
$ go get ./...

2.安装router、logic、comet、job模块(配置文件请依据实际机器环境配置)

$ cd $GOPATH/src/goim/router
$ go install
$ cp router-example.conf $GOPATH/bin/router.conf
$ cp router-log.xml $GOPATH/bin/
$ cd ../logic/
$ go install
$ cp logic-example.conf $GOPATH/bin/logic.conf
$ cp logic-log.xml $GOPATH/bin/
$ cd ../comet/
$ go install
$ cp comet-example.conf $GOPATH/bin/comet.conf
$ cp comet-log.xml $GOPATH/bin/
$ cd ../logic/job/
$ go install
$ cp job-example.conf $GOPATH/bin/job.conf
$ cp job-log.xml $GOPATH/bin/

到此所有的环境都搭建完成!


五、启动goim()

/data/logs/goim/panic-router.log    如果没有该文件在对应位置创建
$ cd /$GOPATH/bin
$ nohup $GOPATH/bin/router -c $GOPATH/bin/router.conf 2>&1 > /data/logs/goim/panic-router.log &
$ nohup $GOPATH/bin/logic -c $GOPATH/bin/logic.conf 2>&1 > /data/logs/goim/panic-logic.log &
$ nohup $GOPATH/bin/comet -c $GOPATH/bin/comet.conf 2>&1 > /data/logs/goim/panic-comet.log &
$ nohup $GOPATH/bin/job -c $GOPATH/bin/job.conf 2>&1 > /data/logs/goim/panic-job.log &

如果启动失败,默认配置可通过查看panic-xxx.log日志文件来排查各个模块问题.

然后在example 下面有 demo 页面。

编译 main ,然后启动:


附带其它相关配置链接:

编译构建goim项目:http://www.th7.cn/Program/go/201712/1290383.shtml

Linux安装go环境:https://www.cnblogs.com/rookie404/p/6358596.html

go语言中文网:https://studygolang.com/pkgdoc


Go语言,编译时不生成bin目录的原因

GOBIN环境变量的问题,如果设置了这个环境变量,则不生成bin目录,可执行文件都存到GOBIN里。
如果使用go build需要使用-o参数指定生成的编译后的文件的路径。

gopath里bin目录存的是编译后生成的可执行文件

PS:会考虑这个是另外的原因,go get websock时

要先

go get github.com/golang/net/websocket

然后

mv github.com/golang/net/websocket golang.org/x/net/websocket

然后import的时候用 golang.org/x/net/websocket

特别的蛋疼










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值