如何在宝塔中安装(linux)

  1. 新建文件夹用于存在此项目全部内容
  2. 上传软件到该文件夹内
  3. 在宝塔【网站】-【Go 项目】下点击 新建 Go 项目
  4. 填写以下信息

Alt text

  • 项目执行文件 : 为上传目录中的 dav.ext 文件
  • 项目名称 : dav
  • 项目端口:7005 对应 config 文件的 AppPort 配置项
  • 执行命令:默认即可
  • 运行用户:选择 root (若不选择 root 则有可能出现图片无法上传的情况)
  • 开机启动:建议勾选
  1. 修改配置文件

若使用 mysql 数据库请修改配置文件 configs/app.ini 中的 DatabaseDsn

  • 连接配置格式为

username:password@tcp(127.0.0.1:3306)/dbname

  • 示例

以下位连接 ip 为 192.168.1.50 的服务器端口为 3306,数据库用户名为 root 密码为 123456 数据库为 dav

DatabaseDsn = root:123456@tcp(192.168.1.50:3306)/dav?multiStatements=true

其他配置请参考以下配置文件章节

  1. 如需要域名绑定,请在域名管理处填写需要绑定的域名即可。

Alt text

  1. 下项目日志栏目下看到如下信息就代表启动成功

Alt text

Linux 系统下部署

nohup

我们可以使用简单的 nohup 命令来运行应用程序,使其作为后台守护进程运行,即使远程连接的 SSH 断开也不会影响程序的执行。在流行的 Linux 发行版中往往都默认安装好了 nohup 命令工具。 命令如下:

nohup ./dav.exe &

tmux

tmux 是一款 Linux 下的终端复用工具,可以开启不同的终端窗口来将应用程序作为后台守护进程执行,即使远程连接的 SSH 断开也不会影响程序的执行。 在 ubuntu 系统下直接使用sudo apt-get install tmux安装即可。使用以下步骤将应用程序后台运行。

  • tmux new -s dav;
  • 在新终端窗口中执行./dav.exe 即可;
  • 使用 ctrl + B & D 快捷键可以退出当前终端窗口;
  • 使用 tmux attach -t dav 可进入到之前的终端窗口;

Nginx

我们推荐使用 Nginx 作为反向代理的前端接入层

server {
    listen       80;
    server_name  davbi.com;
    access_log   /var/log/app-access.log;
    error_log    /var/log/app-error.log;

    location / {
        try_files $uri @backend;
    }

    location @backend {
        proxy_pass                 http://127.0.0.1:7001;
        proxy_redirect             off;
        proxy_set_header           Host             $host;
        proxy_set_header           X-Real-IP        $remote_addr;
        proxy_set_header           X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

Windows 下的部署

双击 dav.exe 即可运行

授权文件

将获得的License文件放入根目录下的 config 文件夹中即可,请注意该文件包含系统敏感信息请勿泄露

配置文件

AppDebug = false
AppPort = 7001
AppIp=0.0.0.0
AppJwtSecret = 111111
AppName = dav
;数据库类型
DatabaseType = sqlite3
;示例1:  username:password@tcp(127.0.0.1:3306)/dbname
;DatabaseDsn = root:root@tcp(127.0.0.1:3306)/dav
;DatabaseDsn = root:123456@tcp(192.168.1.22:3305)/dav_v5
DatabaseDsn = "file:configs/main.db?cache=shared&columnsWithAlias=true"
配置项说明
AppDebug是否开启调试模式(开启后) 后影响性能 填写 false 即可
AppPort对外暴漏的端口
AppIp是否绑定 ip 不绑定填写 0.0.0.0 即可
AppJwtSecret系统用户加密登录的key相当于系统密码,在部署的时候一定要修改掉默认的 💥
AppName运行系统名称
DatabaseType数据库类型 sqlite3mysql
DatabaseDsn数据库连接参数

DatabaseDsn 详细说明

  1. sqlite3 的连接说明

sqlite3 为文件数据库,无需安装指定一个存储位置即可以 .下配置表示在configs目录下使用main.db数据库 , 若数据库不存在系统在启动的时候自动创建一个

DatabaseDsn = "file:configs/main.db?cache=shared&columnsWithAlias=true"
  1. mysql 的连接说明
  • 连接配置格式为

username:password@tcp(127.0.0.1:3306)/dbname?multiStatements=true

  • 示例

以下位连接 ip 为 192.168.1.50 的服务器端口为 3306,数据库用户名为 root 密码为 123456 数据库为 dav

DatabaseDsn = root:123456@tcp(192.168.1.50:3306)/dav?multiStatements=true