作者归档:admin

群晖NAS接入WireGuard

  • 编译
git clone https://github.com/runfalk/synology-wireguard.git
cd synology-wireguard/
sudo docker build -t synobuild .
sudo docker run --rm --privileged --env PACKAGE_ARCH=apollolake --env DSM_VER=6.2 -v $(pwd)/artifacts:/result_spk synobuild

注意:

  • 在 artifacts 文件夹内找到 WireGuard-*.spk,在 群晖中的 Package Center 里手动安装
  • ssh连接到NAS,创建 /etc/wireguard/wg0.conf
[Interface]
PrivateKey = 123456789
Address = 10.8.0.2/24
#DNS = 114.114.114.114   <-- 注意:DNS 这行整个删除
PostUp = ping -c 1 10.8.0.1; sleep 5; ip route add 10.8.0.0/24 dev wg0  <-- 关键:添加这一行

[Peer]
PublicKey = 123456789
PresharedKey = 123456789
AllowedIPs = 10.8.0.0/24
Endpoint = ip:51820

除特别注明的两行外,其他按原配置不要修改,除非你知道你在做什么。

  • 执行以下命令
sudo /var/packages/WireGuard/scripts/start
wg-quick up wg0
wg-autostart enable wg0

manjaro 安装 rdp 服务

使用以下命令安装服务和修改配置:

yay -S alsa-lib mesa xrdp
echo "allowed_users=anybody" | sudo tee -a /etc/X11/Xwrapper.config
sed -i 's/exec $(get_session "$1")/#exec $(get_session "$1")/' ~/.xinitrc
echo "exec dbus-launch --sh-syntax startplasma-x11" | tee -a ~/.xinitrc

修改 /etc/xrdp/xrdp.ini ,找到 [Xvnc] 下的 port=-1 ,改为 port=ask5900

启动 xrdp 服务:

sudo systemctl enable --now xrdp
sudo systemctl enable --now xrdp-sesman

安装 x11vnc 来控制桌面:

yay -S x11vnc

编辑文件 /etc/systemd/system/x11vnc.service.d/override.conf ,输入以下内容:

x11vnc 参数说明:

  • many 每次连接断开后 x11vnc 默认会退出,这个参数可以阻止退出
  • shared 允许多用户同时连接
  • nopw 不显示安全提示
[Service]
User=1000
Group=1001
ExecStart=
ExecStart=/usr/bin/x11vnc -many -shared -nopw

[Install]
WantedBy=graphical.target

启动服务

sudo systemctl daemon-reload
sudo systemctl enable --now x11vnc

使用 mstsc 或 remmina 连接。登录界面中 session 选择 Xvnc,如图所示:

thingsboard 单机性能参考

实例类型实例详细信息数据库类型设备API设备数量消息延迟每秒消息上限
t2.micro1 vCPUs for a 2h 24m burst, 1GBPostgreSQLMQTT5001000 ms~450/sec
t2.medium2 vCPUs for a 4h 48m burst, 4GBPostgreSQLMQTT9001000 ms~780/sec
c5.large2 vCPUs , 4GBPostgreSQLMQTT11001000 ms~1020/sec
m5.xlarge4 vCPUs, 16GB, 150GB SSD mountedCassandraMQTT35001000 ms~3500/sec
m5.xlarge4 vCPUs, 16GB, 150GB SSD mountedCassandraHTTP20001000 ms~950/sec

参考:http://www.ithingsboard.com/docs/reference/performance-aws-instances/

postgresql 时区设置

session 级

set time zone 'PRC';

用户级

alter role <postgres|all> set timezone='PRC';

数据库级

alter database <dbname> set timezone='UTC';

全局配置

在配置文件 postgresql.conf 中,找到 timezone ,设为 'PRC',重载服务 pg_ctl reload

manjaro 安装 php-swoole 扩展的方法

pacman/yay 安装

sudo pacman -S aur/php-swoole
#或者
yay -S aur/php-swoole

pecl 安装

yay -S php-pear
pecl install swoole

通过 PECL 安装 Swoole 时,在安装过程中它会询问是否要启用某些功能,这也可以在运行安装之前提供,例如:

pecl install -D 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-swoole-json="no" enable-swoole-curl="yes" enable-cares="yes"' swoole

#或者
pecl install --configureoptions 'enable-sockets="no" enable-openssl="yes" enable-http2="yes" enable-mysqlnd="yes" enable-swoole-json="no" enable-swoole-curl="yes" enable-cares="yes"' swoole

浏览器远程调试

确保远程页面的主机可以被访问(例如在同一内网,或USB连接),打开 edge 浏览器,访问 edge://inspect/#devices ,找到要调试的页面,点击 inspect 即可远程调试。

chrome 浏览器访问 chrome://inspect/#devices

Rancher 部署流程

基本配置

硬件资源

  • Rancher 2v6G
  • Worker 2v4G

至少两台服务器,1台 Rancher 和 1台 Workder,条件允许 Worker 应该多于1台。

安装 centos7

两台服务器上的统一配置

基础配置

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
systemctl disable --now firewalld

安装 docker

curl -fSL# https://get.docker.com | bash -s docker --mirror Aliyun
yum install -y -q docker-compose
systemctl enable --now docker

重启服务器。

Rancher 部署

设置计算机名:

hostnamectl set-hostname rancher

添加文件 /home/docker/rancher/docker-compose.yml

version: '3.5'
services:
  rancher:
    image: rancher/rancher:v2.7-head
    container_name: rancher
    restart: unless-stopped
    privileged: true
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./rancher:/var/lib/rancher

启动服务:

docker-compose up -d

登录及首次配置

浏览器打开 rancher 的 IP,等待/刷新,进入欢迎界面。

欢迎界面左下角切换中文语言。

按照欢迎界面的提示找到登录密码并登录。

设置新密码,和服务器 URL,不要允许统计信息。

Worker 部署

导航选择「用户&认证」,「创建」,添加新用户 test。

导航选择「集群管理」,「创建」,选择「使用现有节点并使用 RKE 创建集群」-「自定义」,「集群名称」按需填写,「Member Roles」(成员角色)添加用户「test」,角色「Owner」,「下一步」。

主机的角色选择所有角色,在 RKE Master 粘贴脚本执行。

主机的角色选择 Worker 角色,在 RKE Node1 粘贴脚本执行。

导航第一个菜单选择 test 切换用户,等待部署完成。