Linux

Docker build go image

Docker build go image

這裡記錄一下簡易的 Go build image 流程

Continue Reading

最完整 如何解決 .git 檔案過大, git clone 產生 Swap Out of memory 問題

最完整 如何解決 .git 檔案過大, git clone 產生 Swap Out of memory 問題

.git 檔案過大,會需要依照當時專案的環境做不同處理,這裡將各種可能的狀況,提供解決方案。

當 .git 檔案過大,伺服器記憶體不足時,會出現以下錯誤:

swap Out of memory, malloc failed (tried to allocate xxxxxxxxxx bytes)

通常會發生這問題,原因都在於這個 git repository 已經使用一定時間,提交次數非常多,導致 .git 檔案過大

例如,.git 檔案就佔據 2Gb

遇到這狀況時,可能遇到一些問題,例如:主機環境是否能變動,commit 資訊是否要保留等

以下針對各種問題,提供對應的解決方法:

Continue Reading

Python 運行 Selenium 入門

Python 運行 Selenium 入門 這裡支援 Python 2.7, 3.4+ 安裝 Driver 下載瀏覽器 driver ,請依照你瀏覽器目前的版本下載對應的 Driver Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ Firefox: https://github.com/mozilla/geckodriver/releases Safari: https://webkit.

Continue Reading

Workerman 入門 - 安裝及啟動

Workerman 入門 - 安裝及啟動

Workerma 是一個老牌的 PHP socket 服務架構。

這裡記錄基於 CentOS, PHP7 環境的安裝流程:

Continue Reading

Mac 強制移除本地 mysql 佔用 3306,解決無法 kill 3306 process 問題

在本地預計使用docker 建構 mysql ,卻發現 3306 port 被佔用的情況。

這時,透過 刪除指定進程方式,來移除佔用 3306 port 的 process

先將 3306 process 找出,並且移除

Continue Reading

解決,請求過大導致 The request record is too big

解決,請求過大導致 The request record is too big

Nignx & PHP-FPM 架構中,發送單一請求若header傳輸量過大,就會爆出 request record is too big 的錯誤,

可以檢查是否直接透過http params 方式來夾帶參數

當參數過大,就會導致內容無法送達而爆出錯誤。

Continue Reading

Guzzle PUT 傳輸參數方式說明

Guzzle PUT 數據方式說明

使用 Guzzle

使用 Guzzle 只能透過 POST 方式來傳遞 application/x-www-form-urlencoded form params

( 官方原文:form_params - Used to send an application/x-www-form-urlencoded POST request. )

若使用 PUT, DELTE 則需要改用 body 或者 json 格式傳輸,例如:

Continue Reading

npm install -g 後出現 command not found 解決方式

npm install -g 後出現 command not found 解決方式

這裏說明 npm global 安裝完畢出現 command not found 解決方式,以 vue-cli 安裝為例

安裝 vue-cli 流程發生無法從環境變數中直接使用 vue 指令,出現 command not found 或者 sh: vue-cli-service: command not found 該如何解決:

在新主機安裝 vue-cli 之後

npm install -g @vue/cli

在執行版版檢查時,發生 vue: command not found

# vue --version
-ash: vue: command not found

解決這問題的方式如下:

Continue Reading

IP掩碼 32,24,16,8 意思及 Nginx 設定限制IP 僅開放特定IP及允許內部網路訪問

Nginx 設定限制IP 僅開放特定IP及允許內部網路訪問

僅開放公司IP或內部IP訪問,常見設定如下:

Continue Reading

AWS 增加 Volumes 容量後,磁碟進行擴容方式

AWS 增加 Volumes 容量後,磁碟進行擴容方式

當 Volumes 容量不足時,可以直接在 Volumes 容量,

調整容量後,實際容量還不會增加,這時還必須再進行系統指令進行擴容

這裡分別說明針對分割區 及 檔案系統 進行擴容的方式:

提醒,再增加容量前,建議先建立快照

確認磁碟類型

在開始前,先透過 lsblk查看目前磁碟區,以及確認你要擴充的磁碟

接著檢查你磁碟的類型,例如:

sudo file -s /dev/xvda

接著,請針對磁碟的類型,進行對應的擴容方式

以下說明三種類型的擴充方法:

Continue Reading

HTST 強制安全傳輸技術介紹

HTST 強制安全傳輸技術介紹

HTTPS 超文本傳輸安全協定(HyperText Transfer Protocol Secure)是一種讓HTTP傳輸過程可透過 SSL/TLS 來對封包進行加密的安全傳輸協定,預設使用的是 443 port。

也就是在不安全的傳輸,額外建立安全機制。

在敏感及機密性的網路傳輸,都必須使用 HTTPS 避免身份及隱私被劫持。

Continue Reading

Linux - 一次修改 所有資料夾權限 755 及檔案權限 644

在 Linux 維護專案時,有時遇到檔案權限問題,這裡說明如何一次處理的方式 例如,要將 /var/www/ 底下所有檔案及資料夾進行權限變更,作法如下: 一次修改資料夾權限為 755 find /var/www/ -type d -exec chmod 2775 {} \; 一次修改檔案權限為 644 find /var/www/ -type f -exec chmod 0664 {} \;

Continue Reading

Synology NAS 架站:如何設定 proxy 將對外 80 port 轉導到指定 Docker 服務

Synology NAS 設定 proxy 將對外 80 port 轉導到指定 Docker 服務

在 NAS 建立對外網站,通常會使用 proxy 方式來做轉導

本篇會預設你已經對於 Docker, NAS 有基礎的了解,並且知道如何在 NAS 新增 Docker 服務,以及設定網域指向的知識。

Continue Reading

Synology NAS 變更 預設 80 port 的方式

Synology NAS 變更 預設 80 port 的方式 Synology NAS 預設都會使用 80 port,且會轉導到 500x port 這裡將說明如何變更 80 port 。 變更 Synology 預設 80 port 的方式很簡單 首先 ssh 登入到 NAS 接著,修改 nginx 設定

Continue Reading

CentOS 設置靜態IP 方法

CentOS 預設是使用 DHCP 自動取得IP,因此IP位置會浮動,在假設主機來說,不太適合。

這裡說明如何將 IP 位置設定為靜態固定 IP :

Continue Reading

Terminal 複製 貼上 past 會出現 "00~" "01~" 或 "0~" "1~" 解決方式

在Terminal 使用vim 之後,若出現複製貼上會出現 00~, 01~ 或 0~, 1~ 原因可能是你的Terminal 正處於bracketed黏貼模式( bracketed paste mode) 在一些尚未更新或較為老舊的terminal可能會出現00~ 01~ 的字段 解決方式是直接透過以下語法將 bracketed paste mode 關閉 printf "\e[?2004l"

Continue Reading

Laradock 本地 local 環境新增 SSL Keygen 方式,及設定 Nginx 支援 Https

Laradock 本地 local 環境新增 SSL Keygen 方式,及設定 Nginx 支援 Https

在內部測試機測試瀏覽器錄音功能需要用到 Https,在這裡記錄如何在 localhost 環境安裝憑證及設定 https

Continue Reading

解決 GCP storage 取得資料發生 blocked by CORS policy

解決 GCP storage 取得資料發生 blocked by CORS policy

透過 GCP Storage 儲存檔案,在前端呈現時出現了 CORS 問題

錯誤訊息: Access to fetch at url from origin url has been blocked by CORS policy: NO ‘Access-Control-Allow-Origin’ header is present on the requested resource. …

原因是在於,GCP Storage 為了預防惡意取用而預設不開啟。

這裡紀錄如何透過 Gsutil 開啟 GCP storage 跨域請求

Continue Reading

解決 Vim 貼上後,格式跑掉問題

Vim 如果直接接上代碼,出現格式跑掉(自動縮排) 則可透過以下方式解決 關閉縮排 :set paste 如果要開啟縮排,可以輸入 :set nopaste

Continue Reading

Laravel 上線環境設定

Laravel 上線環境設定

這裡記錄一下 Laravel專案上線常用設定

Continue Reading