最近在学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!