کانفیگ سرویس گانیکارن برای یک پروژه django روی Centos

کانفیگ سرویس گانیکارن برای یک پروژه django روی Centos

ایجاد سرویس در لینوکس با یک فایل کانفیگ با پسوند service امکان پذیره. الان میخوایم یه سرویس برای گانیکارن ایجاد کنیم.

۱- یه فایل به نام gunicorn.service در مسیر system به صورت زیر ایجاد می کنیم.

nano /etc/systemd/system/gunicorn.service

۲- فایل های سرویس شامل یک سری بلوک هستند که هر بلوک تنظیماتی رو برای سرویس ما نگه داری میکنه. اولین بلوک Unit هستش که بصورت زیر نوشته میشه:

[Unit]
Descripttion=gunicorn daemon
After=network.target

۳- بلوک دوم Service هستش که بصورت زیر نوشته میشه

[Service]
User=unixusername
Group=nginx
WorkingDirectory=/home/unixusername/django_application
ExecStart=/home/unixusername/django_application/venv/bin/gunicorn -b 127.0.0.1:9001 --access-logfile '-' -w 1 django_application.wsgi &

تو بلوک سرویس ابتدا کاربر و گروهی که قراره پروسس اپلیکیشن رو برای ما انجام بدن و دسترسی به دایرکتوری پروژه رو داشته باشه معرفی می کنیم.

بعد از اون برای پارامتر WorkingDirectory آدرس دایرکتوری پروژه رو به سرویس میدیم. این آدرس مسیری هستش که فایل mange.py توش قرار گرفته.

و در انتها برای پارامتر ExecStart کامند اجرای Gunicorn با پارامترهای مد نظر خودمون رو قرار میدیم. توضیحات پارامترهای Gunicorn رو می تونید از داکیومنتش بخونید.

۴- بلوک آخر Install هستش که به systemd لینوکس میگه که اگر سرویس enable شد چه زمانی باید اجرا بشه. که ما بهش میگم هر وقت multi-user بوت شد و در حال اجرا بود سرویس ما رو هم ران کن. دقیقا به صورت زیر بنویسید:

[Install]
WantedBy=multi-user.target

در نهایت فایل gunicorn.service بصورت زیر میشه:

[Unit]
Descripttion=gunicorn daemon
After=network.target

[Service]
User=unixusername
Group=nginx
WorkingDirectory=/home/unixusername/django_application
ExecStart=/home/unixusername/django_application/venv/bin/gunicorn -b 127.0.0.1:9001 --access-logfile '-' -w 1 django_application.wsgi &

[Install]
WantedBy=multi-user.target

۵- با دستو زیر می تونید سرویس رو استارت کنید

systemctl start gunicorn

۶- و با دستور زیر سرویس رو فعال کنید که بعد از ریبوت سیستم عامل بتونه مجدد اجرا بشه

systemctl enable gunicorn

۷- با استارت سرویس gunicron باید اپلیکیشن django روی پورت مورد نظر(تو این مثال 9001) در دسترس باشه. یکبار برای اطمینان از عملکرد صحیح سرویسی که ایجاد کردید سیستم عامل رو ریبوت کنید.

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