在ubuntu16.04下使用apache2.4部署Python3 web方法一览

配置环境

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文件的链接。

猜你喜欢

转载自blog.csdn.net/qq_35882901/article/details/80236416