跳至正文
大神K

编程技术 / Web开发 / AI学习笔记

大神K

编程技术 / Web开发 / AI学习笔记

  • 首页
  • AI
  • 运维
  • 漏洞
  • 安全
  • 逆向
  • 工具
  • 资源
    • 科学上网
  • 资讯
  • 🛒大神商城
  • ✨ 项目展示
  • 👋 关于我
  • 首页
  • AI
  • 运维
  • 漏洞
  • 安全
  • 逆向
  • 工具
  • 资源
    • 科学上网
  • 资讯
  • 🛒大神商城
  • ✨ 项目展示
  • 👋 关于我
关

搜索

大神K

编程技术 / Web开发 / AI学习笔记

大神K

编程技术 / Web开发 / AI学习笔记

  • 首页
  • AI
  • 运维
  • 漏洞
  • 安全
  • 逆向
  • 工具
  • 资源
    • 科学上网
  • 资讯
  • 🛒大神商城
  • ✨ 项目展示
  • 👋 关于我
  • 首页
  • AI
  • 运维
  • 漏洞
  • 安全
  • 逆向
  • 工具
  • 资源
    • 科学上网
  • 资讯
  • 🛒大神商城
  • ✨ 项目展示
  • 👋 关于我
关

搜索

家/运维与服务器/搭建 – 卡密 – 独角数卡Next
运维与服务器

搭建 – 卡密 – 独角数卡Next

作者 大神K
2026年4月20日 3 分钟阅读
0

Pasted image 20260420172005.png

Golang

使用 gvm(推荐开发者)

  1. 先装基础工具:
  2. GVM(GVM)官方安装脚本:
  3. 加载环境变量
    1. 建议加到 ~/.bashrc:
  4. 安装 Go
    1. ⚠️ 第一次安装必须先装一个“bootstrap”版本:
    2. 👉 然后安装你需要的版本(比如 Go 1.22):
  5. 验证
sudo apt update
sudo apt install -y curl git mercurial make binutils bison gcc build-essential

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm

gvm install go1.20.6
gvm install go1.22.6
gvm install go1.25.3
gvm use go1.25.3 --default

go version
gvm list

Nodejs

# Download and install n and Node.js:
curl -fsSL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s 25
# Node.js already installs during n-install, but you can also install it manually:
#   n install 25
# Verify the Node.js version:
node -v # Should print "v25.9.0".
# Verify npm version:
npm -v # Should print "11.12.1".

独角数卡Next手动部署

获取源码

mkdir dujiao-next && cd dujiao-next

# API(主项目)
git clone https://github.com/dujiao-next/dujiao-next.git api

# User(用户前台)
git clone https://github.com/dujiao-next/user.git user

# Admin(后台)
git clone https://github.com/dujiao-next/admin.git admin

后端 API 部署

安装依赖并构建

cd api
go mod tidy
go build -o dujiao-api ./cmd/server

配置文件

cp config.yml.example config.yml
# 按实际环境修改 config.yml

关键项至少要确认:

  • server.mode(debug/release)
  • database.driver / database.dsn
  • jwt.secret / user_jwt.secret
  • redis、queue、email(按需启用)

⚠️ 重要安全提醒:上线前必须修改 jwt.secret 与 user_jwt.secret,并使用至少 32 位高强度随机字符串。

严禁使用模板默认值,否则可能导致 Token 可伪造,存在严重安全风险。

初始化数据(可选)

go run ./cmd/seed

运行 API

./dujiao-api

默认监听:http://0.0.0.0:8080

默认后台管理员账号(首次初始化)

当数据库中 admins 表为空时,系统会在 API 首次启动时尝试创建默认管理员:

  • 默认账号:admin
  • 默认密码:admin123

强烈建议:首次登录后台后,立刻在“后台 -> 修改密码”中更换为强密码。

说明:

  • 你可以在启动 API 前设置环境变量覆盖默认值:
    • DJ_DEFAULT_ADMIN_USERNAME
    • DJ_DEFAULT_ADMIN_PASSWORD
  • 若 server.mode=release 且未设置 DJ_DEFAULT_ADMIN_PASSWORD,系统会跳过默认管理员初始化(不会自动创建 admin/admin123)。

用户前台 User 部署

安装依赖与构建

cd ../user
npm install
npm run build

构建产物目录:user/dist

运行方式

你可以选择:

  • 用 Nginx 托管 user/dist
  • 或临时使用 npm run preview 验证

后台 Admin 部署

安装依赖与构建

cd ../admin
npm install
npm run build

构建产物目录:admin/dist

运行方式

你可以选择:

  • 用 Nginx 托管 admin/dist(建议绑定 /admin 路径)
  • 或临时使用 npm run preview 验证

Nginx 反向代理配置

User 与 Admin 前端各自通过 /api、/uploads 路径反向代理到 API 服务(127.0.0.1:8080),需分别配置两个域名。

分域名部署示例

  • 前台:user.example.com → user/dist
  • 后台:admin.example.com → admin/dist
server {
    listen 80;
    server_name shop.dashenk.com; 
    return 301 https://$host$request_uri;
}

server {
    listen 80;
    server_name shopadmin.dashenk.com; 
    return 301 https://$host$request_uri;
}

# 前台 User
server {
    listen 443 ssl;
    server_name shop.dashenk.com;

    root /var/www/dujiao-next/user/dist;
    index index.html;
    
    ssl_certificate /etc/ssl/cf/dashenk.com.crt;
    ssl_certificate_key /etc/ssl/cf/dashenk.com.key;

    ssl_protocols TLSv1.2 TLSv1.3;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /api/ {
        proxy_pass http://127.0.0.1:8080/api/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /uploads/ {
        proxy_pass http://127.0.0.1:8080/uploads/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# 后台 Admin
server {
    listen 443 ssl;
    server_name shopadmin.dashenk.com;

    root /var/www/dujiao-next/admin/dist;
    index index.html;
    
    ssl_certificate /etc/ssl/cf/dashenk.com.crt;
    ssl_certificate_key /etc/ssl/cf/dashenk.com.key;

    ssl_protocols TLSv1.2 TLSv1.3;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /api/ {
        proxy_pass http://127.0.0.1:8080/api/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /uploads/ {
        proxy_pass http://127.0.0.1:8080/uploads/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

启停与升级建议

  • API 建议使用 systemd / supervisor 托管
  • 发布时按顺序执行:
    1. 停止 API
    2. 更新代码并重新构建
    3. 替换 user/dist、admin/dist
    4. 启动 API
    5. 检查健康接口:GET /health

创建 systemd 服务文件

  • /etc/systemd/system/dujiao-api.service
[Unit]
Description=Dujiao Next API Service
After=network.target

[Service]
Type=simple
WorkingDirectory=/var/www/dujiao-next/api
ExecStart=/var/www/dujiao-next/api/dujiao-api

Restart=always
RestartSec=3

Environment=PORT=8080
Environment=GIN_MODE=release

StandardOutput=journal
StandardError=journal

LimitNOFILE=65535
MemoryMax=300M
CPUQuota=80%

NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

启动命令

systemctl daemon-reload
systemctl start dujiao-api
systemctl status dujiao-api
systemctl enable dujiao-api
journalctl -u dujiao-api -f

安装redis 使用podman-compose

version: "3.9"

services:
  redis:
    image: docker.io/library/redis:7.2
    container_name: redis-1c1g
    restart: unless-stopped

    ports:
      - "6379:6379"

    volumes:
      - ./redis.conf:/usr/local/etc/redis/redis.conf:ro
      - redis-data:/data

    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]

    # 💡 1G机器核心限制
    mem_limit: 512m
    cpus: 0.8

    ulimits:
      nofile:
        soft: 65535
        hard: 65535

    environment:
      - TZ=Asia/Shanghai

volumes:
  redis-data:

redis配置文件

########################################
# 基础配置
########################################
bind 0.0.0.0
protected-mode yes
port 6379

# 改成你的密码(必须改)
requirepass yourpassword

daemonize no
supervised no

########################################
# 🔥 内存核心配置(关键)
########################################

# 1G机器建议:300~450MB之间
maxmemory 400mb

# 缓存策略(强烈推荐)
maxmemory-policy allkeys-lru

# 内存碎片优化
activedefrag yes

########################################
# 💾 持久化(轻量模式)
########################################

# ❗关闭RDB(省CPU + IO)
save ""

# 开启AOF(轻量持久化)
appendonly yes
appendfsync everysec

# 避免rewrite卡顿
no-appendfsync-on-rewrite yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

########################################
# 🚀 性能优化
########################################

tcp-keepalive 300
timeout 0

# 限制客户端(防止爆)
maxclients 1000

########################################
# 📉 日志(轻量)
########################################

loglevel notice
logfile ""

########################################
# 🧠 内存碎片控制(关键优化)
########################################

hz 10
dynamic-hz yes

########################################
# 🧹 安全/稳定
########################################

rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""

########################################
# 🔒 保护性配置
########################################

stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
📌 版权声明

文章作者:大神K

原文链接:https://dashenk.com/2026/04/20/%e6%90%ad%e5%bb%ba-%e5%8d%a1%e5%af%86-%e7%8b%ac%e8%a7%92%e6%95%b0%e5%8d%a1next/

版权说明:本文为原创内容,转载请注明出处。

标签:

搭建卡密独角数卡
作者

大神K

我是一个长期在技术与赚钱之间反复横跳的人。 做过网站、搞过SEO、写过程序,也踩过币圈的坑。 现在在做的事情很简单: 用 AI + 技术,把复杂的事情变简单,把一个人变成一支队伍。 这个网站,不是教程站,而是我的「操作记录」。 一个站长如何做 SEO 和流量 一个开发者如何用 AI 提高效率 一个交易者如何系统性构建赚钱模型 只讲能落地的方案,分享: 真实经验 + 踩过的坑 在这个时代,一个人,也可以是一家公司。

关注我
其他文章
上一个

男性必看:如何让抽插时间从30秒到20分钟!

下一个

搭建 – Epusdt 新版本 0.0.8

暂无评论!成为第一个。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告 × 广告
广告 × 广告
广告 × 广告
广告 × 广告

Agent AI写作 AI利用 AI变现 AI大模型 AI工具 ChatGPT Claude Cloudflare CVE Epusdt Gemma4 GEO技术 GitHub GPT GPT-Image-2 Hermes Image-2 Linux MacOS系统 OpenClaw POC RackNerd Skills VPS Windows 下载利器 两性 云主机购买 免费工具 免费模型 大龙虾 小红书 工具使用 开源免费 提示词 教学 教程 本地运行 梯子 漏洞 爬虫工具 谷歌 资源下载 黑客工具

大神K
🚀 AI工具|建站教程|副业变现
用技术改变收入结构
免费获取AI工具合集 →
© 2026 大神K · AI Tools & Growth System