golang 线上项目部署折腾之一
最近自己使用
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...
golang 线上项目部署折腾之一的更多相关文章
- 吾八哥学k8s(二):golang服务部署到kubernetes
本篇主要讲解如何将golang的服务部署到kubernetes集群里,附带相关的golang的demo和yml文件内容.纯新手入门方式,生产服务需要完整的CI/CD流程来支持. golang服务代码 ...
- Golang项目部署
文章来源:https://goframe.org/deploymen... 一.独立部署 使用GF开发的应用程序可以独立地部署到服务器上,设置为后台守护进程运行即可.这种模式常用在简单的API服务项目 ...
- NodeJS项目迁移兼Ubuntu下NodeJS环境部署
前言 之前做的几个项目都托管在阿里云服务器,但是最近要到期了.想着到底要不要续期,毕竟100/月.后面看着阿里云有个活动,800/三年.果断买下.环境部署折腾了一天,其中也遇到几个坑. 目录 一.安装 ...
- 以太坊系列之十六: 使用golang与智能合约进行交互
以太坊系列之十六: 使用golang与智能合约进行交互 以太坊系列之十六: 使用golang与智能合约进行交互 此例子的目录结构 token contract 智能合约的golang wrapper ...
- Golang错误和异常处理的正确姿势
Golang错误和异常处理的正确姿势 错误和异常是两个不同的概念,非常容易混淆.很多程序员习惯将一切非正常情况都看做错误,而不区分错误和异常,即使程序中可能有异常抛出,也将异常及时捕获并转换成错误.从 ...
- 以太坊系列之十六:golang进行智能合约开发
以太坊系列之十六: 使用golang与智能合约进行交互 以太坊系列之十六: 使用golang与智能合约进行交互 此例子的目录结构 token contract 智能合约的golang wrapper ...
- Golang通脉之错误处理
在实际工程项目中,总是通过程序的错误信息快速定位问题,但是又不希望错误处理代码写的冗余而又啰嗦.Go语言没有提供像Java.C#语言中的try...catch异常处理方式,而是通过函数返回值逐层往上抛 ...
- 聚光灯下的熊猫TV技术架构演进
2015年开始的百播大战,熊猫TV是其中比较特别的一员. 说熊猫TV是含着金钥匙出生的公子哥不为过.还未上线,就频频曝光,科技号,微博稿,站上风口浪尖.内测期间更是有不少淘宝店高价倒卖邀请码,光内测时 ...
- C#调用WORD处理的实例代码(包含excel)
最近程序人生(http://www.manong123.com)一个朋友让我帮他做一个小功能,其实就是把WORD文档里的内容存到数据库里去,可以实现搜索并转EXCEL的功能,需求很简单,想不到加上部署 ...
随机推荐
- Nginx知多少系列之(一)前言
目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.Linux下.NET Core项目Nginx+ ...
- Python设计模式(6)-原型模式
import copy class Employee: age = 10 employee_name = 'zxc' class Company: name = '' num = 0 def __in ...
- 逆拓扑排序 Reward HDU - 2647
Reward HDU - 2647 题意:每个人的起始金额是888,有些人觉得自己做的比另一个人好所以应该多得一些钱,问最少需要花多少钱,如果不能满足所有员工的要求,输出 -1 样例1: 2 1 1 ...
- 将class 编译后文件内容输入到 文本文件中的命令
javap -c InnerTest$1 > InnerTest$1.txt
- EL表达式 -- 比较不错
EL表达式 EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有E ...
- 数据结构和算法(Golang实现)(13)常见数据结构-可变长数组
可变长数组 因为数组大小是固定的,当数据元素特别多时,固定的数组无法储存这么多的值,所以可变长数组出现了,这也是一种数据结构.在Golang语言中,可变长数组被内置在语言里面:切片slice. sli ...
- Python 注释(Python Comments)用法详解
目录 1 Python 注释概述 2 Python 注释的作用 2.1 调试代码 2.2 提高程序的可读性 3 Python 单行注释 3.1 Python 单行注释概述 3.2 单行注释注释单行代码 ...
- 你知道python入门,是学到什么程度才算是吗?
1.入门的标准是什么? 这是很多初学者都关注的问题,但又是一个很难回答的问题,问题的核心是采取什么标准来衡量一个人是否已经入门. 以知识量的多少来衡量是不是可行呢?有些人走马观花一般学了很多pytho ...
- L5语言模型与数据集
本次实验使用的数据下载: jaychou_lyrics.txt 链接:https://pan.baidu.com/s/1LJSrkpV84YF61OPmjIHGIw 提取码:dj53 语言模型 一段自 ...
- Daily Scrum 12/18/2015
Process: Zhaoyang: Some IOS UI upgrade to increase the users' experience. Minlong: Build a restful s ...