如果你的环境是ubuntu,不建议用 apt-get 来建立golang环境,因为不仅仅是因为版本比较落后,很多配置都需要重新配置
进入到服务器
wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz
tar -zxvf go1.12.5.linux-amd64.tar.gz
mv go /usr/local
vim /etc/profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
然后 esc
,:q
保存
再执行
source /etc/profile
生效
这时候 执行 go env
就可以看到相关信息了,当然了,你也可以制定一个gopath
先在你数据库里 建里一个 go-blog
的库
然后 打开项目的common/sql.sql
,或者 https://github.com/izghua/go-blog/blob/master/common/sql.sql 复制出来,然后在你数据库软件里直接插入
因为数据需要缓存而用到redis
.请在你服务器上安装redis
如果你有vpn或者代理,而且你还善于处理服务器上设置代理或者vpn,那么,你可以直接执行 go build 将会自动拉取依赖的代码(会从google.com等网站拉取),
如果你没有代理或者vpn,那么也是不用担心的,我已经把相关依赖放到了项目的vendor
文件夹里,那么你只需要把你服务器设置一个GOPATH
,然后执行 go get -v github.com/izghua/go-blog
或者 git clone https://github.com/izghua/go-blog
到你的GOPATH/src/github.com/izghua/
目录下
然后进入到go-blog
目录里,
项目根目录下有 env.example.yaml
文件,里面有可配置的参数,
如果你的项目是本地或者测试环境,你可以复制env.example.yaml
文件 重新命名为env.dev.yaml
,如果是线上环境,请配置成env.prod.yaml
文件
如果同时配置了 dev 和 prod 文件,默认走dev文件,如果两者都没有配置,走默认..
项目根目录执行
go build
会生成一个 go-blog 的二进制文件
如果你只是试试效果,你可以执行
go run main.go
或者
./go-blog
效果是一样的,
当然了,如果你想让其一直运行,可执行
nohup ./go-blog &
如果需要终止进程,在执行上面的命令的时候,会返回一个 进程号给你,你可以记下,如果忘记了也没有关系,执行
ps -ef |grep “./go-blog”
就可以看到nohup
的这条进程号,
kill 进程号
即可!
放在服务器, 肯定是需要域名访问的,那么,可以加个nginx
代理
nginx安装过程省略.网上教程特别多
只说下 conf
关键处的配置
server {
listen 80;
server_name www.iphpt.com;
access_log /data/wwwlogs/www.iphpt.com_nginx.log combined;
include /usr/local/nginx/conf/rewrite/none.conf;
location /static{
root /go-blog;
expires 1d;
add_header Cache-Control public;
access_log off;
}
location /favicon.ico {
root /favicon.ico;
}
location /robots.txt {
root /go-blog;
}
location / {
proxy_pass http://127.0.0.1:8081/;
}
}
上线后发现,日志里总有404,但是页面正常显示,最后发现是nginx回去找
favicon.ico
文件,但是我根目录是没有的,所以可以设置个location
,robots.txt
也一样!
然后重启nginx
即可
service nginx reload
在你的域名商那解析你的域名到你的服务器上..
gitalk
评论打开 https://github.com/settings/applications/new
Application name: 填个名称.后期可以改的 Homepage URL: 填你网站地址,后期可以改 Application description: 描述,可以不填 Authorization callback URL: 回调地址,你可以填你网站地址,后期可以改
创建成功后,你就会发现有 Client ID
和 Client Secret
然后你可以建一个repo或者找一个已有的repo,将相关信息填到 yaml配置文件里
重启服务,就可以看到评论系统了
本站(PHP --> Golang)已重构,代码开源
当你能力不能满足你的野心的时候,你就该沉下心来学习