일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 파이썬
- 링크
- MongoDB
- Google Drive
- docker-compose
- 코딩
- DB
- 리스트
- gpu 병렬처리
- 충북
- 구글 드라이브
- G-Suite
- python
- 추천 영상
- List
- flask
- pymongo
- 바로학교
- 단축어
- 장고
- 유튜브
- 깃허브
- 알고리즘
- venv
- 아이폰
- 그리디 알고리즘
- nocookie
- selenium
- 탐욕 알고리즘
- Django
Archives
- Today
- Total
SSAMKO의 개발 이야기
[django] systemd, gunicorn, nginx 서버 배포하기 본문
반응형
1. 가상환경 실행
2. pip install gunicorn
3. manage.py가 있는 폴더로 이동
4. gunicorn 설정
gunicorn --bind 0.0.0.0:8000 myProject.wsgi:application
myProject에는 본인의 project이름을 넣는다.
스크립트 생성
/etc/systemd/system/gunicorn.service
[Unit]
Description=gunicorn
After=network.target
[Service]
User=<user.name>
Group=www-data
WorkingDirectory=/path/to/yourProject
ExecStart=/path/to/yourProject/venv/bin/gunicorn \
--workers 3 \
--bind unix:/path/to/yourProject/gunicorn.sock \
yourApp.wsgi:application
[Install]
WantedBy=multi-user.target
5. nginx 설치
apt-get update
apt-get install nginx
80포트 개방 (GCP는 아래 링크 참고)
2021/01/11 - [GCP, AWS] - [GCP] 방화벽 규칙 만들기
ufw allow 80/tcp
ip로 접속했을때, 아래와 같은 화면이 보인다면 nginx설치와 80포트 개방이 제대로 되었다는 것
6. nginx conf
/etc/nginx/sites-available/yourProject
server {
listen 80;
server_name 128.128.128.1;
location / {
include proxy_params;
proxy_pass http://unix:/home/yourProject/gunicorn.sock;
}
}
연결
sudo ln -s /etc/nginx/sites-available/yourProject /etc/nginx/sites-enabled
위 경로는 둘 다 절대경로를 넣어주어야 한다.
nginx -t
설정에 문제가 없는지 검사한 후 문제가 없다면, 재기동 한다.
systemctl restart nginx
7. 전체 방화벽 해제
ufw allow 'Nginx Full'
반응형
'Django' 카테고리의 다른 글
[Django] TestCase 이용해서 테스트 코드 짜기 (0) | 2021.01.14 |
---|---|
[GCP] django 개발서버 배포하기 (0) | 2021.01.13 |
pillow - 이미지 리사이즈 하기 | Django (0) | 2020.05.08 |
Django에서 하나의 폼으로 여러 테이블에 데이터 작성하기 | transaction.atomic (0) | 2020.03.29 |
한 페이지에서 여러 개의 폼(forms) 다루기 | Django (1) | 2020.03.28 |
Comments