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://www.pswp.cn/web/82834.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82834.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82834.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

面試總結。

一、回流(重排)與重繪(Repaint) 優化回答: 概念區分: 回流(Reflow/Relayout):當元素的幾何屬性(如寬高、位置、隱藏 / 顯示)發生改變時&#xff…

TensorFlow深度學習實戰(20)——自組織映射詳解

TensorFlow深度學習實戰(20)——自組織映射詳解 0. 前言1. 自組織映射原理2. 自組織映射的優缺點3. 使用自組織映射實現顏色映射小結系列鏈接 0. 前言 自組織映射 (Self-Organizing Map, SOM) 是一種無監督學習算法,主要用于高維數據的降維、…

Go內存泄漏排查與修復最佳實踐

一、引言 即使Go語言擁有強大的垃圾回收機制,內存泄漏仍然是我們在生產環境中經常面臨的挑戰。與傳統印象不同,垃圾回收并不是萬能的"記憶清道夫",它只能處理那些不再被引用的內存,而無法識別那些仍被引用但實際上不再…

LeetCode刷題 -- 542. 01矩陣 基于 DFS 更新優化的多源最短路徑實現

LeetCode刷題 – 542. 01矩陣 基于 DFS 更新優化的多源最短路徑實現 題目描述簡述 給定一個 m x n 的二進制矩陣 mat,其中: 每個元素為 0 或 1返回一個同樣大小的矩陣 ans,其中 ans[i][j] 表示 mat[i][j] 到最近 0 的最短曼哈頓距離 算法思…

MySQL用戶遠程訪問權限設置

mysql相關指令 一. MySQL給用戶添加遠程訪問權限1. 創建或者修改用戶權限方法一:創建用戶并授予遠程訪問權限方法二:修改現有用戶的訪問限制方法三:授予特定數據庫的特定權限 2. 修改 MySQL 配置文件3. 安全最佳實踐4. 測試遠程連接5. 撤銷權…

如何使用 BPF 分析 Linux 內存泄漏,Linux 性能調優之 BPF 分析內核態、用戶態內存泄漏

寫在前面 博文內容為 通過 BCC 工具集 memleak 進行內存泄漏分析的簡單認知包括 memleak 腳本簡單認知,內核態(內核模塊)、用戶態(Java,Python,C)內存跟蹤泄漏分析 Demo理解不足小伙伴幫忙指正 ??,生活加油知其不可奈何而安之若命,德之至也。----《莊子內篇人間世》 …

谷歌Sign Gemma: AI手語翻譯,溝通從此無界!

嘿,朋友們!想象一下,語言不再是交流的障礙,每個人都能順暢表達與理解。這聽起來是不是很酷?谷歌最新發布的Sign Gemma AI模型,正朝著這個激動人心的未來邁出了一大步!它就像一位隨身的、不知疲倦…

全生命周期的智慧城市管理

前言 全生命周期的智慧城市管理。未來,城市將在 實現從基礎設施建設、日常運營到數據管理的 全生命周期統籌。這將避免過去智慧城市建設 中出現的“碎片化”問題,實現資源的高效配 置和項目的協調發展。城市管理者將運用先進 的信息技術,如物…

最新Spring Security實戰教程(十七)企業級安全方案設計 - 多因素認證(MFA)實現

🌷 古之立大事者,不惟有超世之才,亦必有堅忍不拔之志 🎐 個人CSND主頁——Micro麥可樂的博客 🐥《Docker實操教程》專欄以最新的Centos版本為基礎進行Docker實操教程,入門到實戰 🌺《RabbitMQ》…

logstash拉取redisStream的流數據,并存儲ES

先說結論, window驗證logstash截至2025-06-06 是沒有原生支持的。 為啥考慮用redisStream呢?因為不想引入三方的kafka等組件, 讓服務部署輕量化, 所以使用現有的redis來實現, 為啥不用list呢? 已經用strea…

IEC 61347-1:2015 燈控制裝置安全通用要求詳解

IEC 61347-1:2015 燈控制裝置安全通用要求詳解 IEC 61347-1:2015《燈控制裝置 第1部分:一般要求和安全要求》是國際電工委員會(IEC)制定的關于燈控制裝置安全性能的核心基礎標準。它為各類用于啟動和穩定工作電流的燈控制裝置(如…

26、跳表

在C標準庫中,std::map 和 std::set 是使用紅黑樹作為底層數據結構的容器。 紅黑樹是一種自平衡二叉搜索樹,能夠保證插入、刪除和查找操作的時間復雜度為O(log n)。 以下是一些使用紅黑樹的C標準庫容器: std::map:一種關聯容器&a…

LabVIEW音頻測試分析

LabVIEW通過讀取指定WAV 文件,實現對音頻信號的播放、多維度測量分析功能,為音頻設備研發、聲學研究及質量檢測提供專業工具支持。 主要功能 文件讀取與播放:支持持續讀取示例數據文件夾內的 WAV 文件,可實時播放音頻以監聽被測信…

JUC并發編程(二)Monitor/自旋/輕量級/鎖膨脹/wait/notify/鎖消除

目錄 一 基礎 1 概念 2 賣票問題 3 轉賬問題 二 鎖機制與優化策略 0 Monitor 1 輕量級鎖 2 鎖膨脹 3 自旋 4 偏向鎖 5 鎖消除 6 wait /notify 7 sleep與wait的對比 8 join原理 一 基礎 1 概念 臨界區 一段代碼塊內如果存在對共享資源的多線程讀寫操作&#xf…

Doris 與 Elasticsearch:誰更適合你的數據分析需求?

一、Doris 和 Elasticsearch 的基本概念 (一)Doris 是什么? Doris 是一個用于數據分析的分布式 MPP(大規模并行處理)數據庫。它主要用于存儲和分析大量的結構化數據(比如表格數據)&#xff0c…

使用Virtual Serial Port Driver+com2tcp(tcp2com)進行兩臺電腦的串口通訊

使用Virtual Serial Port Drivercom2tcp或tcp2com進行兩臺電腦的串口通訊 問題說明解決方案方案三具體操作流程網上教程軟件安裝拓撲圖準備工作com2tcp和tcp2com操作使用串口助手進行驗證 方案三存在的問題數據錯誤通訊延時 問題說明 最近想進行串口通訊的一個測試&#xff0c…

transformer和 RNN以及他的幾個變體區別 改進

Transformer、RNN 及其變體(LSTM/GRU)是深度學習中處理序列數據的核心模型,但它們的架構設計和應用場景有顯著差異。以下從技術原理、優缺點和適用場景三個維度進行對比分析: 核心架構對比 模型核心機制并行計算能力長序列依賴處…

CSS6404L 在物聯網設備中的應用優勢:低功耗高可靠的存儲革新與競品對比

物聯網設備對存儲芯片的需求聚焦于低功耗、小尺寸、高可靠性與傳輸效率,Cascadeteq 的 CSS6404L 64Mb Quad-SPI Pseudo-SRAM 憑借差異化技術特性,在同類產品中展現顯著優勢。以下從核心特性及競品對比兩方面解析其應用價值。 一、CSS6404L 核心產品特性…

go語言map擴容

map是什么? ?在Go語言中,map是一種內置的無序key/value鍵值對的集合,可以根據key在O(1)的時間復雜度內取到value,有點類似于數組或者切片結構,可以把數組看作是一種特殊的map,數組的key為數組的下標&…

2025年SDK游戲盾實戰深度解析:防御T級攻擊與AI反作弊的終極方案

一、引言:游戲安全的“生死防線” 2025年,全球游戲行業因DDoS攻擊日均損失3.2億元,攻擊峰值突破8Tbps,且70% 的攻擊為混合型(DDoSCC)。傳統高防IP因延遲高、成本貴、協議兼容性差,已無法滿足實…