2019年2月12日 星期二

supervisor 開啟 Web 介面


輸入 sudo vi /etc/supervisor/supervisord.conf

進入 vi 程式並編輯 supervisord.conf 檔案

按下「I」鍵(-- INSERT --)

在檔案尾端,新增設定:
[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:9001          ; (ip_address:port specifier, *:port for all iface)
username=user             ; (default is no username (open server))
password=pass             ; (default is no password (open server)):

輸入「:wq」寫入 supervisord.conf 並離開 vi 程式


重新啟動 supervisor

輸入 sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl reload

沒意外瀏覽 http://localhost:9001 就可以看到 Web 介面


MySQL 中文亂碼問題解決

預設 Table 設定,輸入中文會有亂碼























修改 Charset/Collation 為 utf8 就能正常顯示中文。

2019年2月11日 星期一

透過 supervisord 執行 .NET Core 程式



利用 WinSCP 將自己開發的 .NET Core 程式上傳到 Ubuntu 上,
再透過 PuTTY 執行 .NET Core 程式,當 PuTTY 關閉後,
.NET Core 程式也會關閉。

所以我需要利用 supervisord 來管理 .NET Core 程式,
在 PuTTY 關閉後,也能正常運行。

在 Ubuntu 安裝 supervisord

先執行 sudo su 換 root 權限
apt-get update
apt-get install -y supervisor



安裝完,輸入 service supervisor status 看看是否安裝成功。



編輯 supervisor 設定檔

先執行 sudo su 換 root 權限

vim /etc/supervisor/supervisord.conf

進入 vim 修改 supervisord.conf 檔案



按下 i (-- INSERT --)

新增 supervisor 設定

[program:你的程式]
command=/usr/bin/dotnet /home/使用者/你的程式目錄/你的程式.dll
directory=/home/使用者/你的程式目錄/
user =root
autostart=true
autorestart=true
startsecs=3
stderr_logfile=/tmp/你的程式_err.log
stdout_logfile=/tmp/你的程式.log
environment=ASPNETCORE__ENVIRONMENT=Production

或直接指定路徑
command=/usr/share/dotnet/dotnet /home/你的程式目錄/你的程式.dll

PS. dotnet 安裝路徑可以用 dotnet --info 查到


輸入 :wq 存檔後,用指令重新啟動 supervisord

supervisorctl reload

輸入 service supervisor status 看看是否設定成功

用 supervisor 啟動你的程式

supervisorctl start 你的程式







Windows 10 .Net Runtime Optimization Service High CPU 解決方法

最近電腦頓頓的,差了一下工作管理員,發現 .Net Runtime Optimization Service 一直是 High CPU 的狀態。
做了一些設定,如下圖:
關閉了 .Net Runtime Optimization Service 的服務,問題就解決了。

2019年2月1日 星期五

Windows 10 subsystem for Linux ( Ubuntu ) ( WSL ) apt-get install xxxx 指令發生錯誤 E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? 解決方法

使用 Windows 10 subsystem for Linux ( WSL )
的 apt-get install xxxx 指令發生錯誤




E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

使用下列指令可以解決:

sudo -i





指令執行後,再輸入密碼切換到 Root 模式。

sudo apt-get update










指令執行完畢,就能正常使用 apt-get install xxxx 指令了。

2019年1月25日 星期五

Blazor 在 Ubuntu 一執行就當機的解決方法

Blazor 官方有這個 Bug 回報

Update to SDK 2.2.100 throws "An item with the same key has already been added. Key: .wasm" #5666
https://github.com/aspnet/AspNetCore/issues/5666


看起來,官方 .NET Core 3.0 才有機會修正此問題,
只好另求他法,我自己測試過只要把 Ubuntu 的 .NET Core 版本降到 2.1
Microsoft.AspNetCore.App 2.1.7 或 2.1.2 (AWS EC2 預設版本)
就可以正常執行了。

簡單測試 crontab

輸入 crontab -e






輸入 */2 * * * * date >> ~/time.log





















按 CTRL + X 存檔離開


















這個任務每兩分鐘寫入當前的時間到 time.log 檔案

Windows 10 可以在路徑:
C:\Users\「用戶名稱」\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\ubuntu
找到 time.log

2019年1月24日 星期四

WinSCP 使用 sudo su 權限登入,方便修改系統設定。

最近因為專案的關係,需要用 WinSCP 上傳檔案到 ubuntu 上,卡在權限的關係,有些檔案不能上傳,修改了 WinSCP 的一些設定,現在可以取得 sudo su 權限登入,方法如下:

進入「進階站台設定」如上圖,設定「Shell」為「sudo su」,按下「確定」,下次登入後就能取的 sudo su 權限。


(PS.目前發現只能切換 sudo su 路徑與下載檔案,檔案覆蓋還是有權限不足的問題。)

2019年1月22日 星期二

AWS Ubuntu 的 .pem 檔轉成 .ppk 檔

利用 PuTTYgen 工具
點擊 Load
找到 .pem 檔案
再點擊 Save private key
儲存為 .ppk 檔案


Windows 10 利用 WinSCP 傳輸檔案到 AWS Ubuntu

首先需要 .ppk 憑證檔

點擊 進階


點擊 SSH → 身份核對 → 私鑰檔案 → 開啟 .ppk 憑證檔

點擊 確定

輸入 主機名稱 與 使用者名稱、密碼
點擊 登入
輸入密碼



















點擊 同步 就能開始傳輸檔案。

Windows 10 利用 PuTTY 登入 AWS Ubuntu

首先需要 .ppk 憑證檔

點選 Connection → SSH → Auth → Browse → 開啟 .ppk 憑證檔


點選 Session 輸入 Host Name (or IP address)

































可以在 Save Sessions 取的名字,下次直接點選指定 Session 再 點選 Open 就能直接連線。


































輸入 Ubuntu 的帳號與密碼,就能登入 Ubuntu 了。


Visual Studio 2017/2019 推薦的擴充功能與更新

參考文章: 覺得 Google 的 Blogger 不太順手?透過 HTML 的 iframe 移花接木 HackMD