前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >ubuntu 下面配置 go 运行环境

ubuntu 下面配置 go 运行环境

作者头像
零式的天空
发布2022-03-02 20:52:27
发布2022-03-02 20:52:27
90000
代码可运行
举报
文章被收录于专栏:零域Blog零域Blog
运行总次数:0
代码可运行

Go

配置安装环境

go 的安装需要用到很多的 package, 所以需要很多版本管理应用的支持,所以首先安装这些环境

代码语言:javascript
代码运行次数:0
运行
复制
sudo apt-get install bison ed gawk gcc libc6-dev make python-setuptools python-dev build-essential git mercurial

安装Go

官方网站 根据机器型号下载相应的版本,然后执行语句解压,

代码语言:javascript
代码运行次数:0
运行
复制
$ tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

我一般是放在 /usr/local/go 目录下

添加环境变量

代码语言:javascript
代码运行次数:0
运行
复制
#go config
export GOROOT=/usr/local/go
export GOARCH=amd64
export GOOS=linux
export GOPATH=/srv/go_root
export GOBIN=$GOROOT/bin
export GOTOOLS=$GOROOT/pkg/tool/
export PATH=$PATH:$GOBIN:$GOTOOLS:$GOPATH/bin

其中 /usr/local/go 为 go 安装目录, /srv/go_root 为代码存放目录 把这些添加到 .bashrc 文件中,然后执行 source ~/.bashrc 刷新配置

Supervisor

有时候需要 go 持续运行不间断,但是用 crontab 并不方便,自己编写脚本也太麻烦,于是就可以用 Supervisor 了。

安装

代码语言:javascript
代码运行次数:0
运行
复制
#安装
sudo apt-get install python-pip python-m2crypto python-gevent supervisor
pip install shadowsocks superlance

#环境
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | sudo python

#生成配置文件
echo_supervisord_conf /etc/supervisor/supervisor.conf

配置

安装好之后,就可以配置自动执行脚本了,脚本放在 /etc/supervisor/conf.d/ 目录下,示例:

代码语言:javascript
代码运行次数:0
运行
复制
[program:web_hello]                                #项目名
command=/usr/local/go/bin/go run hello.go        #项目要执行的脚本
autostart=true                                    #自动启动
autorestart=true                                #自动重启
user=root                                        #执行的用户
redirect_stderr=true                            #有错误自动输出
directory=/srv/go_root/src/web_hello/            #脚本执行的目录
stderr_logfile=/srv/logroot/web_hello/error.log    #错误信息
stdout_logfile=/srv/logroot/web_hello/debug.log    #日志信息

运行

执行下面的几个常用命令进行管理吧

代码语言:javascript
代码运行次数:0
运行
复制
supervisorctl reload        #重新加载项目配置文件
supervisorctl restart all     #重启所有项目

出错

在执行 reload 命令的时候,有时候可能会出错,这时候就要执行下面的命令重新安装 Supervisor 了,不过放心项目配置文件还在。

代码语言:javascript
代码运行次数:0
运行
复制
apt-get purge supervisor
reboot
apt-get install supervisor
echo_supervisord_conf /etc/supervisor/supervisor.conf

shadowsocks

安装

代码语言:javascript
代码运行次数:0
运行
复制
# on server
go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-server

配置

代码语言:javascript
代码运行次数:0
运行
复制
{
    "server":"127.0.0.1",
    "server_port":8388,
    "local_port":1080,
    "password":"barfoo!",
    "method": "aes-256-cfb",
    "timeout":600
}

加入 Supervisor

代码语言:javascript
代码运行次数:0
运行
复制
[program:shadowsocks]
command=/usr/local/go/bin/shadowsocks-server -c /srv/approot/shadowsocks/config.json
autostart=true
autorestart=true
user=root
redirect_stderr=true
stderr_logfile=/srv/logroot/shadowsocks/supervisor.log
stdout_logfile=/srv/logroot/shadowsocks/supervisor.log

运行

代码语言:javascript
代码运行次数:0
运行
复制
supervisorctl restart all
supervisorctl reload
supervisorctl restart all

nginx

为了支持域名,现在开始 nginx 的安装

安装

代码语言:javascript
代码运行次数:0
运行
复制
$ sudo apt-get install nginx

配置

在 /etc/nginx/sites-available 创建一个 ghost.conf 文件 使用文本编辑器打开这个文件 (e.g. sudo nano /etc/nginx/sites-available/ghost.conf) 把以下内容复制进这个文件

代码语言:javascript
代码运行次数:0
运行
复制
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://127.0.0.1:2368;
    }
}

将 server_name 的值改为你的域名

把你的配置文件软链接到 sites-enabled 文件夹下:

代码语言:javascript
代码运行次数:0
运行
复制
$ sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf

运行

代码语言:javascript
代码运行次数:0
运行
复制
$ sudo service nginx restart

end.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Go
    • 配置安装环境
    • 安装Go
    • 添加环境变量
  • Supervisor
    • 安装
    • 配置
    • 运行
    • 出错
  • shadowsocks
    • 安装
    • 配置
    • 加入 Supervisor
    • 运行
  • nginx
    • 安装
    • 配置
    • 运行
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档