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