项目介绍

Like_Girl_For_Golang 项目的开发灵感来源于PHP开源项目Like_Girl V5.1.0 ,这一个情侣小站的项目是一次找某开源框架的时候在gitee中发现的,README中的演示图片让我眼前一亮,随即便 clone 下来在本地搭建了一下,发现这个项目还是挺不错的,看原版介绍还有付费版,这就没有去研究,毕竟这个免费的也看着挺不错的。其中个人觉得美中不足的是这个小项目用着mysql 数据库,搞这种小站基本上不会有太多的数据库需求,在安装部署时候还需要装php 和mysql 环境,还是有点嫌太复杂了,便想着用原作者的UI用Golang Gin 框架重新开发一个,比较Golang 跨平台性比较好,编译出来的二进制文件到哪都可以运行,便诞生了 Like_Girl_For_Golang 这个项目。

项目安装

Docker 安装

我已经构建了Docker 版本,并上传到了仓库,使用docker安装环境是比较不错的选择。

Docker命令直接运行

docker run -p 5200:5200 -d -v ./data:/Girl/data --restart=always --name girl kukudebai/girl:latest
  • -p 参数后面为需要开放的端口
  • -d 后台运行
  • -v 数值持久化,映射容器目录

更新

# 停止
docker stop girl
# 拉取最新
docker pull kukudebai/girl:latest
# 启动
docker run -p 5200:5200 -d -v ./data:/Girl/data --restart=always --name girl kukudebai/girl:latest

Docker-Compose 安装 (推荐)

version: '3'
services:
    girl:
        image: 'kukudebai/girl:latest'
        container_name: girl
        restart: always
        volumes:
            - './data:/Girl/data'
        ports:
            - '5200:5200'

启动服务:

docker-compose up -d

更新

docker-compose down

docker-compose pull

docker-compose up -d

Linux & Macos 安装

到 GitHub 下载自己系统所对应的版本:https://github.com/lovebai/Girl/releases
下载好之后解压缩:

解压完之后为程序添加权限:

之后直接运行即可

可以使用nohup 命令后台运行,也可以注册成一个服务:

1. 创建服务单元文件

首先,您需要在 /etc/systemd/system/ 目录下创建一个服务单元文件。这一个名为 girl.service 的文件。

sudo nano /etc/systemd/system/girl.service

2. 编辑服务单元文件

在打开的编辑器中,添加以下内容:

[Unit]
Description=Like_Girl_For_Golang Service
After=network.target

[Service]
ExecStart=/path/to/your/binary/myapp
Restart=always
User=yourusername
Group=yourgroupname

[Install]
WantedBy=multi-user.target

请根据您的实际情况修改以下内容:

  • /path/to/your/binary/myapp:替换为您的二进制文件的实际路径。
  • yourusername:替换为运行该服务的用户。
  • yourgroupname:替换为运行该服务的用户组。

3. 重新加载 systemd

创建或修改服务单元文件后,您需要重新加载 systemd,以使其识别新的服务:

sudo systemctl daemon-reload

4. 启动服务

您可以使用以下命令启动服务:

sudo systemctl start girl.service

5. 设置开机自启

如果您希望服务在系统启动时自动启动,可以使用以下命令:

sudo systemctl enable girl.service

6. 查看服务状态

您可以使用以下命令查看服务的状态:

sudo systemctl status girl.service

7. 停止和禁用服务

如果您需要停止服务,可以使用:

sudo systemctl stop girl.service

如果您希望禁用服务的开机自启,可以使用:

sudo systemctl disable girl.service

通过以上步骤,您就可以将一个单二进制文件注册为 Linux 服务。

Windows 安装

同上,到github release 页面下载Windows对应版本,通过命令运行。

./girl.exe

守护进程

方法一
  1. 在 https://nssm.cc/downloadopen in new window 下载最新版本的 nssm
  2. 在解压后的文件夹内按住 Shift 并右击空白处,选择“在此处打开 Powershell 窗口”;
  3. 在弹出的窗口中输入 .\nssm.exe install girl
  4. Path 选择 girl.exe 的路径,如 D:\alist\alist.exe,Arguments 填 server
  5. Details 选项卡中可以自定义标题和描述,可以选择服务的自启动模式(自动|延迟启动|手动|禁用);
  6. 在 I/O 选项卡为 Output (stdout) 和 Output (stderr) 各自指定一个日志文件的路径,如 D:\girl\stdout.log,文件本身(stdout.log)可以不存在,但是指定的目录(D:\girl)必须存在;
  7. 点击“Install Service”即可。

此后可以直接在服务中启动 girl

方法二

用 .VBS 脚本启动和停止,分别创建两个脚本 分别是 启动.vbs 和 停止.vbs

直接在和Alist启动程序同级文件夹里面双击启动即可,不用担心没有反应 直接去 浏览器访问即可。

启动.vbs
Dim ws
Set ws = Wscript.CreateObject("Wscript.Shell")
ws.run "girl.exe",vbhide
Wscript.quit
关闭.VBS
Dim ws
Set ws = Wscript.CreateObject("Wscript.Shell")
ws.run "taskkill /f /im girl.exe",0
Wscript.quit

开机自启: 分别为两个脚本创建两个快捷方式,按键盘win+r 在运行框中输入shell:startup ,在将创建好的两个快捷方式拖入其中即可实现开机自启。

配置文件

运行程序后默认还在程序目录下创建一个为data的目录,在目录中会生成两个文件,一个为conf.ini配置文件,一个_main.db为后缀的数据库文件。
默认配置文件内容如下:

app_mode = debug
app_port = 5200

[paths]
data = temp
path = Admin

[others]
salt = jiami
admin_secret = secret
  • app_mode 运行模式,默认为release ,debug 为调试模式
  • app_port 程序所运行的端口
  • data 数据库文件名字,修改之后重启程序,会在程序配置文件所在目录生成新的数据库文件,就得数据库文件可自行删除。
  • path 后台地址路径 默认为Admin
  • salt 后台用户登录加密密码盐,可默认也可自定义
  • admin_secret 后台用户登录jwt secret, 可默认也可自定义
注:修改配置文件后均需重启服务。

访问地址跳转安装页面,输入相关用户信息即可。

以上服务启动后均可通过域名或ip进行访问。也可以通过caddy、nginx之类的程序反向代理,如果需要此类教程,请在下方留言,我找时间更新下文档。

后台设置

后台设置与原PHP版有点不一样,对设置项进行了一些改动,新增了一个其他设置页面。

基本设置

可以在此设置站点的基本信息,标题、LOGO、右上角文案、网站描述,关键词等。在情侣配置项目可以设置前台显示的相关信息,添加了一些基本设置项。

其他设置

在此设置中可设置站点的显示效果,如开启头像背景模糊,站点icon 图标以及背景图的设置,还可再次设置前台图标显示的方式,可以为图片外链的方式,也可以是直接获取QQ头像的方式,而QQ头像账号需要在账号设置中进行设置。程序还集成了 EasyImage2.0 简单图床 可以选择填入图床对应相关信息来启用图床,如还需使用其他图床可在下方留言,有空我添加上去即可。除此之外还可进行一些其他设置,如进行留言相关的设置,前台自定义代码的设置。自行研究,不懂留言。

构建开发

Golang 环境要求 >= 1.23.0,将配置文件内app_mode 改为 debug

安装 goreleaser

go install github.com/goreleaser/goreleaser/v2@latest

Clone 本仓库

git clone https://github.com/lovebai/Girl.git

编译

goreleaser build --clean --single-target --snapshot

标签: docker like girl 情侣小站 golang

添加新评论