Notice
Recent Posts
Recent Comments
Link
WinGyu_coder
Django 서버, WSGI 와 NGINX 사용하기 본문
Django 프로젝트를 NGINX와 함께 사용하려면 보통 uWSGI나 Gunicorn과 같은 WSGI 서버를 중간에 두어 연결합니다. 이 예제에서는 Gunicorn을 사용하여 Django 백엔드와 NGINX를 설정하는 방법을 안내하겠습니다.
Gunicorn 설치:
Django 프로젝트의 가상 환경 내에서 Gunicorn을 설치합니다.
pip install gunicorn
Gunicorn으로 Django 앱 실행:
잠시 Gunicorn만 사용하여 Django 앱을 실행해 보겠습니다. 프로젝트 디렉토리에서 다음 명령어를 실행합니다.
gunicorn yourproject.wsgi:application --bind 127.0.0.1:8001
이렇게 하면 Gunicorn이 8001 포트에서 애플리케이션을 실행하게 됩니다.
NGINX 설정:
NGINX 설정은 Django 앱을 프록시로 연결하는 것이 주목적입니다.
/etc/nginx/sites-available/
에서 새로운 설정 파일을 만듭니다.sudo nano /etc/nginx/sites-available/django_project
그리고 다음과 같이 내용을 입력합니다:
server { listen 80; server_name yourdomain.com www.yourdomain.com; location / { proxy_pass http://127.0.0.1:8001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /static/ { alias /path/to/your/staticfiles/; } }
여기서,
/static/
위치는 Django의 정적 파일을 직접 제공하기 위한 것입니다.설정 활성화 및 NGINX 재시작:
sudo ln -s /etc/nginx/sites-available/django_project /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx
서버 부팅 시 Gunicorn 자동 시작:
Gunicorn을 서비스로 실행하려면 systemd 유닛 파일을 작성해야 합니다. 이렇게 하면 시스템 부팅 시 Gunicorn이 자동으로 시작됩니다.
/etc/systemd/system/gunicorn.service
:[Unit] Description=gunicorn daemon After=network.target [Service] User=username Group=groupname WorkingDirectory=/path/to/django/project ExecStart=/path/to/venv/bin/gunicorn yourproject.wsgi:application --bind 127.0.0.1:8001 [Install] WantedBy=multi-user.target
서비스를 활성화하고 시작합니다:
sudo systemctl enable gunicorn sudo systemctl start gunicorn
이제 Django 앱이 Gunicorn과 함께 실행되고, NGINX를 통해 클라이언트 요청을 처리하도록 설정되었습니다.
'Django 백엔드의 모든것' 카테고리의 다른 글
Python, Django 장고로 모의투자 서비스 제작하기 (1) - 기획 및 방안 (0) | 2024.02.23 |
---|---|
Django 장고, 우분투 리눅스 배포시 pip install mysqlclient 오류 해결방법 (0) | 2024.01.10 |
우분투 NGINX 웹 서버 설정하기 (0) | 2023.08.13 |
MariaDB, MySQL 쿼리문으로 데이터베이스 만들기, 권한 (0) | 2023.08.12 |
Django 소셜 로그인 기능 추가하기, django-allauth (0) | 2023.07.16 |