配置环境
ubuntu 16.04
Apache 2.4
Python 3.5+
web框架:django 和 flask
django和flask框架都属于Python类的框架,Apache部署这类Python程序有几种选择,这里使用的是mod_wsgi模块来进行耦合。这里参考了一个国外的网站Digital Ocean。他们的网站内容写的确实比较优秀,两个框架的部署问题均是在这个网站上得到解答的,至于国内一众文章真的是浪费大家的时间。
django框架的部署配置文件
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName ***.getyo.cn
# 静态文件(js/css/images)的存放位置
Alias /static/ /var/www/mysite/myapp/static/
<Directory /var/www/mysite/myapp/static/>
Require all granted
</Directory>
# 最重要的!通过wsgi.py让Apache识别这是一个Django工程,别漏掉前边的 /
WSGIDaemonProcess mysite python-home=/var/www/mysite/myapp python-path=/var/www/mysite
WSGIProcessGroup mysite
WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
flask框架的部署
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName ***.getyo.cn
# 静态文件(js/css/images)的存放位置
Alias /static/ /var/www/untitle/app/static/
WSGIScriptAlias / /var/www/untitle/ws.wsgi
<Directory /var/www/untitle/>
Require all granted
</Directory>
<Directory /var/www/untitle/app/static/>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
这两个部署方式大同小异,主要是静态文件以及wsgi文件的链接。