如何透過SSH進入Docker的Container

為了不讓文章太少字,筆者就在羅梭的多寫一些咚咚囉~~~ 甚麼是Docker,其實可以想成就是一種虛擬機器的技術,跟VirtualBox、VMWare是類似的東西,這樣比較好理解,當然官方說法,請參閱Wiki。 Synology NAS的Docker用套件中心,隨便點一點就建立好了,但是如果你有一台伺服器想要自己架設,那請參考這篇。 省去了安裝步驟,但是要如何用SSH進入到Docker的Container(虛擬機)內呢?第一個方式你可以用Synology --> Docker --> 容器 --> 詳細資料 --> 終端機 --> 新增 這樣就解決了,如下圖。 但是這樣的問題是,沒有辦法複製貼上,指令只能一個字一個字打,你也知道的,大部分指令都是從Google大神哪邊複製來的,所以這個方法不好用。 另一個方式就是只好用SSH連線到Synology本身,然後再用指令進去Docker裡,這個方式要怎麼做呢? 首先,要能SSH進到Synology NAS上,然後再用下列指令進入到Docker的Container內。 sudo docker exec -it synology_gitlab /bin/bash exec是執行一個指令,當然你也可以執行ls,但是執行/bin/bash的話,就是進去囉。 synology_gitlab,是容器的名稱,就是情況不一樣了。 參數 i 保持STDIN;參數 t 製造一個偽終端。 其它更進階的Docker學習,請參考《Docker...

使用Synology的QuickConnect到哪都能連線

Synology中的DSM管理介面,使用的Port是5000與5001,但是在某些地方(例如公司內)可能會被防火牆擋掉,這時候應該怎麼辦才能進行連線呢?最快的方式就是使用QuickConnect了,請參考以下文章: https://walker-a.com/archives/2506 https://blog.ladsai.com/synology-%E5%88%A9%E7%94%A8%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E4%BC%BA%E5%99%A8%E7%AA%81%E7%A0%B4%E5%85%AC%E5%8F%B8%E5%B0%8D%E5%9F%A05000-5001%E7%9A%84%E5%B0%81%E9%8E%96.html

如何修改WordPress上傳檔案大小上限

在使用Synology NAS,安裝Wordpress套件後,會發現Wordpress只能上傳檔案大小上限: 32 MB,如下圖: 這是因為php.ini設定的關係,要改的參數如下: upload_max_filesize = 1024M post_max_size = 1024M max_execution_time = 3600 max_input_time = 3600 另外有個參數也建議修改,增加記憶體的使用空間(當然要配合真正有多少實體記憶體可用): memory_limit = 512M 這時候很習慣的看到Web Station中,有提供PHP設定功能,有UI介面當然要給他用一下,如下圖: 設定完成後當然就是重啟一下服務或NAS,結果會發現,怎麼還是32M,沒有改成功嗎? 應該是有某些Bug未被Fix,查一下Synology自己發佈的Release 有修正,但不知甚麼原因沒有套用上去,看來還是自己改php.ini把,用Putty進去找php.ini,會發現一大堆。 sudo find / -name php.ini 到底要改哪一個呀,難不成一個一個試嗎?太辛苦了,看來只能放大絕了,這時候去Wordpress目錄下新增一個php檔案,編寫以下code吧。 <?php phpinfo(); ?> 上段code主要是把設定值叫出來看看,會出現下方頁面: 重點來了,請看到上圖紅框處,那才是真正php.ini的位置。所以再次Putty進去後,用以下語法改參數吧。 sudo vi /volume1/@appstore/PHP7.2/misc/php-fpm.ini 改完後重啟服務或重開機,大功告成。

Docker設定

Docker簡單的說就像是一台虛擬機器(Guest OS),甚至可以使用終端機下指令。 其實需要連線到終端機的情況並不多 ,Synology NAS的Docker已經把重要的資料設定變成環境變數,只要新增環境變數就可以達成設定參數檔案的功能,在修改前要先停止服務,才能編輯。 以下是一個簡單的例子設定電子郵件(無驗證與SSL)的運作 : SMTP_ENABLED = true SMTP_METHOD = smtp (Redmine可設定 async_smtp 延後再寄功能) SMTP_HOST = 192.168.1.100 SMTP_PORT = 25 SMTP_STARTTLS = false SMTP_OPENSSL_VERIFY_MODE = none SMTP_TLS = false 下面的例子是有驗證並使用中華電信的SMTP主機: SMTP_ENABLED =...

Raspberry Pi4 如何設定螢幕解析度

瞎咪~~~設定螢幕解析度有什麼好分享的呢? 說實話,真的沒有那麼直覺,可以自己找到設定。 首先,用了以下指令去修改使用的解析度: sudo nano /boot/config.txt 改好重開機,解析度依舊沒有改變。 但是在Desktop的界面裡面,找了 偏好設定-->Raspberry Pi設定,根本就沒有有關螢幕解析度的設定。最後~~原來藏在一個非常不起眼的地方: 偏好設定-->Screen Configuration,選單 Configure-->Screens-->HDMI-1-->Resolution 本篇參考Google大大的文章如下: https://pimylifeup.com/raspberry-pi-screen-resolution/

使用反向代理連接DSM後,Docker終端機連線錯誤的解法

如題: Docker容器-->詳細資料-->終端機,出現「Socket已關閉」錯誤的解法。 這個問題感謝 RAYKUO'S BLOG ,這篇文章,已有詳列解法,經實測也確實能解。 sudo vi /usr/syno/share/nginx/Portal.mustache 在 {{/customize_headers}}前增加以下 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 之後重啟服務: synoservicecfg --restart nginx

MariaDB10優化範例

一般來說Synology的MariaDB是不太需要調整參數的,因為系統會自動已最佳的方式運作,但是特殊情況例外,比如說重度的DB使用,就需要自己優化一下。參考不少文章,提高DB效能建議調整以下參數。 首先必須要用終端機的方式進去系統內,也就是SSH,可以用Putty,進入後用sudo 創建以下檔案: sudo vi /var/packages/MariaDB10/etc/my.cnf 設定Thread數量(預設值10)thread concurrencythread_concurrency=CPU核心數 調高LogFile,愈大效率越高innodb log file sizeinnodb_log_file_size=512MB 調高Buffer空間,太高沒有意義,但經常做更新或者使用了很多blob數據,應該增大這個值。innodb log buffer sizeinnodb_log_buffer_size=16MB 增加緩存處理,預設為1,設2可避免爭用(至少1GB)。(會自動根據innodb_buffer_pool_size大小調整)innodb buffer pool instancesinnodb_buffer_pool_instances=2 innodb_buffer_pool_chunk_sizeinnodb buffer pool chunk size MAX(innodb_buffer_pool_chunk_size) = innodb_buffer_pool_size / innodb_buffer_pool_instances 增加查詢速度,一般來說約為總記憶體的3/4~4/5innodb buffer...

超級犀利的檔案系統:Btrfs

Linux的檔案系統,比較常用的有ext4與btrfs,就如同Window的檔案系統常用的有fat32、ntfs與exFAT,各檔案系統的比較請參考這篇。 Btrfs為什麼犀利呢?原因是因為具備快照(Snapshot)的能力,也就是說備份還原不管你的檔案有多少TB幾乎都可以在一瞬間完成,請看官方的說明。筆者為了將NAS檔案格式從Ext4換成Btrfs,因為沒有直接轉換的工具,所以只好用Hyper Backup將資料備份起來,移到別的地方,再搬回來還原,雖然只有小小不到1TB的檔案,但是做了一天一夜,結果換到Btrfs用工具Snapshot Replication備份,瞬間完成,嚇死寶寶,心想,這種備份能用嗎?還可以設定到每分鐘備份,挖塞!誰會去每分鐘備份壓,空間不會被灌爆嗎?原來有了Btrfs後,觀念要修正了,真的可以這樣搞。 Btrfs為什麼能夠做到這樣,原因在於它使用了牛逼技術COW(Copy On Write),這種技術解釋有點難懂,可能要看這篇文章比較好解釋,其中關鍵在下圖,分支6到分支11,快照了異動狀況,檔案還是使用到原本的,因此可以大量進行快照的原因,這個架構好像版控壓...... https://qph.fs.quoracdn.net/main-qimg-fb42e44f0f83033496ef19b2dd020d62-c

強制使用SSL(https)

如何讓Apache Server強制所有網頁連線都使用https呢? 關鍵在該目錄下使用  .htaccess 編輯該檔案, RewriteEngine on 下一行增加如下 RewriteCond %{HTTPS} offRewriteCond %{HTTP:X-Forwarded-Proto} !httpsRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} Synology NAS用 這個工具會失敗喔(無法寫入)。因為是受保護的檔案,建議用ssh進去後sudo vi該檔案,這樣就正常多了。 參考資料來源: https://blog.tayanswa.tw/technical/apache-li-yong-htaccess-she-ding-qiang-zhi-dao-xiang-https

IIS網站發生拒絕存取登錄機碼 Global

會發生這樣的問題,是因為在page裡面寫了讀取CPU、記憶體的功能造成的。 PerformanceCounter performanceCounterRAM = new PerformanceCounter(); performanceCounterRAM.CounterName = "% Committed Bytes In Use"; performanceCounterRAM.CategoryName = "Memory"; String ram = ((int)(performanceCounterRAM.NextValue())).ToString(CultureInfo.InvariantCulture) + "%"; Page.Title = string.Format("ABC網站(記憶體:{0}){1:d}", ram, DateTime.Now); 但讀取CPU與記憶體會與權限有關係,故須要調整應用程式集區的識別身分,如下調整為NetworkService就可以了。 參考資料: https://dotblogs.com.tw/maduka/2014/01/08/139301