如何在 Ubuntu 20.04 上安裝 Passenger

Home 程式開發 如何在 Ubuntu 20.04 上安裝 Passenger
如何在 Ubuntu 20.04 上安裝 Passenger
教學

第1步 – 安裝 Passenger 套件

這些命令將通過 PhusionAPT 儲存庫安裝 Passenger + Nginx 模組。 此時,我們假設您已經從系統儲存庫中安裝了 Nginx。 如果沒有,您應該先參考這篇文章安裝 Nginx,然後再繼續。

# 安裝 PGP 金鑰和對於 AP 的 HTTPS支援
$ sudo apt-get install -y dirmngr gnupg
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
$ sudo apt-get install -y apt-transport-https ca-certificates

# 加入 APT 儲存庫
$ sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger focal main > /etc/apt/sources.list.d/passenger.list'
$ sudo apt-get update

# 安裝 Passenger + Nginx 模組
$sudo apt-get install -y libnginx-mod-http-passenger

第2步 – 啟用 Passenger Nginx 模組並重啟 Nginx

確保設定文件就定位:

$ if [ ! -f /etc/nginx/modules-enabled/50-mod-http-passenger.conf ]; then sudo ln -s /usr/share/nginx/modules-available/mod-http-passenger.load /etc/nginx/modules-enabled/50-mod-http-passenger.conf ; fi
$ sudo ls /etc/nginx/conf.d/mod-http-passenger.conf

如果在 /etc/nginx/conf.d/mod-http-passenger.conf 中沒有看到文件; 那麼您需要自己建立它並設置 passenger_rubypassenger_root 。 例如:

passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /usr/bin/passenger_free_ruby;

完成此步驟後,重新啟動 Nginx:

$ sudo service nginx restart

第3步 – 確認安裝成功

安裝後,請執行 sudo /usr/bin/passenger-config validate-install 來驗證安裝。 例如:

$ sudo /usr/bin/passenger-config validate-install
 * Checking whether this Phusion Passenger install is in PATH... ✓
 * Checking whether there are no other Phusion Passenger installations... ✓

所有檢查都應該通過。如果有任何檢查未通過,請依照螢幕上的建議進行操作。

最後,檢查 Nginx 是否啟動了Passenger核心進程。 運行 sudo /usr/sbin/passenger-memory-stats。 您應該會看到 NginxPassenger 程序。 例如

$ sudo /usr/sbin/passenger-memory-stats
Version: 5.0.8
Date   : 2015-05-28 08:46:20 +0200
...

---------- Nginx processes ----------
PID    PPID   VMSize   Private  Name
-------------------------------------
12443  4814   60.8 MB  0.2 MB   nginx: master process /usr/sbin/nginx
12538  12443  64.9 MB  5.0 MB   nginx: worker process
### Processes: 3
### Total private dirty RSS: 5.56 MB

----- Passenger processes ------
PID    VMSize    Private   Name
--------------------------------
12517  83.2 MB   0.6 MB    PassengerAgent watchdog
12520  266.0 MB  3.4 MB    PassengerAgent server
12531  149.5 MB  1.4 MB    PassengerAgent logger
...

如果您沒有看到任何 Nginx 或Passenger 程序,那麼您可能有遇到某種安裝或設定問題。 請參閱官方的故障排除指南

相關文章