1. SSH เข้าสู่เซิร์ฟเวอร์
ssh root@<server-ip>
2. ค้นหาข้อมูลสำหรับเข้าสู่ระบบ
- Default user:
django - Password stored in:
/root/.cloudzy-creds
(ไม่บังคับ) เปลี่ยนรหัสผ่านเริ่มต้น: passwd django
3. สลับไปยัง App User
su - django
4. PostgreSQL (Optional)
หากติดตั้ง PostgreSQL ไว้แล้ว ให้ตั้งค่า DB และผู้ใช้ (ตัวอย่าง):
sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q
Then update settings.py DATABASES with host localhostชื่อฐานข้อมูล ผู้ใช้ และรหัสผ่าน จากนั้นรัน python manage.py migrate.
5. ติดตั้งแอปของคุณ
แอปตัวอย่าง Flask กำลังทำงานอยู่และเข้าถึงได้ที่: http://<server-ip
หากต้องการติดตั้งแอปของคุณเอง:
- ไปยังไดเรกทอรีแอปพลิเคชันของคุณ (หรือ clone โปรเจกต์ใหม่):
cd~/django_app - (ไม่บังคับ) แทนที่แอปเริ่มต้น:
gitclone<your_repo_url> . - เปิดใช้งาน virtual environment:
sourcevenv/bin/activate - ติดตั้งแพ็กเกจที่จำเป็น:
pip install -r requirements.txt - Adjust
settings.py: setALLOWED_HOSTSไปยังโดเมน/IP ของคุณ และตรวจสอบให้แน่ใจว่าSTATIC_ROOTexists. - Migrate database:
python manage.py migrate - รวบรวมไฟล์ static ไปที่
STATIC_ROOT:python manage.py collectstatic --noinput - รีสตาร์ท Gunicorn เพื่อใช้การเปลี่ยนแปลง:
sudo systemctl restart gunicorn - Restart Nginx:
sudo systemctl restart nginx
6. เข้าถึงแอปของคุณ
แอป Django ของคุณพร้อมใช้งานที่: http://<server-ip
Nginx ทำหน้าที่ reverse proxy ส่ง request ไปยัง Gunicorn ผ่าน Unix socket
7. เปลี่ยนพอร์ตหรือโดเมน?
หากต้องการปรับโดเมน พอร์ต หรือเพิ่ม SSL:
- แก้ไขไฟล์ config ของ Nginx site:
sudo nano /etc/nginx/sites-available/gunicorn_django - Test configuration:
sudo nginx -t - Reload Nginx:
sudo systemctl restart nginx
8. เปิดใช้งาน HTTPS (ไม่บังคับ)
ใช้ Certbot เพื่อเปิดใช้งาน HTTPS
Install certbot:
sudo apt install certbot python3-certbot-nginx -y
รับใบรับรองและอัปเดต Nginx โดยอัตโนมัติ:
sudo certbot --nginx -d example.com
Test:
nginx -t && sudo systemctl reload nginx