윈도우용 SSH 터미널 프로그램 (MobaXterm) 설치
윈도우용 SSH 터미널 프로그램 (MobaXterm) 설치 - ubuntu기반
다운로드 : mobaxterm.mobatek.net/download.html
설정 :
1. Session 아이콘 click
2. Basic SSH setting : Remote host : 고정IP 입력
3. Specify username ubuntu 체크
4. User Private key : ssh Key 파일 위치 지정
5. OK
준비작업 :
1) 서버 시간 설정 : UTC -> KST
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
2) python 설치 확인 – 기본 설치되어 있음
python3
3) ubuntu 최신 업데이트
sudo apt update
4) python3-venv 패키지 설치
sudo apt install python3-venv
5) projects, venvs 디렉터리 생성
ubuntu@jumpto:~$ mkdir projects
ubuntu@jumpto:~$ mkdir venvs
ubuntu@jumpto:~$ ls
projects venvs
# ubuntu@jumpto:~$ 프롬프트에서
'~'는 홈 디렉터리인 /home/ubuntu를 의미
6) 가상 환경 설치
ubuntu@jumpto:~$ cd venvs
ubuntu@jumpto:~/venvs$ python3 -m venv mysite # mysite 폴더에 가상환경 생성
ubuntu@jumpto:~/venvs$ cd ~/venvs/mysite/ bin
ubuntu@jumpto:~/venvs/mysite/bin$ . activate # '.' 과 'activate' 사이에 공백
(mysite) ubuntu@jumpto:~/venvs/mysite/bin$
7) wheel 패키지 설치
(mysite) ubuntu@jumpto:~/venvs/mysite/bin$ pip install wheel
8) django와 markdown 패키지 설치
(mysite) ubuntu@jumpto:~/venvs/mysite/bin$ pip install django==4.0.3
(mysite) ubuntu@jumpto:~/venvs/mysite/bin$ pip install markdown
9) 파이보App 설치 : 깃허브 원격 저장소 -> projects
(mysite) ubuntu@jumpto:~/venvs/mysite/bin$ cd ~/projects
(mysite) ubuntu@jumpto:~/projects$
(mysite) ubuntu@jumpto:~/projects$ git clone <git저장소 주소> mysite
(mysite) ubuntu@jumpto:~/projects$ ls
mysite
10) 데이터베이스 생성
이제 다음처럼 mysite 디렉터리에 진입한 후 장고 서버를 실행해 보자.
(mysite) ubuntu@jumpto:~/projects$ cd mysite
(mysite) ubuntu@jumpto:~/projects/mysite$ python manage.py migrate
(mysite) ubuntu@jumpto:~/projects/mysite$ python manage.py runserver
11 ) ALLOWED_HOSTS 설정 – local host에서 (config/setting/base.py)
ALLOWED_HOSTS =['3.37.58.70']
(mysite) c:\projects\mysite>git add *
(mysite) c:\projects\mysite>git commit -m "ALLOWED_HOSTS 변경"
(mysite) c:\projects\mysite>git push
그리고 AWS 터미널로 다시 돌아와 git pull 명령으로 깃허브에서 변경된 내용을 가져온다.
(mysite) ubuntu@jumpto:~/projects/mysite$ git pull
장고서버 실행
(mysite) ubuntu@jumpto:~/projects/mysite$ python manage.py runserver 0:8000
# 0:8000에서 0 - '외부에서 이 서버에 접속할 수 있도록 아이피를 개방한다'는 의미
# 8000의 - 8000번 포트로 접속 허용
이제부터 누구나 웹 브라우저에서 3.37.58.70:8000을 입력하면 여러분의 파이보 서비스를 사용할 수 있다.
settings.py 분리
로컬서버 / 원격서버에서 동시 구동을 위한 설정 : config / settings.py -> 디렉터리
base.py : settings.py 파일을 base.py라는 이름으로 변경 / 수정
BASE_DIR = Path(__file__).resolve().parent.parent.parent
local.py
from .base import *
ALLOWED_HOSTS = []
prod.py
from .base import *
ALLOWED_HOSTS = ['3.37.58.70']
prod.py 파일에는 서버 환경에 맞게끔 ALLOWED_HOSTS 항목에 서버의 고정 아이피를 등록하였다. 이렇게 수정하면 mysite/config 디렉터리의 구조는 다음과 같을 것이다. 디렉터리 구조와 파일명을 확인하자.
settings 옵션
1. 로컬환경에서 서버를 구동 실현
(mysite) c:\projects\mysite>python manage.py runserver --settings=config.settings.local
--settings 옵션은 장고서버가 읽어야 할 설정파일을 지정하는 옵션
접속시도 : http://127.0.0.1:8000
위의 기능 동일 구현
1) 환경변수를 이용
(mysite) c:\projects\mysite>set DJANGO_SETTINGS_MODULE=config.settings.local
(mysite) c:\projects\mysite>python manage.py runserver
2) 환경변수를 이용한 로컬 설정 자동화
mysite.cmd 파일 생성 및 구동
DJANGO_SETTINGS_MODULE 환경 변수를 이전에 만들었던 mysite.cmd 파일에 추가하면 더욱 편리하게 개발 환경에서 장고 서버를 구동할 수 있다.
[ 파일명: c:\projects\mysite\local_conf.cmd ]
@echo off
cd c:/projects/mysite
set DJANGO_SETTINGS_MODULE=config.settings.local
c:/venvs/mysite/scripts/activate
mysite.cmd 파일로 가상 환경에 진입하면 DJANGO_SETTINGS_MODULE 환경 변수가 자동으로 설정되므로 별다른 설정 없이 python manage.py runserver 명령으로 서버를 실행할 수 있다.
c:\projects\mysite>local_conf
(mysite) c:\projects\mysite>python manage.py runserver
[ 참조 ] 맥OS 환경변수 추가하기
[파일명: /Users/pahkey/.zshrc]
alias mysite='export DJANGO_SETTINGS_MODULE=config.settings.local;
cd /Users/pahkey/projects/mysite;
source /Users/pahkey/venvs/mysite/bin/activate'
2. 원격 서버 구동 실현
(mysite) c:\projects\mysite>python manage.py runserver --settings=config.settings.prod
접속시도 : http://0:8000/
1) 서버 환경 설정
서버에서는 파이참과 같은 편집기를 사용할 수 없으므로 여기서는 nano 편집기를 사용하자.
(mysite) ubuntu@jumpto:~/projects/mysite$ cd /home/ubuntu/projects/mysite
(mysite) ubuntu@jumpto:~/projects/mysite$ nano mysite.sh
[ 파일명: /home/ubuntu/projects/mysite/remote_conf.sh ]
#!/bin/bash
cd ~/projects/mysite
export DJANGO_SETTINGS_MODULE=config.settings.prod
. ~/venvs/mysite/bin/activate
nano 편집기에서 다음 내용을 입력하고 <Ctrl+O>를 눌러서 remote_conf.sh 파일을 저장한 뒤 <Ctrl+X>를 눌러서 편집기를 종료하자.
그리고 터미널에서 mysite.sh 파일을 다음과 같이 실행하자.
ubuntu@jumpto:~/projects/mysite$ . remote_conf.sh
(mysite) ubuntu@jumpto:~/projects/mysite$
이제 remote_config.sh 파일을 실행하면 가상 환경 진입과 환경 변수 설정을 자동으로 할 수 있다.
이때 . remote_config.sh 앞에 있는 점 기호 . 입력을 잊지 말자.
[ 참조 ] alias를 이용하는 방법
서버 홈 디렉터리의 .profile 파일 맨 아랫줄에 다음과 같이 mysite라는 alias를 추가하면 mysite.sh 파일을 이용하는 것보다 더 간편하게 가상 환경 진입과 환경 변수 설정을 할 수 있다.
[파일명: /home/ubuntu/.profile] – nano 편집기로 작성
alias mysite='export DJANGO_SETTINGS_MODULE=config.settings.prod;cd ~/projects/mysite;. ~/venvs/mysite/bin/activate'
이렇게 설정하고 터미널에 접속한 다음 아무 곳에서나 mysite를 입력하면 된다.
ubuntu@jumpto:~$ mysite
(mysite) ubuntu@jumpto:~/projects/mysite$
'DoItDJango' 카테고리의 다른 글
aws 호스팅3 (0) | 2023.04.28 |
---|---|
aws 호스팅2 (0) | 2023.04.28 |
sendgrid를 통한 메일 전송 (0) | 2023.04.18 |
Chapter 10: Bootstrap (0) | 2023.04.17 |
User Authentication (0) | 2023.04.17 |
댓글