Debian 및 fedora 기반 서버에서 WSGI 및 Apache 또는 httpd를 사용하여 Flask 웹 앱 설정
[1] 종속성 설치
데비안
sudo apt-get install libapache2-mod-wsgi python-dev
pip3 install virtualenv
페도라
sudo dnf install python-dev python3-pip mod_wsgi
pip3 install virtualenv
[2] 파일 시스템 설정
mkdir /var/www/webapp
mkdir /var/www/webapp/logs
mkdir /var/www/webapp/static
touch app.py && touch webapp.wsgi
cd /var/www/webapp
virtualenv venv
source venv/bin/activate
pip install flask
app.py
콘텐츠from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
if __name__ == "__main__":
app.run()
webapp.wsgi
콘텐츠#!/usr/bin/python
import sys
import logging
activate_this = "/var/www/webapp/venv/bin/activate_this.py"
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, '/var/www/web-app/webapp')
with open(activate_this) as file_:
exec(file_.read(), dict(__file__=activate_this))
from app import app as application
[3] httpd 설정
페도라
/etc/httpd/conf.d/
에서 원하는 이름의 새 구성 파일을 만듭니다flaskwebapp.conf
.<VirtualHost *:80>
ServerName <you_server_ip>
ServerAdmin <email>
WSGIDaemonProcess <webapp> user=apache group=apache threads=5
WSGIScriptAlias / /var/www/webapp/webapp.wsgi
<Directory /var/www/webapp/>
Order allow,deny
Allow from all
</Directory>
#FOR FLASK STATIC FOLDER
Alias /static /var/www/web-app/webapp/static
<Directory /var/www/webapp/static/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
데비안
apache2를 실행하는 Debian 기본 시스템의 경우
.conf
에 /etc/apache2/sites-available/FlaskApp
를 만듭니다..conf
콘텐츠<VirtualHost *:80>
ServerName <you_server_ip>
ServerAdmin <email>
WSGIDaemonProcess <webapp> user=apache group=apache threads=5
WSGIScriptAlias / /var/www/webapp/webapp.wsgi
<Directory /var/www/webapp/>
Order allow,deny
Allow from all
</Directory>
#FOR FLASK STATIC FOLDER
Alias /static /var/www/web-app/webapp/static
<Directory /var/www/webapp/static/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
.conf
를 생성한 후 다음을 실행합니다sudo a2ensite <naem_of_the_conf_without_.conf>
.[4] Fedora의 컨텍스트 변경
프로젝트 폴더의 경우
cd /var/www
semanage fcontext -a -t httpd_sys_content_t './webapp(/.*)?'
restorecon -vvRF ./webapp
WSGI 스크립트의 경우
cd /var/www
semanage fcontext -a -t httpd_sys_script_exec_t './webapp/webapp.wsgi'
restorecon -vvRF ./webapp/webapp.wsgi
컨텍스트를 확인하려면
ls -ldZ <file_or_dir>
[5] 서버 새로 고침
sudo systemctl stop httpd
sudo systemctl start httpd
sudo systemctl enable httpd
상태를 확인하려면
sudo systemctl status httpd
Reference
이 문제에 관하여(Debian 및 fedora 기반 서버에서 WSGI 및 Apache 또는 httpd를 사용하여 Flask 웹 앱 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ishubhamsingh2e/flask-web-app-setup-using-wsgi-and-apache-or-httpd-on-debian-and-fedora-based-servers-2063텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)