راه اندازی Django در Debian 8

در این آموزش نحوه تنظیم Django در Debian 8 (جسی) توضیح داده شده است. من نحوه استفاده از Python 2 و 3 و Nginx و PostgreSQL را نشان خواهم داد.

هر کاری که در این آموزش انجام می شود به صورت ریشه انجام می شود.

بسته ها را نصب کنید

برای شروع ، باید برخی از بسته‌ها را نصب کنیم.

برای پایتون 2:

apt-get install python-pip python-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

برای پایتون 3:

apt-get install python3-pip python3-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

پایگاه داده راه اندازی کنید

ابتدا وارد کاربر می شویم postgres.

sudo -u postgres -s

بعد ، یک دیتابیس جدید ایجاد می کنیم. نام بانک اطلاعاتی می تواند هر آنچه را که می خواهید باشد باشد ( dbnameدر اینجا استفاده می شود) ، اما شما باید با بقیه راه اندازی ها سازگار باشید.

createdb dbname

کاربر را برای پایگاه داده جدید ایجاد کنید. باز هم ، این می تواند هر چیزی باشد که می خواهید باشد ، اما من از آن استفاده کردم dbuser. این کار همچنین از شما می خواهد که یک رمز عبور تنظیم کنید.

createuser -P dbuser

اکنون کاربر باید به پایگاه داده دسترسی پیدا کند. فقط حتماً از نام درست بانک اطلاعات و نام کاربر استفاده کنید.

psql
postgres=# GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;
postgres=# \q

خروج از ریشه

exit

فعال و شروع PostgreSQL:

systemctl enable postgresql
systemctl start postgresql

محیط مجازی را تنظیم کنید

به جای اینکه فقط از پرونده های جهانی پایتون استفاده کنیم ، از یک محیط مجازی استفاده خواهیم کرد. ما با ایجاد یک فهرست راهنما شروع می کنیم تا همه آن را نگه داریم.

mkdir -p /opt/project

اکنون محیط را ایجاد می کنیم. این برای کاربران پایتون 2 و 3 متفاوت است.

برای پایتون 2:

virtualenv . -p python

برای پایتون 3:

virtualenv . -p python3

وارد محیط مجازی شوید.

source bin/activate

Django ، gunicorn و psycopg2 را نصب کنید.

pip install django
pip install gunicorn
pip install psycopg2

اگر به نسخه خاصی از Django نیاز دارید ، دستور نصب را تغییر دهید تا با قالب زیر مطابقت داشته باشد. این مثال 1.7.8 را نصب می کند.

pip install django==1.7.8

اکنون با این کار انجام شده است ، بنابراین می توانیم محیط مجازی خود را غیرفعال کنیم.

deactivate

بارگذاری و پیکربندی پروژه

این زمانی است که پروژه خود را روی سرور بارگذاری می کنیم و مطمئن می شویم که تمام تنظیمات آن صحیح است. برای انجام این کار می توانید از هر روشی استفاده کنید. FTP ، SFTP ، git و غیره همه روش های انجام این کار هستند. اگر برای ردیابی کد پروژه از git استفاده می کنید ، می توانید آن را فقط به سرور کلون کنید. این دستور git پروژه را به سرور کلون می کند و در آن قرار می دهد /opt/project/project/.

git clone http://example.com:project.git

را باز settings.pyفایل در هر مرورگر متن.

اول موارد ، حالت اشکال زدایی باید خاموش باشد. به دنبال DEBUG = Trueخط باشید و Trueبه تغییر دهید False. پس از این ، اطمینان حاصل کنید که ALLOWED_HOSTSمقداری تنظیم کرده اید .

ALLOWED_HOSTS = ['*']

به دنبال DATABASESفرهنگ لغت بروید ، و باید مانند این باشد:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'dbuser',
        'PASSWORD': 'password you set',
        'HOST': 'localhost',
        'PORT': ''
    }
}

آخرین مرحله در اینجا تنظیم یک ریشه ایستا است. موارد زیر را مستقیماً در زیر قرار دهید STATIC_URL.

STATIC_ROOT = '/opt/project/static/'

از پرونده خارج شده و فهرست دایرکتوری root را ایجاد کنید.

mkdir -p /opt/project/static

اکنون دیتابیس را مهاجرت کنید ، یک کاربر فوق العاده ایجاد کرده و کلیه پرونده های استاتیک را جمع آوری کنید.

cd /opt/project/project
../bin/python manage.py makemigrations
../bin/python manage.py migrate
../bin/python manage.py createsuperuser
../bin/python manage.py collectstatic

Gunicorn را پیکربندی کنید

Gunicorn سرور WSGI است که ما از آن استفاده خواهیم کرد. از آنجا که Debian 8 همراه با systemd است ، ما از سیستم systemd برای شروع و متوقف کردن سرور استفاده خواهیم کرد.

پرونده را ایجاد کرده /etc/systemd/system/django.serviceو محتوای زیر را اضافه کنید.

[Unit]
Description=Django with Gunicorn
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/opt/project
ExecStart=/opt/project/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 project.wsgi

[Install]
WantedBy=multi-user.target

خدمتی را که ایجاد کرده ایم را فعال کرده و شروع کنید.

systemctl enable django.service
systemctl start django.service

نگینکس

شاید متوجه شده باشید که ما سرور gunicorn را به آن وصل کردیم 127.0.0.1. اکنون به روشی برای دسترسی به آن از خارج از سرور نیاز داریم. اینجاست که نگینکس وارد می شود.

پرونده جدید را ایجاد کرده /etc/nginx/sites-available/djangoو موارد زیر را اضافه کنید. domain.example.comبخش می توان به هر شما به آن نیاز به تنظیم شود.

server {
        listen 80;
        server_name domain.example.com;
        access_log off;

        location /static/ {
                alias /opt/project/static/;
        }

        location / {
                proxy_pass http://127.0.0.1:8000;
        }
}

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

ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/django

Nginx را فعال کرده و شروع کنید.

systemctl enable nginx
systemctl start nginx

نتیجه

تبریک می گویم ، اکنون یک سایت فعال Django در Debian VPS خود دارید.

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.