메뉴 건너뛰기

자료실

DATA

ubuntu server 18.04 LTS 에 apache2, django, mod_wsgi 설치

우분투서버는 최초 설치한 상태.

1. ubuntu 18.04에는 python3.6.5가 설치되어 있다. 이 버전을 그냥 사용하기위해 아래 명령어로 아파치웹서버와 mod_wsgi를 설치한다.

 

 

2. 파이썬 virtual environment를 설정한다.

파이썬 virtual environment를 사용하기 위해 virtualenv를 설치한다.

 

 

파이썬 테스트 프로젝트를 만들기위해 testproject디렉토리를 만든다.

 

 

테스트 프로젝트를 위한 파이썬 가상환경을 만든다.

 

 

가상환경을 활성화하면 아래처럼 프롬프트가 바뀐다.

 

 

가상환경에서 사용할 Django를 설치한다. 이때, 파이썬3 버전을 사용함에도 불구하고, pip3이 아닌 pip로 설치한다.

 

 

3. 새 장고 프로젝트를 만들고 설정한다.

장고 테스트 프로젝트 만들기

 

 

테스트 프로젝트 설정
장고 테스트프로젝트 디렉토리아래의 settings.py 에서 아래 항목을 찾아 수정 또는 추가한다.
나는 모든곳에서 접속을 허용하기 위해 ALLOWED_HOSTS에 *을 설정했다. 특정 ip주소에서만 접속을 허용하려면 아이피 주소를 열거해주면 된다.
(예, ALLOWED_HOTS=[‘192.168.0.1’, ‘192.168.0.20’]

 

 

이제, management 스크립트를 이용하여 SQLite 데이타베이스 스키마를 초기화하고 마이그레이션한다.

 

 

관리자를 만든다. 관리자 id, 이메일, 비밀번호를 설정한다.

 

 

아래 명령으로 디렉토리내에 static 콘텐츠를 수집한다. 프로젝트 디렉토리내의 static 디렉토리에 static화일이 복사된다.

 

 

방화벽을 사용하는 경우, 아래 명령으로 8000 포트 접근을 가능하도록 해 준다.

 

 

이제 웹서버를 실행하여 Django 서버를 실행하고 웹브라우저로 접속해 본다.

 

 


testproject 가상환경을 끝내기 위해 deactivate 명령을 실행한다.

 

 

4. 아파치 설정(mod_wsgi)

WSGI 를 설정하기 위해 아파치의 default virtual host 화일을 편집해야한다.

000-default.conf 화일에 아래 내용을 추가한다. 여기서 snowfox/testproject는 사용자계정과 이전에 만든 프로젝트 디렉토리이며 사용자에따라 달라지겠지?
static 화일에 접근할수 있도록 앨리어스와 권한을 부여해 준다.

 

 

마지막으로, wsgi가 데몬으로 실행되도록 설정해준다.

 

 

5. 기타 설정
sqlite3을 사용하는 경우, 프로젝트 디렉토리내에 db.sqlite3 화일이 생성되어 있다. 이 화일의 퍼미션을 664로 변경해주고, 아파치 프로세스가 접근 가능하도록 www-data 그룹으로 변경한다.

 

 

또한 아파치 프로세스가 프로젝트 디렉토리에 접근 가능하도록 소유 그룹도 변경한다.

 

 

방화벽을 사용하는 경우, 아래 명령어로 웹 접근이 가능하도록 해 준다.

 

 

6. 아파치 서버 재 실행
설정 이상있는지 확인하고, systemctl 명령으로 아파치 서버를 재기동한다.

 

 

이제, 80포트로 이전과 동일한 화면이 보일 것이다.

 


원문:
https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-16-04

++ apache2 modulenotfounderror no module named 'encodings'

아파치 로그에 이런게 출력될경우

python-home=/home/servers/servers 가상환경에 파이썬위치로 잡아준다.

 

 

번호 제목 글쓴이 날짜 조회 수
49 리액트 안드로이드 배포 2021 01.13 키스토어 파일을 보관을 생활화 합시다 소프터 2021.01.13 0
48 우분투 라라벨 설치 소프터 2021.01.04 1
47 우분투 18.04 도커(Docker) 설치 방법 소프터 2021.01.04 1
46 aws 대략가격 참고만 하세요 소프터 2020.12.28 6
45 [php] 비메오사용 정리 1 세팅 소프터 2020.12.22 0
44 [php ]두날짜 사이에 기간을 배열로 반환 하는 함수 소프터 2020.12.11 3
43 개인정보 보안관리 솔루션 가이드 소프터 2020.12.09 1
42 셀레리움을 이용한 로그인과 데이터 크롤링예제 윈도우 10 소프터 2020.12.07 5
41 파이어베이스 웹푸시 소프터 2020.11.28 26
40 리액트 웹뷰 멀티 팝업설정 소프터 2020.10.16 23
39 리액트 네이티브 스플레쉬 정리 소프터 2020.08.27 9
38 chrome 80 SameSite cookie CORS 보안 변경사항 php 대응 소프터 2020.07.22 247
37 phpMyAdmin 접속이 localhost 가 아닐경우 설정법. 소프터 2020.07.16 9
» [디장고] ubuntu 18.04 웹서버에 올리는법 소프터 2020.07.02 62
35 [장고] mysql 연결하기 우분투 18.04 소프터 2020.07.02 1
34 우분투에서 타임존 변경 소프터 2020.06.18 1
33 react-native-permissions NSBluetoothAlwaysUsageDescription 권한을 요청할떄 소프터 2020.06.10 10
32 리액트 블루투스 모듈 ios 에서 pod spec 소프터 2020.06.10 1
31 xcode 캐시 지우는법 소프터 2020.06.10 2
30 [REACT NATIVE] 패키지명, 번들명 변경하기 PACKAGE, BUNDLE [ANDROID, IOS] [1] 소프터 2020.05.29 476