تنظیمات پروژۀ جنگو

جنگو

سلام

به کاربر پروژۀ جنگو سوییچ می کنیم.

sudo su - boards

اول چک می کنیم که کجا قرار داریم.

pwd
/home/boards

کد خود را به ریپازیتوری کپی یا clone می کنیم.

git clone https://github.com/sibtc/django-beginners-guide.git

یک Virtual Environment را راه اندازی می کنیم.

virtualenv venv -p python3.6

حالا Virtualenv را مقداردهی می کنیم.

source venv/bin/activate

موارد لازم را نصب می کنیم.

pip install -r django-beginners-guide/requirements.txt

در اینجا باید دو کتابخانۀ دیگر را به سیستم اضافه کنیم. یکی مربوط به Gunicorn است و دیگری مربوط به درایور دیتابیس.

pip install gunicorn
pip install psycopg2

حالا درون فولدر home/boards/django-beginners-guide/ یک فایل env. به منظور ذخیره سازی مشخصات اعتبارسنجی دیتابیس، کلیدهای خصوصی و… ایجاد می کنیم.

/home/boards/django-beginners-guide/.env

SECRET_KEY=rqr_cjv4igscyu8&&(0ce(=sy=f2)p=f_wn&@0xsp7m$@!kp=d
ALLOWED_HOSTS=.djangoboards.com
DATABASE_URL=postgres://u_boards:BcAZoYWsJbvE7RMgBPzxOCexPRVAq@localhost:5432/django_boards

سینتکس مربوط به آدرس دیتابیس در این فرمت است:

//db_user:db_password@db_host:db_port/db_name

حالا مهاجرت دیتابیس را انجام می دهیم. فایل های استاتیک را جمع کرده و یک سوپریوزر می سازیم.

cd django-beginners-guide
python manage.py migrate

Operations to perform:
  Apply all migrations: admin, auth, boards, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying boards.0001_initial... OK
  Applying boards.0002_auto_20170917_1618... OK
  Applying boards.0003_topic_views... OK
  Applying sessions.0001_initial... OK

و حالا فایل های استاتیک

python manage.py collectstatic

Copying '/home/boards/django-beginners-guide/static/js/jquery-3.2.1.min.js'
Copying '/home/boards/django-beginners-guide/static/js/popper.min.js'
Copying '/home/boards/django-beginners-guide/static/js/bootstrap.min.js'
Copying '/home/boards/django-beginners-guide/static/js/simplemde.min.js'
Copying '/home/boards/django-beginners-guide/static/css/app.css'
Copying '/home/boards/django-beginners-guide/static/css/bootstrap.min.css'
Copying '/home/boards/django-beginners-guide/static/css/accounts.css'
Copying '/home/boards/django-beginners-guide/static/css/simplemde.min.css'
Copying '/home/boards/django-beginners-guide/static/img/avatar.svg'
Copying '/home/boards/django-beginners-guide/static/img/shattered.png'
...

این فرمان، تمام موارد استاتیک را به یک فولدر خارجی انتقال می دهد تا Nginx بتواند این فایل ها را برای سرویس دهی آماده کند. در ادامه توضیحات بشتری در این خصوص ارائه خواهد شد.

و حالا ساخت یک سوپریوزر برای برنامه.

python manage.py createsuperuser

ترجمۀ اختصاصی توسط تمدن

 

مطلب بعدی:

مطلب قبلی:

بدون دیدگاه

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

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

جنگو
پیکربندی گواهینامۀ https

سلام حالا می خواهیم برنامۀ خودمان را با گواهینامۀ https امن کنیم. ساده ترین کار برای انجام آن Let’s Encrypt است. قبل از Let’s Encrypt هرگز تنظیمات https به این راحتی نبوده و مهمتر اینکه اینکار کاملاً رایگان است. آن ها راه حلی به نام certbot را ارائه داده اند …

جنگو
پیکربندی سرویس ایمیل

سلام یکی از بهتر سرویس دهنده های ایمیل Mailgun با قابلیت ۱۲ هزار ایمیل رایگان در ماه است. به صورت رایگان ثبت نام کنید. برای اینکار باید آن را با سرویس دهندۀ دامین خود تنظیم کنید که در این آموزش از tamadon.org استفاده شده است. حالا اولین رکورد DNS را …

جنگو
پیکربندی NGINX

سلام کار بعدی که قرار است انجام شود؛ تنظیمان Nginx به شکلی است که پاسخگویی و سرویس دهی مربوط به فایل های استاتیک را خود انجام دهد و سایر درخواست ها را به Gunicorn بفرستد. یک فایل پیکربندی با نام boards را درون /etc/nginx/sites-available/ و با محتوای زیر اضافه می …

هرگونه استفادۀ از این آموزش به صورت رایگان و با ارجاع به تمدن جایز است.