2024. 11. 27. 11:21ㆍdjango
Ubuntu 20.04에서 Python 3.11을 설치하는 방법
먼저 deadsnakes PPA를 추가합니다:
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update
Python 3.11을 설치합니다:
sudo apt install python3.11
pip를 설치합니다:
curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3.11
필요한 개발 도구들을 설치합니다:
sudo apt install python3.11-dev python3.11-venv
Python 3.11 버전을 확인합니다:
python3.11 --version
Django 프로젝트를 위해서는 가상환경을 만들어서 사용하는 것을 추천드립니다:
가상환경 생성:
python3.11 -m venv myenv
가상환경 활성화:
source myenv/bin/activate
Django 설치:
pip install django
주의사항:
- 시스템의 기본 Python 버전은 그대로 유지됩니다
- 필요한 경우
update-alternatives
를 사용하여 기본 Python 버전을 변경할 수 있습니다 - 여러 프로젝트를 관리할 때는 각각 독립된 가상환경을 사용하는 것이 좋습니다
이렇게 설치하시면 Django 프로젝트에서 Python 3.11을 문제없이 사용
Gunicorn을 사용하면 Django 애플리케이션을 데몬으로 실행할 수 있어서 SSH 세션을 종료하더라도 서버가 계속 실행되며, 다른 작업도 진행할 수 있읍니다.
Gunicorn 설정 방법을 단계
먼저 Gunicorn 설치:
pip install gunicorn
Gunicorn으로 Django 실행 테스트:
프로젝트이름은 /home/account-project/config(settings.py) 가 있는 디렉토리 말합니다. 먼저 cd /home/account-project 그리고 config 가 프로젝트 이름이 됩니다. gunicorn --bind 0.0.0.0:8000 config.wsgi:application 이와 같이 설정을 해야 합니다.
다음은 문법입니다.
gunicorn --bind 0.0.0.0:8000 프로젝트이름.wsgi:application
3. systemd 서비스 파일 생성 (데몬으로 실행하기 위함):
```bash
sudo nano /etc/systemd/system/django.service
- 서비스 파일에 다음 내용 추가:
[Unit] Description=Django Gunicorn Service After=network.target
[Service]
User=your_username
Group=your_username
WorkingDirectory=/path/to/your/django/project
ExecStart=/path/to/your/venv/bin/gunicorn --workers 3 --bind 0.0.0.0:8000 프로젝트이름.wsgi:application
Restart=always
[Install]
WantedBy=multi-user.target
5. 서비스 시작 및 자동 시작 설정:
```bash
sudo systemctl start django
sudo systemctl enable django
- 서비스 상태 확인:
sudo systemctl status django
추가 설정 팁:
--workers
: CPU 코어 수 × 2 + 1 정도로 설정하는 것이 권장됩니다- 로그 설정:
--access-logfile
및--error-logfile
옵션으로 로그 파일 위치 지정 가능 - Nginx를 프록시 서버로 사용하면 더 안정적인 운영이 가능합니다
이렇게 설정하면:
- 서버가 백그라운드에서 실행됩니다
- 시스템 재시작 시 자동으로 시작됩니다
- SSH 연결이 끊어져도 서비스가 계속 실행됩니다
- 다른 작업을 자유롭게 할 수 있습니다
필요한 경우 다음 명령어로 서비스를 관리할 수 있습니다:
sudo systemctl stop django # 서비스 중지
sudo systemctl restart django # 서비스 재시작
sudo systemctl status django # 상태 확인
'django' 카테고리의 다른 글
django에서 mssql 사용하기 (3) | 2024.11.06 |
---|---|
`@method_decorator(ensure_csrf_cookie, name='dispatch')` (1) | 2024.02.14 |
sub_value_sum = {key: 0.0 for key in sub_values} 의 의미는 (0) | 2023.07.16 |
requirements.txt 파일은 (0) | 2023.05.15 |
Data가져오기 (0) | 2023.05.07 |