golang 线上项目部署折腾之一

soledad · · 1618 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

最近自己使用golang折腾了一点东西,可是需要部署到线上才好玩,那么服务器使用了aws,然后使用了docker和没有使用docker部署了一次。简单记录一下过程

aws服务器

为什么使用aws呢,说实话,穷。可以免费使用一年干嘛不用。但是使用的时候注意了,每个月只有750小时,如果你开多台实例,那铁定要跑超了,要付高昂费用的呦。

至于怎么申请,我写了一个文章在微信里,点击这里,每个步骤都有.这样你就可以免费的玩起来了。

当然如果你不确定你使用了什么系统,有几个命令可以告诉你:

  • 查看contos系统版本命令:

     cat /proc/version
     uname -a
     uname -r
  • 查看版本
cat /etc/issue
cat /etc/redhat-release  //使用Ubuntu的就不用试了
当然如果你不想一直sudo下去,sudo -i可以切换到root用户,反正是玩,无所谓

docker安装

yum 安装docker,方便快捷

安装依赖包:

yum install -y yum-utils device-mapper-persistent-data lvm2

鉴于国内网络问题,强烈建议使用国内源.
执行下面的命令添加 yum 软件源:

 yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

如果需要最新版本的 Docker CE 请使用以下命令:

 yum-config-manager --enable docker-ce-edge

安装 Docker CE:

$ yum makecache fast
$ yum install docker-ce

启动 Docker CE

systemctl enable docker
systemctl start docker

建立 docker 用户组

如果是生产服务器的话,一般不会直接使用root,默认情况下,docker 命令会使用 Unix socket Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组

建立 docker 组:

sudo groupadd docker

将当前用户加入 docker 组:

sudo usermod -aG docker $USER

这样就安装好了。

但是会有两个小问题:

1.如果你使用最新版的redhat,而且使用最新版的docker,肯定会出错。这有个地址,解决办法是:

yum install --setopt=obsoletes=0 \
   docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
   docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch

也就要不使用最新版本就好了,降低版本,希望你没有。

2.默认配置下,如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

请添加内核配置参数以启用这些功能。

 tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

然后重新加载 sysctl.conf 即可

sudo sysctl -p

安装Golang

方法一:源码安装

下载二进制文件:

// 最新版
  wget https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz

解压并创建工作目录:

tar -zxf go1.7.3.linux-amd64.tar.gz -C /usr/local/
mkdir /Golang

在 /etc/profile 添加环境变量:

export GOROOT=/usr/local/go 
export GOBIN=$GOROOT/bin
export GOPKG=$GOROOT/pkg/tool/linux_amd64 
export GOARCH=amd64
export GOOS=linux
export GOPATH=/Golang
export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin

然后执行 source /etc/profile 使之生效

方法二:使用 yum 安装

先安装 EPEL 源:

yum install epel -y

然后使用 yum 安装 Golang:

yum install go -y

在 /etc/profile 添加环境变量:

export GOPATH=/Golang
export PATH=$PATH:$GOPATH/bin

然后执行 source /etc/profile 使之生效。

其他

还有安装git,beego框架等其他的一些配置就不用细说了,大家都会的东西说了多没意思。

先到这

参考文章:
https://yeasy.gitbooks.io/doc...
http://blog.csdn.net/u0127241...


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:soledad

查看原文:golang 线上项目部署折腾之一

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1618 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传