1. Kết nối SSH đến máy chủ của bạn
ssh root@<server-ip>
2. Tìm thông tin đăng nhập
- Người dùng mặc định:
django - Mật khẩu được lưu trữ tại:
/root/.cloudzy-creds
(Tùy chọn) Thay đổi mật khẩu mặc định: passwd django
3. Chuyển sang Người dùng ứng dụng
su - django
4. PostgreSQL (Tùy chọn)
Nếu đã cài đặt PostgreSQL, hãy thiết lập cơ sở dữ liệu và người dùng (ví dụ):
sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q
Sau đó cập nhật settings.py DATABASES với người dẫn chương trình localhostTên cơ sở dữ liệu, tên người dùng và mật khẩu. Chạy python manage.py migrate.
5. Triển khai ứng dụng của bạn
Một ứng dụng Flask mẫu đã được chạy và có thể truy cập tại địa chỉ: http://<server-ip
Để triển khai ứng dụng của riêng bạn:
- Điều hướng đến thư mục ứng dụng của bạn (hoặc sao chép một dự án mới):
cd~/django_app - (Tùy chọn) Thay thế ứng dụng mặc định:
gitclone<your_repo_url> . - Kích hoạt môi trường ảo:
sourcevenv/bin/activate - Cài đặt các gói cần thiết:
pip install -r requirements.txt - Điều chỉnh
settings.py: bộALLOWED_HOSTSđến tên miền/địa chỉ IP của bạn và đảm bảoSTATIC_ROOTtồn tại. - Di chuyển cơ sở dữ liệu:
python manage.py migrate - Thu thập tĩnh điện vào
STATIC_ROOT:python manage.py collectstatic --noinput - Khởi động lại Gunicorn để áp dụng các thay đổi:
sudo systemctl restart gunicorn - Khởi động lại Nginx:
sudo systemctl restart nginx
6. Truy cập ứng dụng của bạn
Your Django app is available at: http://<server-ip
Nginx đang thực hiện chuyển tiếp ngược các yêu cầu đến Gunicorn thông qua socket Unix.
7. Thay đổi cổng hoặc tên miền?
Để điều chỉnh tên miền, cổng hoặc thêm SSL:
- Chỉnh sửa cấu hình trang web Nginx:
sudo nano /etc/nginx/sites-available/gunicorn_django - Cấu hình thử nghiệm:
sudo nginx -t - Khởi động lại Nginx:
sudo systemctl restart nginx
8. Bật HTTPS (Tùy chọn)
Hãy sử dụng Certbot để bật HTTPS.
Cài đặt Certbot:
sudo apt install certbot python3-certbot-nginx -y
Nhận chứng chỉ và cập nhật Nginx tự động:
sudo certbot --nginx -d example.com
Bài kiểm tra:
nginx -t && sudo systemctl reload nginx