Total Pageviews

Thursday 1 April 2021

go-blog

 Golang+MySQL blog.

Address: https://www.iphpt.com

I spent some time refactoring alone!

中文文档

main:

  1. Article release and modification
  2. Article Recycle Bin and Withdrawal
  3. Article categories
  4. Article tags
  5. Website information freedom setting
  6. Article support markdown
  7. ★ Website static files can be freely configured local or CDN
  8. ★ You can choose to upload images to server or qiniu or both at the same time.
  9. Freely add friendchain and manage friend chain order
  10. Using the issue function of github as a commenting system, the interface is beautiful and convenient for other users to leave messages and notifications.
  11. ★ Regularly back up data and static resources
  12. ★ Backup data mail is sent to the mailbox

Technical point:

The main code is golang+vue+HTML+CSS+MySQL

How to install

go-blog安装教程

关于go-blog的配置文件解析

from https://github.com/izghua/go-blog

---------------------------------------------------------

go-blog安装教程

1.下载GOLANG

如果你的环境是ubuntu,不建议用 apt-get 来建立golang环境,因为不仅仅是因为版本比较落后,很多配置都需要重新配置

https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz

进入到服务器

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

2.加入MYSQL表

先在你数据库里 建里一个 go-blog 的库

然后 打开项目的common/sql.sql,或者 https://github.com/izghua/go-blog/blob/master/common/sql.sql 复制出来,然后在你数据库软件里直接插入

3.REDIS

因为数据需要缓存而用到redis.请在你服务器上安装redis

4.部署项目

  • 如果你有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目录里,

5.配置文件

项目根目录下有 env.example.yaml文件,里面有可配置的参数, 如果你的项目是本地或者测试环境,你可以复制env.example.yaml文件 重新命名为env.dev.yaml,如果是线上环境,请配置成env.prod.yaml文件

如果同时配置了 dev 和 prod 文件,默认走dev文件,如果两者都没有配置,走默认..

6.启动你的项目

项目根目录执行

go build

会生成一个 go-blog 的二进制文件

如果你只是试试效果,你可以执行

go run main.go

或者

./go-blog

效果是一样的,

当然了,如果你想让其一直运行,可执行

nohup ./go-blog &

如果需要终止进程,在执行上面的命令的时候,会返回一个 进程号给你,你可以记下,如果忘记了也没有关系,执行

ps -ef |grep “./go-blog”

就可以看到nohup的这条进程号,

kill 进程号

即可!

7.域名访问

放在服务器, 肯定是需要域名访问的,那么,可以加个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

8.域名解析

在你的域名商那解析你的域名到你的服务器上..

9.配置GITALK评论

打开 https://github.com/settings/applications/new

Application name: 填个名称.后期可以改的 Homepage URL: 填你网站地址,后期可以改 Application description: 描述,可以不填 Authorization callback URL: 回调地址,你可以填你网站地址,后期可以改

创建成功后,你就会发现有 Client ID 和 Client Secret 然后你可以建一个repo或者找一个已有的repo,将相关信息填到 yaml配置文件里

重启服务,就可以看到评论系统了.

from https://www.iphpt.com/detail/130


No comments:

Post a Comment