برنامه نویسی

7. Gunicorn به عنوان یک سرویس – جنگو در تولید قسمت 7

پیشگفتار

با gunicorn meine_app.wsgi می توانید سرور برنامه خود را از آخرین قسمت راه اندازی کنید. اگر برای اجرای برنامه وب خود مجبور باشید همیشه یک جلسه پوسته با Gunicorn خود باز داشته باشید، همه چیز کمی ناخوشایند خواهد بود. همچنین اگر برنامه از کار بیفتد چه اتفاقی می افتد؟ اگر در حال حاضر اینترنت نداشته باشید یا بخواهید سرور خود را مجددا راه اندازی کنید چه اتفاقی می افتد؟ هر بار وارد کردن یک فرمان بی معنی است. به همین دلیل وجود دارد .service فایل‌هایی که تضمین می‌کنند که Gunicorn شما به‌طور خودکار با راه‌اندازی مجدد/روشن کردن سرورتان شروع به کار می‌کند.

نصب von gunicorn.service

یا یک فایل یا پیوند از مخزن خود ایجاد کنید:

sudo ln -s /srv/www/meine_repo/services/gunicorn.service /etc/systemd/system/gunicorn.service
# oder:
sudo touch /etc/systemd/system/gunicorn.service
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

می توانید این مطلب را با مطالب زیر پر کنید:

[Unit]
Description=Gunicorn service that serves meine_app
After=network.target

[Service]
# Hier kannst du das richtige environment laden
Environment="ENV_NAME=production"

# Nutze am besten nicht root, sondern einen eigens erstellten nutzer, z.B. meine_app_gunicorn
User=root
Group=root

# Deine .wsgi - Datei ist in deinem django-Projektverzeichnis
# Hier wird dein Start-Befehl ausgeführt
WorkingDirectory=/srv/www/meine_repository/mein_projekt

# Das hier Startet deine django App
ExecStart=/srv/www/meine_repository/venv/bin/gunicorn --log-file /var/log/gunicorn --workers 1 --bind 127.0.0.1:8000 meine_app.wsgi

ExecReload=/bin/kill -s HUP $MAINPID
KillMode=mixed
TimeoutStopSec=5
PrivateTmp=true

[Install]
WantedBy=multi-user.target
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون تنها کاری که باید انجام دهید این است که سرویس را روشن کنید:

# Lade deine neue Konfiguration
sudo systemctl daemon-reload
# Schalte gunicorn ein, sodass der Service automatisch bei einem reboot angeht
sudo systemctl enable gunicorn
# Starte gunicorn
sudo systemctl start gunicorn

# Jetzt sollte hier ein grünes 'started' und 'enabled' rauskommen:
sudo systemctl status gunicorn
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

PS: آن را امتحان کنید reboot خاموش شود، سپس گونیشاخ شما باید دوباره بدود.

از کدنویسی لذت ببرید،
مال شما، روبن

وبلاگ من

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا