1. 서버에 SSH 접속하기
ssh root@<server-ip>
2. 로그인 자격 증명 찾기
- Default user:
django - Password stored in:
/root/.cloudzy-creds
(선택 사항) 기본 비밀번호 변경: passwd django
3. 앱 사용자로 전환
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
직접 만든 앱을 배포하려면:
- 애플리케이션 디렉터리로 이동하거나 새 프로젝트를 클론합니다:
cd~/django_app - (선택 사항) 기본 앱 교체:
gitclone<your_repo_url> . - 가상 환경 활성화:
sourcevenv/bin/activate - 필요한 패키지 설치:
pip install -r requirements.txt - Adjust
settings.py: setALLOWED_HOSTS을 도메인/IP에 연결하고 다음을 확인하세요STATIC_ROOTexists. - Migrate database:
python manage.py migrate - 정적 파일을
STATIC_ROOT:python manage.py collectstatic --noinput - Gunicorn을 재시작해 변경 사항 적용:
sudo systemctl restart gunicorn - Restart Nginx:
sudo systemctl restart nginx
6. 앱 접속
Django 앱은 다음 주소에서 이용할 수 있습니다: http://<server-ip
Nginx가 Unix 소켓을 통해 Gunicorn으로 요청을 리버스 프록시합니다.
7. 포트 또는 도메인 변경
도메인, 포트를 조정하거나 SSL를 추가하려면:
- Nginx 사이트 설정 파일 편집:
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