Centos下安装弹幕服务器
本文最后更新于 116 天前,其中的信息可能已经有所发展或是发生改变。

今天研究了下Centos8环境下的部署,补充一下

某天突然想用手头小鸡搞个给朋友看的直播间,然后在选弹幕系统的时候找到了这个

一、配置PostgreSQL

安装PostgreSQL

参照PostgreSQL官方文档

Centos7
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
yum install postgresql12 postgresql12-server -y
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12
Centos8
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
yum install libicu python2-libs -y
yum install postgresql12 postgresql12-server --repo pgdg12 -y
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12
初始化PostgreSQL
设置密码
sudo -u postgres psql
ALTER USER postgres WITH PASSWORD 'password';
创建数据库
CREATE ROLE danmu LOGIN PASSWORD 'danmu';

CREATE DATABASE "danmu"
WITH
  OWNER = "danmu"
  ENCODING = 'UTF8'
;
修改设置

修改 /var/lib/pgsql/12/data/pg_hba.conf

找到
local all all peer
host all all 127.0.0.1/32 ident
改成
local all all md5
host all all 127.0.0.1/32 md5

记得修改后重启postgresql使配置生效

二、配置弹幕服务器

下载预编译版本
wget https://github.com/MonoLogueChi/Danmu.Server/releases/download/1.0.0-beta9/linux64.scd.tar.xz
tar -xvf linux64.scd.tar.xz
修改配置文件
cd Danmu
vi appsettings.json

beta10改用yml配置(我用的时候有点问题,数据库一直报错,用json设置则无问题

  • Logging: 无需更改
  • KestrelSettings:
    • Port: string[] 程序运行端口
    • UnixSocketPath: string[] Unix 域套接字地址
  • WithOrigins: string[] 允许跨域地址,可以使用通配符匹配
  • LiveWithOrigins: string[] 直播弹幕服务允许跨域地址,不可以使用通配符匹配
  • AdminWithOrigins: string[] 管理地址跨域,不做二次开发不建议配置,不可以使用通配符匹配
  • danmuSQL:
    • Sql: enum 使用数据库类型,填写编号 ( int ) 或名称 ( string ),0 – PostgreSQL、1 -SQLite
    • Host: string 数据库连接地址
    • Port: int 数据库连接端口,0 为默认端口
    • UserName: string 数据库连接用户名,SQLite 填写无效
    • PassWord: string 数据库连接密码,SQLite 填写无效
    • DataBase: string 连接数据库
    • PoolSize: int 连接池
  • Admin:
    • User: string 管理后台用户名
    • Password: string 管理后台密码
    • MaxAge: int 登录有效时间,分钟
  • BiliBiliSetting:
    • Cookie: string BiliBili Cookie,仅用于历史弹幕获取,不需要历史弹幕不需要填写
    • CidCacheTime: int Cid 缓存时间,小时,Cid 长期不变,缓存时间越长越好
    • DanmuCacheTime: int 弹幕缓存时间,小时
测试运行
chmod +x Danmu
./Danmu

三、配置Caddy

安装Caddy及插件
curl https://getcaddy.com | bash -s personal
配置Caddy
创建目录
/www/caddy/conf/

将之前解压的Danmu文件夹移动到 /www 目录

配置配置文件
vi /www/caddy/conf/danmu.caddyfile
https://xxx {
    gzip
    tls [email protected]
    proxy / http://127.0.0.1:5000 {
        websocket
        transparent
    }
}
设置systemctl
vi /etc/systemd/system/caddy.service
[Unit]
Description=Caddy Web Server
Documentation=https://caddyserver.com/docs/
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/caddy -quic -log stdout -agree=true -conf=/www/caddy/conf/*.caddyfile -root=/var/tmp
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable caddy
systemctl start caddy

Centos8需要关闭selinux才能正常启动

四、弹幕服务

用systemd管理似乎更方便

vi /etc/systemd/system/danmu.service
[Unit]
Description=Danmu Server
After=network.target

[Service]
User=root
Group=root
ExecStart=/root/Danmu/Danmu
WorkingDirectory=/root/Danmu/
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable danmu
systemctl start danmu

下面是之前的自启方法

vi /etc/rc.local
cd /www/Danmu
./Danmu&

官方文档

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇