Open cookk opened 6 years ago
sudo easy_install pip
pip --version
명령어로 설치 확인sudo pip install django
명령어로 django 설치django-admin
명령어로 django 설치 확인sudo yum install mod_wsgi
명령어로 mod_wsgi 설치django-admin startproject 장고_프로젝트명
명령어로 django project 생성 sudo yum install tree -y
명령어를 통해 설치sudo vi /etc/httpd/conf.d/파일이름.conf
를 통해(나는 이름을 django.conf로 지정했음) 설정 파일을 만들자'WSGIScriptAlias /' 뒤와 '<Directory' 뒤의 내용을 각자의 path에 맞게 수정하면 된다.
Listen 8080
<VirtualHost *:8080>
WSGIScriptAlias / /home/ec2-user/J4mbo_django_ch/J4mbo_django_ch/wsgi.py
<Directory /home/ec2-user/J4mbo_django_ch/J4mbo_django_ch>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
- 위의 코드는
- 기본적으로 80번 port는 listen을 하고 있지만, 우리는 장고를 8080번 port에서 사용할 것이므로 8080번 port listen 을 설정
- 요청 url의 / 아래 모든 요청은 /home/ec2-user/J4mbo_django_ch/J4mbo_django_ch/wsgi.py 를 호출
- wsgi.py 파일은 모든 접근을 allow 하도록 설정됨
- Django는 기본적으로 static 파일(이미지 파일, js, css 등)에 대한 접근을 허락하지 않으므로 따로 static 파일을 settings.py 에 설정하여 관리한다.
- 그러나 static 파일의 경우 굳이 wsgi를 통해 django로 오지 않아도 되므로, static 파일들은 conf 파일에 static 파일 경로를 추가로 설정하면 쉽게 처리가 가능하다.
- 따라서 `sudo vi /etc/httpd/conf.d/파일이름.conf`(나는 django.conf로 했었음) 명령어를 한번 더 실행하여 내용을 수정하자. ('Alias' 부터 '</Directory>'까지의 내용이 추가 되었다.) 'Alias /static/ '의 뒷부분을 자신의 경로에 맞게 수정하여 작성하면 된다.
-
Listen 8080 <VirtualHost *:8080>
Alias /static/ /home/ec2-user/J4mbo_django_ch/APP/static/
<Directory /home/ec2-user/J4mbo_django_ch/APP/static>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /home/ec2-user/J4mbo_django_ch/J4mbo_django_ch/wsgi.py
<Directory /home/ec2-user/J4mbo_django_ch/J4mbo_django_ch>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
## Django wsgi.py 설정
- 좀 전에 생성했던 프로젝트 내의 wsgi.py 파일을 vi 명령어를 이용해 수정하자(경로는 예를들어, /home/ec2-user/J4mbo_django_ch/J4mbo_django_ch/wsgi.py)
- 'sys'를 import하고 그 아래의 3줄을 추가하여 다음과 같은 코드가 되도록 수정
import os, sys
path = os.path.abspath(file+'/../..') if path not in sys.path: sys.path.append(path)
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_demo.settings")
application = get_wsgi_application()
- 그리고 settings.py의 'ALLOWED_HOSTS=[]'를 'ALLOWED_HOSTS=['*']'로 변경해준다
- `sudo apachectl restart`명령어를 통해 아파치를 restart한다
## Django HTTP Request&Response Test
- urls.py의 'urlpatterns =[ (원래_있던_코드) ]'에 'url(r'^$', views.homepage, name='home'),'를 추가
-
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
sudo yum install -y java-1.8.0-openjdk
sudo yum install -y go-server
sudo /etc/init.d/go-server [start|stop|status|restart]
명령으로 실행, 종료, 상태확인, 재시작
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
sudo yum install -y java-1.8.0-openjdk
sudo yum install -y go-agent
sudo /etc/init.d/go-agent [start|stop|status|restart]
명령으로 실행, 종료, 상태확인, 재시작
AWS EC2 인스턴스 생성 및 터미널 접속
'chmod 400 key파일'
명령으로 접근 권한 수정ssh -i key파일 ec2-user@ip주소
기본 환경 설정
sudo yum update
sudo yum install python3
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum -y install nodejs
sudo yum install gcc-c++ make
angular 설치 및 프로젝트 생성
sudo npm install --unsafe-perm --verbose -g @angular/cli
(왜인지 모르겠으나 그냥 install 하면 무한루프 현상있음)ng help
로 설치 확인ng new 프로젝트명
명령으로 프로젝트 생성ng serve
명령으로 개발용 서버 구동ng build --prod
명령으로 dist 디렉토리를 생성하고, apache를 통해서 서빙해야 함apache 설치 및 환경 설정
sudo yum install httpd
vi /etc/httpd/conf/httpd.conf
명령으로 apache config 수정(빌드된 angular dist를 서빙하도록 경로 설정)chmod 711 /home/ec2-user
명령으로 해당 계정의 디렉토리에 일반 사용자 실행권한을 줌sudo apachectl start
명령으로 apache 구동aws route 53 에서 도메인 구입 및 인스턴스 연결