Nginx 的 301、302 轉址設定

Nginx 要設定 301、302 轉址的範例如下:

  • rewrite ^/(.)$ http://www.example.com/$1 permanent; # permanent 301
  • rewrite ^/(.)$ http://www.example.com/$1 redirect; # redirect 302

MySQL CLI 關閉 auto commit 避免失誤

MySQL 於 CLI 操作時,通常都要特別小心再小心,但是也是很難避免有意外的發生,此時可以使用 Transaction 的特性,再多一層保障。

  • 注意:上述需要支援 Transaction(交易)(例如:InnoDB),MyISAM 是不支援 Transaction 的

閱讀全文〈MySQL CLI 關閉 auto commit 避免失誤〉

PHP 檔案上傳 遇到 容量太大 要修改 php.ini 的參數

PHP 要上傳檔案,遇到檔案太大(預設上限2M),php.ini 要修改哪些地方才能夠解決這個問題呢?

閱讀全文〈PHP 檔案上傳 遇到 容量太大 要修改 php.ini 的參數〉

Linux systemd 寫 可自動啟動的 Daemon Service

Linux 寫一隻 Daemon,想要讓此程式死掉時,會自動啟動,systemd 有內建的方法可以做。

寫在 service 裡面,此程式用 systemctl start 後,此 Process 再怎麼 kill 都會自動啟動,直到 systemctl stop 才會停止。

閱讀全文〈Linux systemd 寫 可自動啟動的 Daemon Service〉

好站:badssl 查看 SSL 設定錯誤會有怎樣的結果

HTTPS 設定的 SSL 要注意的事情還不少,這個網站把設定正確、設定錯誤、漏設定等等的結果全部整理在一個頁面裡面。可以看看瀏覽器會怎麼顯示。

  • 網站:badssl.com - a memorable site for HTTPS misconfiguration

網站裡面有提供各種錯誤的憑證,可以用此來測試自己的程式套件 (SSL Library) 是否可以正確的判斷。

MySQL InnoDB 遇到 ./ib_logfile0 is of different size 5242880 bytes 修復

MySQL 使用 Innobackupex 來做備份,詳見此篇:使用 Percona innobackupex 備份 與 還原 MySQL

執行下述命令:

  • $ sudo innobackupex --user=root --password=password /home/user/2017-01-01/

出現下述錯誤訊息:

InnoDB: Error: log file ./ib_logfile0 is of different size 5242880 bytes

註:原始 DB 是 Debian 預設的 MySQL

修復方式如下步驟:

  1. vi /etc/mysql/my.cnf # 增加 innodb_log_file_size 的參數即可
    [mysql]
    innodb_log_file_size=5M
  2. /etc/init.d/mysql reload
  3. 再來 innobackupex 就可以正常執行了