Skip to content

安装部署

系统要求

最低配置

  • 操作系统: Linux (推荐 Ubuntu 20.04+) / Windows Server 2019+ / macOS 11+
  • CPU: 2 核
  • 内存: 4 GB
  • 磁盘: 20 GB 可用空间

推荐配置

  • CPU: 4 核及以上
  • 内存: 8 GB 及以上
  • 磁盘: SSD 100 GB 及以上

环境准备

1. 安装数据库

PostgreSQL

bash
# Ubuntu/Debian
sudo apt update
sudo apt install postgresql postgresql-contrib

# 启动服务
sudo systemctl start postgresql
sudo systemctl enable postgresql

# 创建数据库和用户
sudo -u postgres psql -c "CREATE DATABASE nnipms;"
sudo -u postgres psql -c "CREATE USER nnipms_user WITH PASSWORD 'your_password';"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE nnipms TO nnipms_user;"

MySQL

bash
# Ubuntu/Debian
sudo apt update
sudo apt install mysql-server

# 启动服务
sudo systemctl start mysql
sudo systemctl enable mysql

# 登录创建数据库
mysql -u root -p
sql
CREATE DATABASE nnipms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'nnipms_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nnipms.* TO 'nnipms_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

2. 安装 Valkey/Redis

bash
# 使用 Docker(推荐)
docker run -d --name valkey -p 6379:6379 valkey/valkey:latest

# 或使用包管理器
sudo apt install redis-server
sudo systemctl start redis-server
sudo systemctl enable redis-server

安装步骤

方式一:二进制安装(推荐)

Linux

bash
# 下载最新版本
wget https://download.nnipms.liumou.site/nnipms-linux-amd64.tar.gz

# 解压到 /opt 目录
sudo tar -xzf nnipms-linux-amd64.tar.gz -C /opt/

# 创建软链接
sudo ln -s /opt/nnipms-linux-amd64/nnipms /usr/local/bin/nnipms

# 进入目录
cd /opt/nnipms-linux-amd64

# 复制配置文件
sudo cp config/config.example.toml config/config.toml

# 编辑配置
sudo vim config/config.toml

Windows

  1. 下载 nnipms-windows-amd64.zip
  2. 解压到安装目录,如 C:\Program Files\NNIPMS
  3. 复制 config\config.example.tomlconfig\config.toml
  4. 编辑配置文件

macOS

bash
# 下载最新版本
wget https://download.nnipms.liumou.site/nnipms-darwin-amd64.tar.gz

# 解压
sudo tar -xzf nnipms-darwin-amd64.tar.gz -C /opt/

# 创建软链接
sudo ln -s /opt/nnipms-darwin-amd64/nnipms /usr/local/bin/nnipms

# 进入目录
cd /opt/nnipms-darwin-amd64

# 配置
sudo cp config/config.example.toml config/config.toml
sudo vim config/config.toml

配置示例

toml
[database]
driver = "postgres"  # 或 "mysql"
host = "localhost"
port = 5432          # MySQL 使用 3306
username = "nnipms_user"
password = "your_password"
database = "nnipms"
sslmode = "disable"  # PostgreSQL 专用

[cache]
host = "localhost"
port = 6379
password = ""
db = 0

[server]
port = 8070
mode = "release"  # debug 或 release

启动服务

直接运行

bash
# Linux/macOS
./nnipms

# Windows
.\nnipms.exe

使用 Systemd(Linux 生产环境推荐)

bash
# 复制服务文件
sudo cp scripts/nnipms.service /etc/systemd/system/

# 重新加载配置
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start nnipms

# 设置开机自启
sudo systemctl enable nnipms

# 查看状态
sudo systemctl status nnipms

# 查看日志
sudo journalctl -u nnipms -f

使用 Windows 服务

powershell
# 以管理员身份运行
.\nnipms.exe install
.\nnipms.exe start

# 查看服务状态
.\nnipms.exe status

# 停止服务
.\nnipms.exe stop

# 卸载服务
.\nnipms.exe uninstall

访问系统

打开浏览器访问:http://localhost:8070

默认账号:

  • 用户名: admin
  • 密码: admin123456

安全提示

首次登录后请立即修改默认密码!

安装 Probe 客户端(可选)

Probe 客户端用于检测 IP 在线状态和端口连通性。

Linux

bash
# 下载
wget https://download.nnipms.liumou.site/probe-linux-amd64.tar.gz

# 解压
sudo tar -xzf probe-linux-amd64.tar.gz -C /opt/

# 配置
cd /opt/probe-linux-amd64
sudo cp probe-config.example.toml probe-config.toml
sudo vim probe-config.toml

# 运行
sudo ./probe-client

Windows

  1. 下载 probe-windows-amd64.zip
  2. 解压并编辑 probe-config.toml
  3. 运行 probe-client.exe

生产部署建议

使用 Nginx 反向代理

nginx
server {
    listen 80;
    server_name nnipms.yourdomain.com;

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

使用 Docker Compose 部署

yaml
version: '3.8'

services:
  nnipms:
    image: nnipms:latest
    ports:
      - "8070:8070"
    volumes:
      - ./config:/app/config
      - ./log:/app/log
    depends_on:
      - postgres
      - valkey
    restart: unless-stopped

  postgres:
    image: postgres:15
    environment:
      POSTGRES_DB: nnipms
      POSTGRES_USER: nnipms_user
      POSTGRES_PASSWORD: your_password
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

  valkey:
    image: valkey/valkey:latest
    restart: unless-stopped

volumes:
  postgres_data:

数据备份

数据库备份

bash
# PostgreSQL 备份
pg_dump -U nnipms_user nnipms > nnipms_backup_$(date +%Y%m%d).sql

# MySQL 备份
mysqldump -u nnipms_user -p nnipms > nnipms_backup_$(date +%Y%m%d).sql

配置文件备份

bash
# 备份配置目录
tar -czf nnipms_config_backup_$(date +%Y%m%d).tar.gz config/

升级指南

备份数据

升级前请务必备份数据库和配置文件!

执行升级

bash
# 停止服务
sudo systemctl stop nnipms

# 备份旧版本
sudo mv /opt/nnipms-linux-amd64 /opt/nnipms-linux-amd64.bak

# 下载新版本
sudo wget https://download.nnipms.liumou.site/nnipms-linux-amd64.tar.gz -O /tmp/

# 解压新版本
sudo tar -xzf /tmp/nnipms-linux-amd64.tar.gz -C /opt/

# 恢复配置文件
sudo cp /opt/nnipms-linux-amd64.bak/config/config.toml /opt/nnipms-linux-amd64/config/

# 启动服务
sudo systemctl start nnipms

常见问题

无法连接数据库

  1. 检查数据库服务是否启动
  2. 检查配置文件中的连接信息
  3. 检查防火墙设置
  4. 检查数据库用户权限

端口被占用

bash
# 查看端口占用
sudo lsof -i :8070

# 或修改配置文件使用其他端口
vim config/config.toml

权限问题

bash
# 确保程序有执行权限
chmod +x nnipms

# 确保配置目录可写
chmod 755 config/

获取帮助

Released under the MIT License.