Nic Lin's Blog

喜歡在地上滾的工程師

[Rails] 用 puma-dev 作為本地開發伺服器 (支援 https 自簽憑證)

一次要開發多個專案時,用 puma-dev 節省掉我很多時間,網路上的文章並沒有很齊全並簡單的教你如何使用這些常用的眉角,所以這篇算是 Puma-dev 全攻略,從安裝、重啟、設置自簽 https 憑證到 Log 查看。

優劣

好處:

  • 本地開發自定義域名
  • 不用一直打 rails server 開一堆 terminal, 改東西還要一直 ctrl + C
  • 可以用 https 開發
  • 方便開發跟 subdomain 有關的網站
  • 輸入網址自動開啟
  • 長時間不用資源自動釋放
  • 只要 touch tmp/restart.txt 就可以重啓 web server,重新訪問被更新的網站。

壞處:

  • 不能直接用 binding.pry, 堅持要用的話可能要用 binding.remote_pry 是另一個 gem pry-remote

安裝

Mac 環境下安裝

$ brew install puma/puma/puma-dev
$ sudo puma-dev -setup

請輸入 puma-dev -install -d test 安裝

這樣一來所有的專案都是 .test,預設是 .dev,不用的原因是因為已經被 google 拿走了

Puma 很貼心幫你簽了憑證,以下這步請記得安裝,可以解決瀏覽器打開時出現的 https unsafe 問題

$ security add-trusted-cert -k login.keychain-db ~/Library/Application\ Support/io.puma.dev/cert.pem

建立自定義域名

假設專案在 /path/to/my/awesome_project 底下

可以用絕對路徑設定

puma-dev link -n awesome_project ~/path/to/my/awesome_project

或是直接切到 Rails 專案底下

puma-dev link -n awesome_project .

兩種選一種就可以,一樣的意思。

這樣打開 https://awesome_project.test 就可以看到 Rails app 了,依樣畫葫蘆,其他專案也這樣設定是不是就可以有多個自定義本地用的開發域名了呢?

強制關閉

兩個方式,選一個順手的指令就可以了

  • puma-dev -stop
  • pkill -USR1 puma-dev

Log

Rails Log

rails s 的壞處是,只要設定檔案變更,就要結束掉重起。但它也有好處,就是可以直接看 Live Log,方便 Debug。那麼使用 Puma dev 之後,要怎麼樣繼續看 Log 去 debug 呢?

開一個視窗切到專案目錄下用 tail -f log/development.log 這個指令,持續追蹤 Log。

Puma Log

可以到 ~/Library/Logs/puma-dev.log 看 log

參考來源

comments powered by Disqus