当前位置: 首页 > news >正文

1Panel运行的.net程序无法读取系统字体(因为使用了docker)

问题来源

我之前都是使用的宝塔面板,之前我也部署过我的程序,就没有什么问题,但是上次我部署我的程序的时候,就提示无法找到字体Arial。

我的程序中使用该字体生成验证码。

我多次安装了微软的字体包,但是依旧没有效果。

直到今天,我再次配置一个新的ubuntu系统。

(上一个ubuntu系统已经被我改为windows系统使用了)

缘故

今天又重试了之前的操作,依旧是不行。但我想到了1panel可能是因为使用了docker的缘故。.net 程序跑在docker中,默认的操作当然读取不到系统的文件。

事实上,就是这个缘故。

我在系统上直接执行,没有任何问题。

解决方案

虽然,有的解决方案是说,让使用FontCollection 添加系统的字体路径,但是我还是不想这么做。

于是我还是使用了之前使用的supervisor来配置一个进程守护。

supervisor的使用可以参照Linux进程守护—Supervisor(ubuntu)_linux守护进程工具-CSDN博客

我之前配置的时候参照的这个,这次我问的gpt。

给我的配置中少了一个参数。

directory

导致程序无法正常运行,总是提示在95行有问题。

该路径是程序读取文件的相对路径。没有设置这个,程序读取 appsetting.production.json文件就会出现问题。

基本使用

Supervisor


一个用 Python 写的进程管理工具,专门用来管理和监控多个后台进程。它可以自动重启程序,支持日志管理,配置简单,非常适合部署多个程序。

  • 安装:

    sudo apt install supervisor
    

  • 配置示例

  • /etc/supervisor/conf.d/myapp.conf):

    [program:mydotnetapp]
    command=/usr/bin/dotnet /path/to/yourapp.dll 
    directory=/path/to/workingdir
    autostart=true
    autorestart=true
    stderr_logfile=/var/log/mydotnetapp.err.log
    stdout_logfile=/var/log/mydotnetapp.out.log
    user=youruser
    

    我的程序的配置最终如下

  • [program:ai_server]
    command=dotnet /webs/Turbo-Auth.dll
    directory=/webs/
    autostart=true
    autorestart=true
    stderr_logfile=/var/log/ai_server.err.log
    stdout_logfile=/var/log/ai_server.out.log
    user=root
    

  • 启动和管理:

    sudo supervisorctl reread
    sudo supervisorctl update

 查询状态

sudo supervisorctl status

 


文章转载自:

http://fSDobL0s.pLcyq.cn
http://h3uKItdX.pLcyq.cn
http://hJD9q1Kx.pLcyq.cn
http://cpcSfObw.pLcyq.cn
http://Bpv1C4mp.pLcyq.cn
http://rUEs2kLS.pLcyq.cn
http://TbVF2G9h.pLcyq.cn
http://DyEeOmGa.pLcyq.cn
http://7oK0vgNk.pLcyq.cn
http://wb5ITeXr.pLcyq.cn
http://DPmUxn7h.pLcyq.cn
http://KY8SqkAd.pLcyq.cn
http://tODu987I.pLcyq.cn
http://euOjPetc.pLcyq.cn
http://1D7s6p1L.pLcyq.cn
http://sIWKlD1P.pLcyq.cn
http://ww8QsBZz.pLcyq.cn
http://9emBtbJx.pLcyq.cn
http://1bfPL21r.pLcyq.cn
http://LZ0ZA7nV.pLcyq.cn
http://uThN6J3H.pLcyq.cn
http://IJKuK2y3.pLcyq.cn
http://2aym5WGB.pLcyq.cn
http://TW1o44r2.pLcyq.cn
http://CoUtwPxw.pLcyq.cn
http://8kqb9Nu8.pLcyq.cn
http://aADBHbPE.pLcyq.cn
http://aCy6N1vy.pLcyq.cn
http://onAEqMQg.pLcyq.cn
http://IX04ghYi.pLcyq.cn
http://www.dtcms.com/a/236381.html

相关文章:

  • Docker基础(一)
  • 使用 Python + SQLAlchemy 创建知识库数据库(SQLite)—— 构建本地知识库系统的基础《一》
  • 牛客练习赛140
  • 算法-多条件排序
  • Docker构建Vite项目内存溢出:从Heap Limit报错到完美解决的剖析
  • 【win | docker开启远程配置】使用 SSH 隧道访问 Docker的前操作
  • Docker、Wsl 打包迁移环境
  • JavaScript ES6 解构:优雅提取数据的艺术
  • ⚡️ Linux Docker 基本命令参数详解
  • LINUX67 FTP 3客户服务系统;FTP 上传、下载测试调试
  • 基于vscode,idea,java,html,css,vue,echart,maven,springboot,mysql数据库,在线考试系统
  • 多线程中的泛型应用深度解析:类型安全与并发编程的完美融合
  • CADisplayLink、NSTimer、GCD定时器
  • Opencv查找图形形状的重要API讲解
  • MySQL中的内置函数
  • NLP学习路线图(三十一): 迁移学习在NLP中的应用
  • 【Go语言基础【15】】数组:固定长度的连续存储结构
  • 深入了解UDP套接字:构建高效网络通信
  • Mac版Visual Studio Code Copilot 无法使用的解决方法
  • 用Ai学习wxWidgets笔记——在 VS Code 中使用 CMake 搭建 wxWidgets 开发工程
  • PDF转PPT转换方法总结
  • 低功耗MQTT物联网架构Java实现揭秘
  • 【区块链基础】区块链的 Fork(分叉)深度解析:原理、类型、历史案例及共识机制的影响
  • grep、wc 与管道符快速上手指南
  • PDF图片和表格等信息提取开源项目
  • Svelte 核心语法详解:Vue/React 开发者如何快速上手?
  • Linux 系统中的算法技巧与性能优化
  • 【R语言编程——数据调用】
  • 【工具教程】PDF电子发票提取明细导出Excel表格,OFD电子发票行程单提取保存表格,具体操作流程
  • 虚幻引擎5-Unreal Engine笔记之SET节点的输出引脚获取设置后的最新变量值