zoukankan      html  css  js  c++  java
  • Linux部署golang程序(无数据库访问)

    1.golang运行环境安装(最新版本,自动安装):yum install golang

    我创建了goPro和goProject文件夹。

     

     goProject里面放的是源码和go运行环境解压后的文件夹go, goPro里面是网上说的编译后代码存放位置,创建好之后没有动过,主要还是进入 goProject里面项目的目录下去执行编译之类的命令。

    源码我是先用SecureFXPortable传到跳板机上,再通过scp命令传到我要部署go程序的服务器。

    命令格式:scp -r /home/space/music/ root@www.runoob.com:/home/root/others/

    我是进入需要传输文件的目录,然后用命令:scp -r p2p-server root@11.11.11.10:/usr/local/goProject  ,回车然后输密码。传输完成后去另一个窗口,进入目录查看是否已经有了。


    2. 打开环境变量的文件:vim /etc/profile ,
    在末尾添加:
    export GOROOT=/usr/lib/golang
    export GOPATH=/usr/local/goPro
    export GO111MODULE=on
    export GOPROXY=http://goproxy.cn,direct
    export PATH=$PATH:$GOROOT/bin

    (添加的环境变量不一定要和我的一致,我是反复试过很多次跑起来了,就把设置过的环境变量都贴出来了)

    3.添加环境变量,执行命令(Linux敲下面两条命令):
    go env -w GOPROXY=https://goproxy.cn,direct
    go env -w GOPRIVATE="*.gitlab.com,*.gitee.com"


    4.替换tools,执行命令:
    mkdir -p $GOPATH/src/golang.org/x
    git clone http://mingclia:1qaz2wsx@gitlab.dev.zhoukoudian.top/cloudcomputing/tools.git
    mv tools $GOPATH/src/golang.org/x/(执行git clone命令之前先进入创建的文件夹.......golang.org/x目录下的话,不需再执行该命令)


    5.执行mod命令:
    go mod init 项目名

    执行时会有提示,执行完用命令ll(L的小写)查看会多出一个go.mod文件。


    6.执行build命令:
    go build main.go

    执行完用命令ll(L的小写)查看会多出一个main文件,下图第二个红框。


    7.生成main文件,后台运行程序,执行:nohup ./main >/dev/null 2>&1 &

    也可以用 ./main运行,但是这样一旦执行别的命令,程序就不运行了。上面的命令是后台运行,只要不用kill -9 PID命令杀掉,它就会一直运行的。

    要查看程序是否已经跑起来,用:netstat -anp (an,列出所有活动的和在监听的链接; p,列出所对应的程序)。运行效果如下图:

    我跑的程序端口是8000,找的是有,而且PID/Program name这一列显示的是项目名称,可以进一步明确是否是自己跑起来的服务。

    这篇帖子是弄了好几天,网上反复查资料,各种尝试,最后终于成功了。记录一下。

  • 相关阅读:
    jvm误区--动态对象年龄判定
    jmeter入门实例
    七牛云的文件上传和下载
    layer.prompt添加多个输入框
    zero copy图解
    java枚举的线程安全及序列化
    java单例模式
    ubuntu16.04 python3.5 opencv的安装与卸载(转载)
    独家git clone 加速方法
    apt get update无法正常使用解决方案(转载)
  • 原文地址:https://www.cnblogs.com/caihouzi/p/14206731.html
Copyright © 2011-2022 走看看