반응형
1. 경로 확인하기
아래와 같은 경로를 가진 프로젝트가 있다고 생각하고 배포 과정을 정리하려고한다.
- Folder Name : /home/ubuntu/Example
- Project Name : ExampleProject
- Project Path : /home/ubuntu/Example/ExampleProject
- Application Name : ExampleApp
- Application Path : /home/ubuntu/Example/ExampleProject/ExampleApp
- 가상환경 폴더 경로 : /home/ubuntu/Example/venv_ex
- wsgi.py 위치 : /home/ubuntu/Example/ExampleProject/wsgi.py
2. settings 파이썬 파일에 Static 파일 변수 추가
import os
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
STATICFILES = [STATIC_ROOT]
3. apache2
sudo apt-get install appache2
4. Apache Config 파일 수정
cd /etc/apache2/sites-available
sudo cp 000-default.conf 000-default.conf_backup # 백업파일 만들기
sudo vi 000-default.conf # config 파일 수정
<VirtualHost *:80>
# The ServerName directive sets the requests schme, hostname and port that
# 주석 ~~~~~~
# ----- 생략 -----
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels : trace8, ..., trace1, debug, info, notice, warn,
# 주석 ~~~~~~
# 여기서부터 입력
Alias /static /home/ubuntu/Example/ExampleProject/static
<Directory /home/ubuntu/Example/ExampleProject/static>
Require all granted
</Directory>
<Directory /home/ubuntu/Example/ExampleProject> # ExamplePjoect위치
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIPassAuthorization On
WSGIDaemonProcess ExampleProject python-path=/home/ubuntu/Example/ExampleProject/ python-home=/home/ubuntu/Example/venv_ex
# python-path 프로젝트 경로 # python -home 가상환경 경로
WSGIScriptAlias / /home/ubuntu/Example/ExampleProject/wsgi.py # wsgi.py위치
</VirtualHost>
wq!를 눌러 수정한 후 설정을 마친 후에 a2ensite를 통해 활성화했을 때 Site 000-default already enabled이라고 뜨면 잘된 것이다.
sudo a2ensite 000-default.conf
5. wsgi mod
wsgi mod는 Django를 포함한 모든 Python WSGI 애플리케이션을 호스팅할 수 있는 Apache 모듈이다.
sudo apt-get install libapache2-mod-wsgi-py3
sudo a2enmod wsgi
https://docs.djangoproject.com/ko/3.2/howto/deployment/wsgi/modwsgi/
아파치 서버를 재시작하고 아마존에서 받은 IP주소로 접속했을때 정상 접속된다면 성공이다.
sudo apachectl -k restart
실패한다면 로그파일을 보면서 에러를 해결해야한다.
vi /var/log/apache2/error.log
도움을 받은 자료
반응형
'공부기록 > MLOps | Infra' 카테고리의 다른 글
[k8s] Kubernetes Monitoring Architecture (0) | 2022.08.28 |
---|---|
[k8s] Multiple Schedulers (0) | 2022.08.28 |
[k8s] static pod (0) | 2022.08.27 |
[kubernetes] 쿠버네티스 클러스터를 구성하는 도구 - Kubeadm, Kuberspray (0) | 2022.03.21 |
[kubernetes] 쿠버네티스 설치 - Kubespray 사용하기 (0) | 2022.03.21 |