Jika sebelumnya telah melakukan instalasi passenger, Anda dapat integrasikan passenger dengan webserver seperti Apache dan Nginx. Konfigurasinya bisa berbeda tergantung dari aplikasi dan webserver yang ingin Anda gunakan.
Dipanduan ini akan saya contohkan integrasi Apache dengan passenger untuk menjalankan atau mendeploy Django python.
Install Django #
Aktifkan environment python lalu install install Django
source virtualenv/3.9/bin/activate
pip install Django
Buat project Django
django-admin startproject myapp
Configuring Apache and Passenger #
Buat file myapp.conf
lalu edit dengan menyesuaikan path atau folder project Anda.
sudo nano /etc/apache2/sites-enabled/myapp.conf
<VirtualHost *:80>
ServerName yourserver.com
# Tell Apache and Passenger where your app's code directory is
DocumentRoot /home/user/myapp/public
PassengerAppRoot "/home/user/myapp"
# Tell Passenger that your app is a Python app
PassengerBaseURI "/"
PassengerPython "/home/user/virtualenv/3.9/bin/python"
PassengerAppType wsgi
PassengerStartupFile passenger_wsgi.py
# Relax Apache security settings
<Directory /home/user/myapp/public>
Allow from all
Options -MultiViews
# Uncomment this if you're on Apache ≥ 2.4:
#Require all granted
</Directory>
</VirtualHost>
Copy file wsgi.py
dan rename menjadi passenger_wsgi.py
cp myapp/wsgi.py passenger_wsgi.py
Tes akses http://yourserver.com melalui browser.
Deploying application updates #
Setiap melakukan perubahan dari sisi code atau script, Anda perlu melakukan restart pada passenger.
passenger-config restart-app .
Agar menjadi otomatis. buat folder tmp
lalu buat juga file dengan nama always_restart.txt
mkdir -p tmp
touch tmp/always_restart.txt
Untuk nonaktifkan cukup hapus file always_restart.txt
rm tmp/always_restart.txt