Like_Girl_For_Golang 情侣小站 程序的使用帮助
项目介绍
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
守护进程
方法一
- 在 https://nssm.cc/downloadopen in new window 下载最新版本的
nssm
; - 在解压后的文件夹内按住 Shift 并右击空白处,选择“在此处打开 Powershell 窗口”;
- 在弹出的窗口中输入
.\nssm.exe install girl
; - Path 选择 girl.exe 的路径,如
D:\alist\alist.exe
,Arguments 填server
; - Details 选项卡中可以自定义标题和描述,可以选择服务的自启动模式(自动|延迟启动|手动|禁用);
- 在 I/O 选项卡为 Output (stdout) 和 Output (stderr) 各自指定一个日志文件的路径,如
D:\girl\stdout.log
,文件本身(stdout.log
)可以不存在,但是指定的目录(D:\girl
)必须存在; - 点击“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