ตั้งค่า Django บน Debian 8

บทช่วยสอนนี้อธิบายวิธีตั้งค่า Django บน Debian 8 (jessie) ฉันจะแสดงวิธีใช้ทั้ง Python 2 และ 3 รวมถึง Nginx และ PostgreSQL

ทุกสิ่งที่ทำในบทช่วยสอนนี้เสร็จสิ้นแล้วเหมือนรูท

ติดตั้งแพคเกจ

ในการเริ่มต้นเราต้องติดตั้งแพคเกจบางอย่าง

สำหรับ Python 2:

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

สำหรับ Python 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

ติดตั้งสภาพแวดล้อมเสมือน

แทนที่จะใช้ไฟล์ python ทั่วโลกเราจะใช้สภาพแวดล้อมเสมือนจริง เราเริ่มต้นด้วยการสร้างไดเรกทอรีเพื่อเก็บไว้ทั้งหมด

mkdir -p /opt/project

ตอนนี้เราสร้างสภาพแวดล้อม สิ่งนี้แตกต่างสำหรับผู้ใช้ python 2 และ 3

สำหรับ Python 2:

virtualenv . -p python

สำหรับ 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 เพื่อติดตามรหัสของโครงการคุณสามารถโคลนมันไปยังเซิร์ฟเวอร์ได้ /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/'

ออกจากไฟล์และสร้างไดเรกทอรีรากคงที่

mkdir -p /opt/project/static

ตอนนี้ย้ายฐานข้อมูลสร้างผู้ใช้ super และรวบรวมไฟล์คงที่ทั้งหมด

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

Nginx

คุณอาจสังเกตเห็นว่าเราผูกเซิร์ฟเวอร์ Gunicorn 127.0.0.1ไว้ ตอนนี้เราต้องการวิธีการเข้าถึงจากภายนอกเซิร์ฟเวอร์ นี่คือที่ Nginx เข้ามา

สร้างไฟล์ใหม่/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 ของคุณ

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true