伺服器管理

Debian 9 執行 apt update 出現 GPG error 錯誤的解決方法

今天檢查更新的時候,出現了以下錯誤:

GPG error: https://packages.sury.org/php stretch InRelease: The following signatures were invalid...
E: The repository 'https://packages.sury.org/php stretch InRelease' is not signed.
...

 

問題發生原因在於 DPA 有新的 signing key 了,所以只要更新就可以了

  1. 先移除舊的
    sudo rm /etc/apt/trusted.gpg.d/php.gpg
  2. 接著下載新的
    sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

這時候再執行 suto apt update 就可以正常更新了

 

[PHP] 如何利用手動安裝版本的PHP使用 pear 及 pecl

偶爾就會用到,寫一下筆記

[pear]

pear比較簡單,直接用該版本php目錄中的執行檔即可,假設是目錄是/opt/php7,一般來說執行檔都放在在/opt/php7/bin,所以可以這樣
指令範例如下:

  1. 看pear的設定檔資料
    /opt/php7/bin/pear config-show
  2. 安裝某個module
    /opt/php7/bin/pear install xxx/xxx

[pecl]

pecl 則得要指定設定檔(pear.conf),但並沒有限制一定要使用該版本中的執行檔,指令範例如下:

  1. 安裝模組
    pecl -C /opt/php7/etc/pear.conf install memcache

php-fpm的參數設定

max_children:決定可接受的併發數,一般children的值是網站最高併發數+浮動值。這個值會決定使用多少記憶體,一般一個children是20-30M左右,要大於max_spare_servers。

max_requests:每一個child接受的request數,當超過這個數時,就把自己殺死然後重新建立一個child。

request_terminate_timeout:每個request最長的執行時間。

start_servers:起始進程數,須介於min_spare_servers及max_spare_servers之間

min_spare_servers:最小進程數

max_spare_servers:最大進程數

process manager分為以下三種類型,

  • Static:固定的進程數,適合只有一個網站的伺服器。
  • Dynamic:動態的進程數,適合有多個網站且負載較重(每日10k以上request)的伺服器
  • ondemand:依需求調整,比較適合pool量大的伺服器,即伺服器中放了很多低負載(每日只有幾百或更低request)的網站。

 

參考文章

設定vim顏色(color scheme)

筆記自這裡

在vim的執行畫面中切換

輸入以下指令即可更換:

:colorscheme SCHEME_NAME

PS.1 如果忘記colorscheme 怎麼拼,可以輸入 :color之後按下tab鍵,就會提示了
PS.2 不曉得SCHEME_NAME也沒關係,一樣利用tab鍵 :colorscheme <空格> <tab> 即可

設定預設的color scheme

要設定預設的color scheme,要在家目錄增加一個隱藏檔 .vimrc

內容如下:

讓 SSH 可以不用輸入密碼登入(authentication key)

SSH加密連線,對於管理遠端伺服器來說,是個重要的工具,可以說是必用的工具了。但每次登入都要輸入密碼有時候滿麻煩的,然後SSH也滿friendly的,提供了一個不用輸入密碼的選擇,其實Amazon AWS,以及drupal git也是預設用這種方式連線。

用Authentication key的優點就是不用輸入密碼,安全性跟「輸入帳號密碼」相對而言較佳,要持有private key的電腦才能登入伺服器,不用擔心被人暴力破解密碼。但這裡其實也產生了一個問題,只要持有private key就可以了。所以不管用帳號或authentication key,都要好好保管。

廢話不多說,直接說明如何作,以下是在Ubuntu的環境下(基本上Linux指令應該都一樣):