关于golang:Linux环境使用nginx和supervisor部署beego

53次阅读

共计 2348 个字符,预计需要花费 6 分钟才能阅读完成。

第一步: 装置 go 环境

我抉择的是 windows 先去去官网下载 go 的安装包
go1.15.5.linux-amd64.tar.gz
而后通过管制终端近程拷贝到 linux 服务器上
而后执行

tar -C /usr/local -zxvf  go1.15.5.linux-amd64.tar.gz

在 usr/local 目录下失去 go 文件夹
装置好 go 当前便是配置环境

vim /etc/profile

在最上面增加环境变量配置,GOROOT 是 GO 源码装置目录,GOPATH 是我的项目工程文件目录(如果应用 GOMOD 不必设置也行)

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/data/gowork

配置完保留更新下配置

source /etc/profile

而后命令行输出 go version 如果显示版本号装置就实现了。

第二步:装置 beego 框架

go get -u github.com/astaxie/beego
go get -u github.com/beego/bee

应用 go get 下载 beego 框架和 bee 工具
在这里我遇到几个问题

1.beego 下载完还要下载 beego 的依赖包,不然 beego 是启动不了的。
如果开启 GOMOD 模式应该会主动下载,可能会因为网络问题下载失败,能够配置下 GOPROXY 代理(我装置 beego 的时候还不纯熟 GOMOD,把 GOMOD 关了,所以我是 GOPATH 里一个一个安装包下载下来的)

2.go get 半天下载不下来 /git clone 半天没反馈
能够应用镜像下载:
github.com.cnpmjs.org 这个替换 github.com
就能够很快下载下来源码了

3. 应用 bee new XXX 能够疾速创立一个 beego 我的项目,而后应用 bee run
能够启动我的项目(具体流程 beego 官网有)

4. 启动 beego 如果报错无奈找到申请模板文件,能够在 ide 中设置
RUN-Edit-Configuration
在 Working directory 这里定位到本人的 beego 我的项目下
(默认是 GOPATH 门路)
再启动应该就没问题了

第三步:装置 nginx

我应用 yum 间接装置 nginx
如果你想跳过装置确认能够在 install 后面加 -y 参数。

yum install nginx

而后执行

systemctl start nginx.service

如果拜访你的 ip 地址或者 hostnamne,页面显示欢送 nginx 或者 cento
s 的简介那就证实 nginx 装置胜利了
而后设置 nginx 开机主动启动

systemctl enable nginx.service

个别 nginx 配置文件是在 etc/nginx/nginx.conf 中
nginx.conf 个别会有 includ….. 比方上面这个

 include /etc/nginx/conf.d/*.conf;

你能够到如示的文件夹下创立指定格局的配置文件
也能够间接在 etc/nginx/nginx.conf 中配置 nginx

这里贴上我的配置文件

server {
    listen       80;
    server_name  这里是我的项目解析的域名;     #我的项目解析的域名

    charset utf-8;
    access_log /var/log/nginx/ 本人起日志的名字.log  main;   #输入的日志的地位

    location /(css|js|fonts|img)/ {
        access_log off;
        expires 1d;

        root "/data/gowork/src/learn/static";                  #我的项目动态资源的地位(beego 我的项目 static 的地址)
        try_files $uri @backend;
    }

    location / {try_files /_not_exists_ @backend;}

    location @backend {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host            $http_host;

        proxy_pass http://127.0.0.1:8080;    #这里的端口号要和我的项目 conf/app.conf 外面指定的端口号统一
    }
}

改好配置文件能够在命令行执行

nginx -t   #查看配置文件的语法
nginx -s reload    #从新加载配置文件

而后 nginx 就能起来了,你拜访本人的域名就是 beego 主界面了

第四步:装置 superviosr

同样我是应用 yum 装置(老手安装简单不容易出错)

yum install supervisor

配置主动启动和 nginx 一样,不赘述了
装置完后配置文件默认在 /etc/superciosrd.conf
进入外面最上面应该有

[include]
files = supervisord.d/*.ini

这和 nginx 差不多,反对你在别的文件夹下配置
这里是我的配置

[program:learnbeego]                 // 过程名称
directory = /data/gowork/src/learn    // 源代码目录
command = /data/gowork/src/learn/main   // 可执行文件目录
autorestart = true                      
redirect_stderr = true
stdout_logfile = /data/log/learnbeego.log  // 保留日志地址
user = root

留神日志文件要本人先创立好,supervisor 不会给你创立的

启动 supervisr 服务

supervisord -c /etc/supervisor/supervisord.conf
supervisorctl -c /etc/supervisor/supervisord.conf

命令行输出 supervisorctl
便可查看配置的过程状况

正文完
 0