Linux环境使用nginx和supervisor部署beego

第一步:安装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
便可查看配置的进程情况

你可能感兴趣的:(golang,后端,nginx,supervisor,beego)