-
Notifications
You must be signed in to change notification settings - Fork 0
20170826_GCP2nd
SBJang edited this page Sep 2, 2017
·
2 revisions
- pip로 설치 후 확인
sudo pip3.6 install virtualenv
virtualenv --version // 설치 확인
- virtualenvwrapper 설치
sudo pip3.6 install virtualenvwrapper
- virtualenvwrapper 설정
# [~/.bashrc] 파일 마지막 줄에 아래 내용 추가
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6
export WORKON_HOME=~/Env
source /usr/bin/virtualenvwrapper.sh- 가상환경 생성
mkvirtualenv mysite
# 생성 후 자동으로 접속 되고 프롬프트 맨 앞에 (가상환경명)이 붙는다
# 가상환경에서 django 설치하고 프로젝트 들어가기
(mysite) ~$ pip3.6 install django
(mysite) ~$ cd ~
(mysite) ~$ django-admin.py startproject mysite
(mysite) ~$ cd ~/mysite
(mysite) ~$ vim mysite/settings.py
# ... 개인 설정 마치고 테스트 (장고 개발서버)
(mysite) ~$ ./manage.py runserver 0:8080
# 빠져나오기 & 다시 가상환경
(mysite) ~$ deactivate
~$ workon mysite-
WSGI란?
- Web Server Gateway Interface의 약자
장고 연동 참고 : https://docs.djangoproject.com/ko/1.11/howto/deployment/wsgi/uwsgi/
- 설치
가상환경에서 빠져나와서 수행
sudo yum install -y python36u-devel gcc
sudo pip3.6 install uwsgi- mysite 환경 설정
sudo mkdir -p /etc/uwsgi/sites
sudo vim /etc/uwsgi/sites/mysite.ini[uwsgi]
project = mysite
username = 사용자명
base = /home/%(username)
chdir = %(base)/%(project)
home = %(base)/Env/%(project)
module = %(project).wsgi:application
master = true
processes = 1
uid = %(username)
socket = /run/uwsgi/%(project).sock
chown-socket = %(username):nginx
chmod-socket = 660
vacuum = true
# 로그파일
logto = /var/log/uwsgi/%(project).log- 서비스 파일 생성
# sudo vim /etc/systemd/system/uwsgi.service
[Unit]
Description=uWSGI Emperor service
[Service]
ExecStartPre=/usr/bin/bash -c 'mkdir -p /run/uwsgi; chown cs_sbsoft:nginx /run/uwsgi'
ExecStart=/usr/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=all
[Install]
WantedBy=multi-user.target- 서비스 모드로 시작
sudo systemctl start uwsgi
# 부팅시 자동 시작
sudo systemctl enable uwsgi
- 설치
sudo yum install nginx
# 설치 확인
nginx -v
# 부팅시 자동 시작
sudo systemctl enable nginx- uwsgi 로 설정된 장고 mysite 연동 설정
# sudo vim /etc/nginx/conf.d/mysite.conf
server {
listen 8000;
listen [::]:8000;
server_name 서버도메인 서버아이피;
location = favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/사용자명/mysite;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/mysite.sock;
}
}- 유저(나)를 nginx 그룹에 추가 후 재시작
sudo usermod -a -G cs_sbsoft nginx
sudo chmod 710 /home/cs_sbsoft
sudo systemctl restart uwsgi
sudo systemctl restart nginx- 8000번 포트로 접속해서 확인하기!
#문의가 있으시다면 GDG Slack #incheon 채널에서 말씀해 주세요 :D