2020年5月

webstation配置

Snipaste_2020-05-31_15-15-27.png

nginx配置

打开/etc/nginx/app.d/server.webstation-vhost.conf(DSM7.x中是/etc/nginx/sites-enabled/server.webstation-vhost.conf),找到nginx给这个webstaion网站分配的php-fpm处理sock文件路径:
Snipaste_2020-05-31_15-14-11.png

增加typecho附加配置文件,该文件位置的前半部分在nginx配置中有定义,即/usr/local/etc/nginx/conf.d/4c2fe238-8e46-43be-bf73-ecbeb6d1f57c/user.conf*,我命名为user.conf.typecho
文件内容:

    location ~ .*\.php(\/.*)*$ {
        include fastcgi.conf;
        fastcgi_pass  unix:/run/php-fpm/php-9f1e642a-0d20-4664-8934-c51d34f609de.sock;
    }

注:第二行的php-…….scok文件按上一步找到的php-fpm处理sock文件路径填写
重启nginx服务

synoservicecfg --restart nginx

DSM7.x中上述命令失效,手动停用再启用webStation即可。
参考:
https://docs.typecho.org/faq

方案是安装lm-sensors包,使用其中的sensors命令读取温度,将sensors的输出传递到PVE前端页面(/usr/share/pve-manager/pvemanagerlib.js),通过前端页面的js脚本的match函数匹配对应的行,提取出温度值进行显示。
但我的温度中有两个temp1,我想要显示第二个,但却没找到实现的办法。

    root@pve:/usr/share/pve-manager/js# sensors
    coretemp-isa-0000
    Adapter: ISA adapter
    Package id 0:  +47.0°C  (high = +80.0°C, crit = +100.0°C)
    Core 0:        +45.0°C  (high = +80.0°C, crit = +100.0°C)
    Core 1:        +47.0°C  (high = +80.0°C, crit = +100.0°C)
    
    acpitz-acpi-0
    Adapter: ACPI interface
    temp1:        +27.8°C  (crit = +119.0°C)
    temp2:        +29.8°C  (crit = +119.0°C)
    
    pch_skylake-virtual-0
    Adapter: Virtual device
    temp1:        +48.5°C

后来灵机一动,通过linux的管道,使用sed将第一个temp1相关部分(第6-10行)删除,即在/usr/share/perl5/PVE/API2/Nodes.pm页面中增加的sensros命令修改成:

    sensors | sed '6-10d'

Snipaste_2020-05-11_21-48-27.png
最终效果:
Snipaste_2020-05-11_21-51-14.png

参考:
PVE显示温度
sed使用方法