Python Web서버 구축 순서
①Python 라이브러리 설치
$ sudo apt install python3-venv python3-dev
②프로젝트 폴더 만들기
$ mkdir ~ / 프로젝트 명 ⇒ 프로젝트 폴더 만들기
$ cd ~ / 프로젝트 명 ⇒ 프로젝트 폴더 선택
③가상 환경 설정
$ python3 -m venv env ⇒ Python 실행 환경을 만들
$ source env / bin / activate ⇒ bin / activate 스크립트를로드
$ pip install uwsgi flask ⇒ uwsgi, flask 설치
④서버 실행 파일 만들기
$ sudo nano /프로젝트 폴더 이름/server.py
from flask import Flask
app = Flask (__ name__)
@ app.route ( "/")
def testserver () :
return "<h1 style = 'color : blue'> Hello python + uwsgi + flask Server! </ h1>"
if __name__ == "__main__":
app.run (host = '0.0.0.0')
⑤wsgi 실행 파일 만들기
$ sudo nano /프로젝트 폴더 이름/wsgi.py
from server
import app
if __name__ == "__main__":
app.run ()
⑥서버 설정 파일 생성
$ sudo nano /프로젝트 폴더 이름/server.ini
[uwsgi]
module = wsgi :
app master = true
processes = 1
socket = server.sock
chmod-socket = 666
vacuum = true
die-on-term = true
touch-reload = server.py
pythonpath = 프로젝트 폴더 경로
⑦Ubuntu 서비스 등록
$ sudo nano /etc/systemd/system/프로젝트 이름.service
[Unit]
Description = 프로젝트 설명
After = network.target
[Service]
User = <Ubuntu 사용자 이름>
Group = www-data
WorkingDirectory = /home/<Ubuntu 사용자 이름>/프로젝트 이름
Environment = "PATH =/home/<Ubuntu 사용자 이름>/프로젝트 명/env/bin"
ExecStart = /home/<Ubuntu 사용자 이름>/프로젝트 명/env/bin/uwsgi --ini server.ini
[Install]
WantedBy = multi-user.target
⑧Ubuntu 서비스 다시 시작
$ sudo systemctl start 프로젝트 명 ⇒ 프로젝트 서비스 시작
$ sudo systemctl enable 프로젝트 명 ⇒ 프로젝트 서비스 활성화
$ sudo systemctl status 프로젝트 명 ⇒ 프로젝트 서비스 상태 확인
⑨Nginx 설치
$ sudo apt-get install nginx ⇒ Nginx 서버 설치
$ nginx -v ⇒ Nginx 서버 버전 확인
$ sudo service nginx start ⇒ Nginx 서버 시작
⑩Nginx 서버 프로젝트 서비스 설정 ①
$ sudo nano /etc/nginx/sites-available/프로젝트 이름
server {
listen 80;
server_name 도메인 주소 또는 IP 주소;
location / {
include uwsgi_params;
uwsgi_pass unix : /home/<Ubuntu 사용자 이름>/프로젝트 이름/server.sock;
}
}
⑪Nginx 서버 프로젝트 서비스 설정 ②
$ sudo ln -s / etc / nginx / sites-available / 프로젝트 명 / etc / nginx / sites-enabled ⇒ 프로젝트를 Nginx 서버에 등록
$ sudo nginx -t ⇒ Nginx 서버 상태 확인
$ sudo systemctl restart nginx ⇒ Nginx 서버 재시작
'Ubuntu' 카테고리의 다른 글
Ubuntu 18.04 Python의 Oracle Cloud ADW 연동 작업1 (0) | 2021.02.26 |
---|---|
Oracle Cloud Object Storage의 Ubuntu 18.04 Python 관련 설정 (0) | 2021.02.25 |
Ubuntu 18.04 Docker(+Docker-Compose)+Mysql구축 (0) | 2021.02.24 |
Ubuntu 18.04 Python개발환경 구축2 (0) | 2021.02.23 |
Ubuntu 18.04 Python개발환경 구축1 (0) | 2021.02.23 |
댓글