GithubHelp home page GithubHelp logo

fengyu17 / metal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yuedun/metal

0.0 1.0 0.0 26.52 MB

基于beego开发的博客,管理后台系统,包含功能:登录,用户管理,权限管理,多线程获取数据,定时任务,爬虫。可供初学者学习参考。

Home Page: http://www.hopefly.top

License: Apache License 2.0

Go 96.95% Shell 0.02% PHP 0.56% CSS 2.19% Java 0.29%

metal's Introduction

项目说明

后台模板

项目启动

  • 该项目包含数据库文件,请自行创建issue数据库,执行issue.sql数据脚本导入数据。
  • 复制conf/app-sample.conf文件并重命名为app.conf

go get安装所需依赖

go get -u github.com/beego/bee安装beego命令行工具

执行bee run如果未找到bee命令,在系统变量Path中追加%GOBIN%,作用是执行第三方命令,比如beego会在该目录下安装bee命令

go buildgo install命令的区别: go build会在执行该命令的目录下生成可执行文件,go install会在bin目录下生成可执行文件

> cd %GOPATH%/src
> cd metal
> bee run

生产环境启动

./run

守护进程

单纯的启动以后,程序的稳定性很差,任何一个错误都会导致进程退出。所以需要守护进程来保证程序退出后自动重启,beego官网有提供一些方法https://beego.me/docs/deploy/,但在此我提供另一种方式,nodejs开发者应该很熟悉了,就是大名鼎鼎的pm2,没想到pm2也可以作为golang的守护进程。如果已经安装了pm2可以直接使用。

首次启动服务:

pm2 start metal

run-by-pm2.sh是编写好的脚本文件,用于重启服务,具体过程是代码更新后编译>杀进程>pm2自动重启。因为pm2监听到进程退出后会自动重启,所以此处不需要手动重启。

./run-by-pm2.sh

启动方法和nodejs一样简单。如果没有安装过pm2那建议还是使用Supervisord,毕竟安装nodejs也是个技术活。

交叉编译

一般开发环境是windows或mac,但是服务器是linux,如果直接在服务器上拉取git代码进行编译可能会出现问题,比如开发时新引用了第三方包,国内的网络环境不便于使用第三方包,在服务器上可能get不到这些包。所以最好是在本地打包上传到服务器,那么就需要交叉编译(在window上打包为linux应用)

GOOS=linux GOARCH=amd64 go build

这个命令会生成一个linux可执行程序。然后上传到服务器即可。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.