Nginx/Passenger

From Chorke Wiki
Revision as of 17:11, 6 February 2026 by Shahed (talk | contribs)
Jump to navigation Jump to search
cat <<'EXE' | sudo bash
apt-get update;echo
apt-get install -y nginx
nginx -v;echo ;apt-get clean
EXE

Diagram

Passenger » Why

Passenger » Why

Feature Nginx + Passenger Nginx + Puma
Ease of Setup High (Single config file) Medium (Need to manage Puma service)
Process Management Automatic (Spawns/restarts apps) Manual (Requires Systemd or Monit)
Memory Management Excellent (Auto-kills bloated processes) Good (Manual tuning required)
Multi-Language Supports Ruby, Python, Node.js Ruby only

Passenger » How

Passenger » How

How » Install

lxc launch ubuntu:24.04 passenger   || true  && sleep 5
lxc delete   passenger/ubuntu:24.04 || true

lxc snapshot passenger ubuntu:24.04 && sleep 1
lxc restore  passenger ubuntu:24.04 && sleep 5
lxc exec     passenger -- uname -r
lxc restore  passenger ubuntu:24.04 && sleep 5
lxc delete   passenger/passenger:6.1.2 || true

cat <<'EXE' | \
lxc exec     passenger -- bash
curl -fsSL https://oss-binaries.phusionpassenger.com/auto-software-signing-gpg-key-2025.txt \
 | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/phusion.gpg >/dev/null

cat << SRC | sudo tee /etc/apt/sources.list.d/passenger.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
 signed-by=/etc/apt/trusted.gpg.d/phusion.gpg]\
 https://oss-binaries.phusionpassenger.com/apt/passenger noble main
SRC

cat <<'ASH' | sudo bash
apt-get update;echo
apt-get install -y nginx libnginx-mod-http-passenger
which passenger;echo
passenger version
apt-get clean
ASH
EXE

lxc snapshot passenger passenger:6.1.2 && sleep 1
lxc restore  passenger passenger:6.1.2 && sleep 5
lxc exec     passenger -- passenger version

How » Config

lxc restore  passenger passenger:6.1.2 && sleep 5
lxc exec     passenger -- passenger version
echo
lxc exec     passenger -- cat /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;echo
lxc exec     passenger -- cat /etc/nginx/conf.d/mod-http-passenger.conf
echo
lxc exec     passenger -- cat /usr/share/nginx/modules-available/mod-http-passenger.load;echo
lxc exec     passenger -- cat /etc/nginx/modules-enabled/50-mod-http-passenger.conf
cat <<'EXE' | \
lxc exec     passenger -- bash
cat <<'ASH' | sudo bash
if [ ! -f /etc/nginx/modules-enabled/50-mod-http-passenger.conf ]; then 
  ln -s   /usr/share/nginx/modules-available/mod-http-passenger.load \
          /etc/nginx/modules-enabled/50-mod-http-passenger.conf
fi
ls -lah   /etc/nginx/conf.d/mod-http-passenger.conf
ASH
EXE

References

References