attachments-2021-08-e7K2ntVP6109ea6d3b27b.jpg

本文主要讲解基于golang语言的开源博客,有需要的朋友可以参考一下:

一.使用项目该项目

获取项目

go get github.com/msterzhang/go_blog_api

1.安装相关依赖

后端框架

go get github.com/astaxie/beego

Mysql驱动

go get github.com/go-sql-driver/mysql

Redis缓存驱动,用于用户token回话,也可以用于缓存博客数据

github.com/go-redis/redis

邮件发送,具体按照你的需求,见config文件

go get gopkg.in/gomail.v2

2.打开app.conf,修改host,这个使用来确定你上传文件的下载路径的

appname = weblog

httpport = 8003

runmode = dev

host=http://localhost:8003

3.打开数据库config.go文件,设置mysql数据库信息,数据库请先创建好,程序会自动创建相关表

func init() {

orm.RegisterDriver("mysql", orm.DRMySQL)

orm.RegisterDataBase("default", "mysql", "username:password@/数据库名字?charset=utf8&loc=Asia%2FShanghai")

logs.Info("\n连接数据库成功!")

}

二.api文档

这个项目的api文档,我使用的是postman创建。地址:

https://documenter.getpostman.com/view/6651807/S1EJYMDb

三.关于项目部署

我采用的是Nginx代理的方式部署网站,其中有几处需要注意:

Nginx相关命令:

安装(以Ubuntu为例)

sudo apt-get install nginx

停止

sudo service nginx stop

启动

sudo service nginx start

1.创建Nginx代理转发文件blogapi.conf,放在conf.d目录下,这是开启https的版本,具体如何获取,请看我的博客,不开启的很简单,改改就可以

server {

    charset utf-8;

    listen 443 ssl;

    server_name api.zhang18.top;

    ssl_certificate /etc/letsencrypt/live/zhang18.top/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/zhang18.top/privkey.pem;

    access_log  /root/go/src/weblog/access.log;

    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:8003;

    }

}

server {

    listen 80;

    server_name api.zhang18.top;

    return 301 https://$host$request_uri;

}

2.给权限,打开nginx.conf,修改如下

#user www-data;

user root;

3.上传文件大小控制,Nginx默认是不大于20M,所以你需要更改规则,打开nginx.conf,修改如下

client_max_body_size 3072m;

4.项目运行

服务器编译项目:

go build main.go

运行项目

./main

常驻后台运行

nohup ./main &

四.如何关闭后台任务?

查看后台任务,找到进程号

ps -ef

杀死进程

kill 8999

程序员编程交流QQ群:805358732

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-ZNJ5yo6P62ad6d10d785d.jpeg