CentOS + python + django + Apache + Oracle
CentOS 설치
pyton + django 설치
1. CentOS에 Python 3.7 설치
python 3.7.4 설치
# 필수 모듈 설치
$ sudo yum install gcc zlib-devel libffi-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libuuid-devel xz-devel
# Python다운
$ wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
# 압축해제
$ tar zxvf Python-3.7.4.tgz
$ cd Python-3.7.4
$ ./configure --enable-shared
# 디폴트로 설치된 2.7버젼과 병행사용(make install:기존 2.7을 덮어씀)
$ make altinstall
#
$ su root # <<== 안해도 되는듯...
$ export LD_LIBRARY_PATH=/usr/local/lib
설치확인
# 버전확인
$ python3.7 -V
# 설치경로 확인
$ which python3.7
1. CentOS에 Python 3.7 설치
python 3.7.4 설치
# 필수 모듈 설치
$ sudo yum install gcc zlib-devel libffi-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libuuid-devel xz-devel
# Python다운
$ wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
# 압축해제
$ tar zxvf Python-3.7.4.tgz
$ cd Python-3.7.4
$ ./configure --enable-shared
# 디폴트로 설치된 2.7버젼과 병행사용(make install:기존 2.7을 덮어씀)
$ make altinstall
#
$ su root # <<== 안해도 되는듯...
$ export LD_LIBRARY_PATH=/usr/local/lib
설치확인
# 버전확인
$ python3.7 -V
# 설치경로 확인
$ which python3.7
2. django 설치
2.1 pip
-
pip란?
- 파이썬으로 작성된 패키지 라이브러리를 관리해주는 시스템
- pip와 virtualenv는 글로벌 설치되어야 하는 유일한 패키지
- ubuntu의 apt-get
#
$ yum install epel-release
#
$ yum install python-pip
#
$ pip3.7 install pip --upgrade
2.2 가상환경
-
Virtualenv
- 사용자가 정한 임의의 디렉토리 밑에 독립적인 파이썬 개발 환경구축
- 단독 프로젝트일 경우 생략가능
# 프로젝트를 만들 폴더생성
# user계정(centos)으로 만들자(/home/centos/)
$ mkdir django
$ cd django
# 가상환경관리폴더 env생성
$ python3 -m venv myvenv
# 가상환경사용
$ source myvenv/bin/activate
(myvenv) [root@localhost mytest]
2.3 Django 설치
# 특정버전 장고설치
(myvenv) $ pip3.7 install Django==2.1.2
# 최신버전 장고설치
# Djangoの最新版だとApacheと連携したときにSQLiteのバージョンのエラーが出て起動できないので、
# 一つ古いバージョンをインストールする。(SQLiteの最新版を入れてもダメだった。)
(myvenv) $ pip3.7 install django
# 프로젝트폴더 생성
(myvenv) ~/django$ django-admin startproject mysite .
2.4 Apache
# 설치
$ yum install -y httpd-devel
# 방화벽 설정
$ firewall-cmd --permanent --zone=public --add-service=http
$ firewall-cmd --permanent --zone=public --add-service=https
$ firewall-cmd --reload
# 2.5 mod_wsgi 설치 후 실행
# 아파치 기동
$ systemctl enable httpd.service
$ systemctl start httpd.service
2.5 mod_wsgi
- PythonとApacheをつなぐもの
$ pip3.7 install mod_wsgi
# 환경파일 아파치 폴더에 복사
$ cp /usr/local/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so /etc/httpd/modules
- django.conf 생성
$ vim /etc/httpd/conf.d/django.conf
django.conf
LoadModule wsgi_module modules/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so
WSGIScriptAlias / /home/centos/django/mysite/wsgi.py
WSGIPythonPath /home/centos/django/
#virutalenvを使用している場合
#WSGIPythonHome /home/dekosuke/env/django-env
<Directory /home/centos/django/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
- settings.py 수정
$ cd mysite
$ vim settings.py
# settings.py 수정
ALLOWED_HOSTS = ["*"]
2.6 폴더 접근권한부여
フォルダにアクセスする権限の関係で開発する際は、SELinuxをdisabaleにしておいたほうがいい。
- SELinuxの設定
それでも発生するようなら、ファイルのアクセスを変更する
- Linux - Apache 설치후 페이지 접근시, 권한 에러
- chmod -R 755 公開するフォルダ
3. 참조
# Centos
$ /var/log/httpd/error_log
# Ubuntu
$ /var/log/apache2/error.log
# 마지막 2줄 확인
$ tail -2 /var/log/httpd/error_log
- 파이썬(Python) 3 업데이트 후 YUM 실행 시 SyntaxError: invalid syntax 에러
- Django2.2で開発サーバー起動時にSQLite3のエラーが出た場合の対応
Oracle 설치
1. 설치
python 3.7.4 설치
orcle/database 밑에 설치
$ pip3.7 install cx-Oracle --user
orcle/database 밑에 설치
$ pip3.7 install cx-Oracle --user
Author And Source
この問題について(CentOS + python + django + Apache + Oracle), 我々は、より多くの情報をここで見つけました https://qiita.com/keihit/items/47b8168684736a89aa8e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .