ubuntu12.04 server + apache2 + wsgi + django1.6 部署

时间:2022-04-17 09:04:20

最近在学Python和Django,想自己部署一个服务器试试

环境:ubuntu12.04 server | apache2 | django1.6 | python2.7 | mod_wsgi

在网上找了好多参考都不起作用,不是老版本的方法就是过于复杂

今天柳暗花明又一村,在Django官网(djangoproject.com)上找到了最简单的方法:

1. 安装apache2:

sudo apt-get install apache2

apache2相关的操作:

启动:sudo service apache2 start

停止:sudo service apache2 stop

重启:sudo service apache2 restart(更改配置后的常用操作)

启动测试:在浏览器中输入http://localhost

配置文件的位置:

可执行程序:/usr/sbin/apache2

配置文件:/etc/apache2

网站文件:/var/www

(网站的默认位置可以在/etc/apache2/sites-available/default中更改,修改DocumentRoot /var/www改成自己的网站存放地址即可)

apache2主要配置为/etc/apache2/apache2.conf,但是并没有配置所有的东西,端口配置在ports.conf,网站根目录在/etc/apache2/sites-available/default,额外的配置可以写在httpd.conf中(默认为空,会被主配置用Include httpd.conf语句引入)

2. 安装mod_wsgi.so:

2.x python:

sudo apt-get install libapache2-mod-wsgi

3.x python:

sudo apt-get install libapache2-mod-wsgi-py3

3. 安装Django1.6:

sudo pip install django

(pip是python三方包的安装模块,如果没有安装可先用sudo apt-get install python-pip来安装)

建立工程:

在/var/www下面建立工程(cd /var/www)

sudo django-admin.py startproject mysite
文件结构如下:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py

4. 配置httpd.conf:

采用wsgi部署Django的详细过程可参考Django的官方网站(https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/modwsgi/)

在httpd.conf里加入:

WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com <Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

5. 重启apache2:

sudo service apache2 restart

DONE!