硬派计费系统安装配置指南

安装环境

linux/BSD 64位系统, 推荐使用 centos7, opsuse 14 systemd支持:操作系统最好支持systemd管理服务

上传软件至服务器

将你获取的软件安装包toughee-linux-x64.tar.xz 上传至服务器 /opt 目录, 正确的路径应该是:

/opt/toughee-linux-x64.tar.xz

部署系统

cd /opt
tar xvf toughee-linux-x64.tar.xz

解压缩得到 /opt/toughee 目录

☞ 注意: /opt/toughee 是默认目录,建议不要修改目录

执行 make all 安装

cd /opt/toughee 
make all

首次使用还需初始化数据库,根据实际情况修改 /opt/toughee/etc/toughee.json 的数据库配置,默认采用 sqlite 数据库。

mysql 配置说明

进入 mysql 终端管理:

mysql >  create database toughee DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql >  GRANT ALL ON toughee.* TO raduser@'127.0.0.1' IDENTIFIED BY 'radpwd' WITH GRANT OPTION;
mysql >  FLUSH PRIVILEGES;

修改数据库配置部分,具体参数请根据实际填写。

"database": {
    "backup_path": "/var/toughee/data",
    "dbtype": "mysql",
    "dburl": "mysql://raduser:radpwd@127.0.0.1:3306/toughee?charset=utf8",
    "echo": 0,
    "pool_recycle": 300,
    "pool_size": 60
}

执行初始化

cd /opt/toughee 
make initdb

运行系统

使用systemd来管理服务

systemctl start toughee  #启动服务,注意系统开机时会自动启动服务,无需人工启动
systemctl stop toughee  #停止服务
systemctl status toughee #查看服务状态

使用系统

系统使用的端口可以在 /opt/toughee/etc/toughee.json 中修改

默认端口如下:

  • 1816 默认管理控制台端口,可以通过http://服务器地址:1816 访问
  • 1819 默认自助服务端口,可以通过http://服务器地址:1819 访问
  • 1812 默认 Radius 认证端口,提供路由器接入设备访问
  • 1813 默认 Radius 记账端口,提供路由器接入设备访问

☞ 硬派网络计费系统提供了基于WEB浏览器的管理界面,为了更好地操作体验,建议您使用IE9以上浏览器,推荐使用Chrome内核浏览器,以及火狐浏览器获得更好的效果。在较老的 IE 版本上会有一些兼容性问题。

其他说明

  • 服务使用toughee用户运行,为保证安全尽量不要修改为root用户,toughee用户必须有 /opt/toughee,/var/toughee的读写权限
  • 注意初次运行,可能因防火墙启动而无法访问,请开放1816/tcp,1819/tcp,1812/udp,1813/udp端口。
  • 请合理分配计费系统操作权限,保证系统安全。
  • 每个进程都会占用一定的mysql连接数,请注意合理优化mysql性能。
  • linux新系统一定要优化内核,加大连接数,不然不能应对高并发。
  • 计费系统默认又一个自动备份功能,但不太适合大数据量的备份恢复,建议使用mysql本身的备份功能来进一步保证数据安全,并且将数据文件远程备份。

mysql备份脚本

系统内置了一个mysql备份脚本,在/opt/toughee/bin/mysql_backup,修改下配置,可以加入系统定时任务执行每日备份

上网日志表不备份,默认保留14天的备份

!/bin/bash
# toughee database backup script
# 01 1 * * *  sh /opt/toughee/bin/mysql_backup  # crontab任务定义

USER="root" 
PASSWORD=  #根据实际修改
OUTPUT="/backup" #备份目录,自动创建
DATABASES=("mysql" "toughee") # 需要备份的数据库表

test -d $OUTPUT || mkdir -p $OUTPUT #自动创建备份目录

# 自动删除14天以前的备份文件,请根据实际调整
find $OUTPUT -name "*.sql.xz" -type f -mtime +14 -exec rm -f {} \; > /dev/null 2>&1

for db in ${DATABASES[@]}; do
    echo "backup database: $db"
    mysqldump --force --opt --user=$USER \
        --password=$PASSWORD --databases $db \
        --ignore-table=toughee.tr_ticket > $OUTPUT/date +%Y%m%d.$db.sql
xz -f $OUTPUT/date +%Y%m%d.$db.sql
done

linux 内核优化

默认情况下,linux系统有一些限制,并不能直接支持高并发性能,需要做一些内核优化。

把以下内容加入 /etc/sysctl.conf

net.ipv4.ip_forward=1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_wmem = 8192 436600 873200
net.ipv4.tcp_rmem  = 32768 436600 873200
net.ipv4.tcp_mem = 94500000 91500000 92700000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_fin_timeout = 30
vm.overcommit_memory = 1

执行 sysctl -p

修改 /etc/security/limits.conf

加入以下内容至末尾

*  soft nproc 40000
*  hard nproc 40000
*  soft nofile 40000
*  hard nofile 40000

修改 /etc/pam.d/login

加入以下内容至末尾

session required /lib64/security/pam_limits.so
session required pam_limits.so

修改 /etc/profile

加入以下指令到末尾

ulimit -n 65535

重启一下系统,执行 ulimit -a 可以看到优化结果,执行 ulimit -n 可以看到最大连接数限制,默认是1024

results matching ""

    No results matching ""