[PHP] PHP-FPM Pool Socket (Multi-Sock-User) 設定指南

Intro 情境:想要某個Site的PHP-FPM改變執行使用者(例如Webhook trigger特殊程式) 設定方式 概念上,一個pool sock擁有一組設定,包含執行使用者(user)或群組(group),所以可以利用開立多個pool sock來提供給Web server多種PHP-FPM Conf達到應用。 1. 開立新的pool PHP-FPM Pool設定複製原始www.conf出新的自定義設定檔,將listen sock自定義改掉,讓var/run/php下自動產生新定義的socket,例如/etc/php/7.0/fpm/pool.d/deployer.conf: ; pool name (‘www’ here) [deployer] user = deployer group = www-data listen = /run/php/php7.0-fpm_deployer.sock 設定完後restart PHP-FPM即會自動生成對應的新Sock 2. 提供新的Socket給Web server site 以Nginx為例,換上新的Socket: location ~ \.php$ { […]

[Linux] LVM (Logical Volume Manager) 教學指南

Intro Logical Volume Manager (Linux) 雖然個人不喜用LVM來管理硬碟,但遇上使用LVM的機器還是得適應。 PV基本操作 搜尋PV硬碟 pvscan $ pvscan 顯示PV狀態 pvdisplay $ pvdisplay 建立PV pvcreate $ pvcreate /dev/sdb $ pvcreate /dev/sdb{1,2,3} 移除PV pvremove $ pvremove /dev/sdb VG基本操作 vgscan 搜尋VG $ vgscan vgdisplay 顯示系統VG狀態 $ vgdisplay vgcreate 建立VG $ […]

[AB] ApacheBench – 網站壓力測試工具

Intro ApacheBench壓力測試工具,Windows安裝XAMPP即Apache就有內建。 執行檔案 以Windows XAMPP為例,找到安裝目錄下Apache執行檔目錄: D:\xampp\apache\bin\ab.exe HTTPS傳輸 Windows XAMPP使用ab.exe測試HTTPS的網站會有錯誤: SSL not compiled in; no https support HTTPS協定是使用abs.exe執行: D:\xampp\apache\bin\abs.exe Linux的apache2-utils即等於abs.exe 使用方法 同時 10 個連線,連續訪問 100 次 (每個 Request 執行完後自動重連) ab -n 100 -c 10 http://www.example.com/ 同時 10 個連線,連續訪問 100 次,並且使用 Keep-Alive […]

[GCP] Load balancing – 負載平衡指南

Intro 目前測試,功能強大但種類選型繁多。 (本篇資訊於2018-12-07測試) 選型 HTTP(S) Load Balancing 看來是目前總體最適合做Web App LB Front-end可同時設定HTTP+HTTPS對同一個Global IP Back-end依照Instance group的Name port mapping做連線(LB Back-end設定中的port number為相同連動設定) Healthy Check支援https也向下相容http,為另外Serivce連線過來檢測,與Back-end設定無關 支援多組Back-end,必須設定Rules去區分對應Back-end群 L7 Session affinity是設定在單一Back-end上 TCP Load Balancing Multiple regions (or not sure yet) 過TCP Proxy or SSL Proxy 雷,FrontEnd不支援80port,無法做HTTP to […]

[Linux] SSH Config 連線設定檔指南

Intro SSH的個人連線設定檔使用~/.ssh/config管理較為方便且是針對Host個別套用(如Git)。 設定 檔案:~/.ssh/config 使用:針對設定的Host別名快速連線:ssh host-alias-name 設定檔規範 Host alias-name HostName server.name Port port-number IdentitiesOnly yes IdentityFile ~/.ssh/private_ssh_file User username-on-remote-machine 設定範例 Host server.com Hostname 36.200.190.110 User nick_tsai Host gitlab Hostname gitlab.com IdentitiesOnly yes IdentityFile ~/pem/my-gitlab.pem Port 22 User nick Host alias1 […]

[FW] Intel 內建 RAID 磁碟陣列卡問題整理

Intro Intel內建的RAID卡問題整理。 問題集 軟體RAID? 是用硬體方式串接,但可能涉及軟體RAID操作: 需要在OS running才能執行如RAID 1 rebuild動作 OS識別磁碟介面時,其實看到的是原始陣列。如Windows安裝時正常識別、Ubuntu則是識別出原始陣列(如RAID-1看到實體兩顆,Server版標出各為Raid-1,Desktop版識別不明Raid) 可靠性(HA) 測試在Raid 1 Rebuild時,在OS執行時抽出任一顆硬碟(無論Master或Slave),OS直接損壞。待測完好Raid-1下抽換(理論上不能損壞否則沒意義) RAID-1 Rebuild時間相當長,且僅能在OS running才能執行 發生過RAID卡故障問題(硬碟正常),待測移植至相同Intel RAID卡是否可以沿用。

[Web Server] Nginx/Apache 環境變數設定 (Environment Variables)

Intro Nginx/Apache 環境變數設定速查 Nginx設定 fastcgi_param RUNTIME_ENVIROMENT ‘DEV’ For example: server { listen 80; root /var/www/html; index index.php; server_name localhost; location / { index index.php; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param RUNTIME_ENVIROMENT ‘DEV’ } } Apache設定 Environment […]

[Linux] SSH PEM 免密碼登入指南 (Public Key Authentication)

Intro X.509標準下我們可以製作PEM私鑰,用以登入放置公鑰的伺服器。 製作流程 1. 當前帳號執行Key產生器 ssh-keygen 產生於~/.ssh下: id_rsa.pub // 公開金鑰(public key) id_rsa // 私密金鑰(private key) 2. Public Key放至登入伺服器上帳號的~/.ssh/authorized_keys: ssh user@remotehost ‘mkdir -p ~/.ssh;cat >> ~/.ssh/authorized_keys’ < ~/.ssh/id_rsa.pub or ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost Reference X.509 PEM (Privacy-enhanced Electronic Mail)