linux 部署Django + apache2 + python3

来源:互联网 发布:ubuntu emuleweb 编辑:程序博客网 时间:2024/05/30 13:41

之前在本地部署了Django的restful应用Django 从零开始实现简单的restful应用
现在把它部署到服务器上

安装

在部署过程中,很多需要的东西之前已经安装好,所以

python 3

我的服务器是ubuntu 16.04,预装了python2.7,django可以支持python2和3

sudo apt-get install python3

apache2

sudo apt-get install apache2  apache2-doc

django

和在本地一样,使用pip或者其他方式安装

mod_wsgi

使用mod_wsgi 让apache支持django
到官网下载
或者sudo apt-get install libapache2-mod-wsgi-py3

配置

先配置好Django,保证可以正常运行
打开apache2的sites-available目录,一般在/etc/apache2/sites-available
新建 一个conf文件

<VirtualHost *:80>        ServerName yourservername        DocumentRoot /home/ubuntu/djdir/cloud        <Directory  /home/ubuntu/djdir/cloud/cloud>            <Files wsgi.py>                 Require all granted            </Files>        </Directory>        WSGIScriptAlias / /home/ubuntu/djdir/cloud/cloud/wsgi.py                Alias /cloud/static/ /var/www/cloud/static</VirtualHost>WSGIPythonPath /home/ubuntu/djdir/cloud

DocumentRoot :django项目的目录
Directory:wsgi.py所在目录
WSGIScriptAlias 第一个参数是URL路径 第二个是wsgi.py的路径
Alias 静态文件路径
WSGIPythonPath 与DocumentRoot相同

注册站点

sudo a2ensite cloud.confsudo service apache2 reload   

此时直接访问站点
这里写图片描述