thinkphp socket-log 日志转发服务
- php >= 8.1
- ext-zlib
- ext-ctype
- ext-mbstring
- 下载最新 socket-log.phar
php socket-log-server.phar
- 下载最新 socket-log-linux-sfx
chmod +x socket-log-linux-sfx
./socket-log-linux-sfx --self
# 查构建版本号
./socket-log-linux-sfx --self -- -V
docker pull ghcr.io/nhzex/socket-log-server:latest
- http server: 1116
- websocket: 1229 (提供老浏览器扩展兼容支持)
# 工作进程数量,默认1就行,没有调大的价值
SL_WORKER_NUM=1
# 主端口监听,支持ipv6(http+ws双协议。不区分客户端连入)
SL_SERVER_LISTEN=[::]:1116
# 兼容老客户端的独立端口,默认启用,后续会弃用
SL_SERVER_BC_LISTEN=0.0.0.0:1229
# 允许中转连入的客户端ID白名单,为空则不启用
# 匹配语法参考php函数`fnmatch`:https://www.php.net/manual/en/function.fnmatch.php
SL_ALLOW_CLIENT_LIST="
debug?
test*
sl*
"
建议套nginx
代理,反代走https
,wss
。
# 下载
wget https://github.com/box-project/box/releases/download/4.3.8/box.phar
# 构建
php -dphar.readonly=false ./box.phar compile
# 结果
./bin/socket-log-server.phar
swoole-cli ./pack-sfx.php ./bin/socket-log-server.phar ./bin/socket-log-linux-sfx
使用 swoole-cli sfx 二进制包
[Unit]
Description=socket-log
After=network.target syslog.target
[Service]
Type=simple
LimitNOFILE=655350
ExecStart=/opt/socket-log/socket-log-linux-sfx --self
ExecReload=/bin/kill -USR1 $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target graphical.target