网友Liu xu最新分享(2017.1.10) 全新服务器下配置Django项目(运行模式:Ubuntu Django Apache2 Mod_wsgi) 见 http://www.linuxidc.com/Linux/2017-01/139417.htm
--------------------以下内容可能太古老而不行--------------------
1.安装apache2 和libapache2-mod-wsgi
sudo apt-get install apache2 libapache2-mod-wsgi
2.安装Django
从官网下载,解压后安装,这个很容易,不说了
3.创建Django项目
最好不要将创建的项目放在apache的默认目录下,这里我们在home目录下用户文件夹下新建一个文件夹
cd home cd sh3llc0der mkdir work
然后在work目录下创建我们的项目
django-admin.py createproject hello
创建成功后会生成一个hello的工程文件,里面包含另一个hello文件夹和manage.py等,可以通过manage.py来运行Django的测试服务器,但这里我们目的是通过Apache来访问。
4.配置wsgi
注意这里apache安装后的配置文件位于”/etc/apache2/sites-available/“目录下,前面在网上找资料都说是httpd.conf,真是坑爹,都没人试一试,抄来抄去,有你麻痹的意思啊
创建wsgi文件:
sudo nano /home/sh3llc0oder/work/hello/apache/django.wsgi
写入以下内容:
import os
import sys
path = '/home/sh3llc0der/work/hello'
if path not in sys.path:
sys.path.insert(0, '/home/sh3llc0der/work/hello')
os.environ['DJANGO_SETTINGS_MODULE'] = 'hello.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
首先修改一下host文件,将域名testmydjango.com指向127.0.0.1
现在我们需要创建一个自己的站点:
sudo nano /etc/apache2/sites-available/hello.conf
写入以下内容:
ServerName hello.djangoserver DocumentRoot /home/sh3llc0der/work/hello
/home/sh3llc0der/work/hello> Order allow,deny Allow from all
WSGIDaemonProcess testdjango.com processes=2 threads=15 display-name=%{GROUP} WSGIProcessGroup testdjango.com
WSGIScriptAlias / /home/sh3llc0der/work/hello/apache/django.wsgi
注意WSGIDaemonProcess和WSGIProcessGroup里面是我们的域名 然后我们激活创建的站点: sudoa2ensitehello sudo/etc/init.d/apache2reload 重启一下apache sudo/etc/init.d/apache2restart 访问testdjango.com
如果遇到服务器403的错误,那么可能是你的"/"目录被禁止访问(默认) 修改一下apache2.conf文件(位于/etc/apache2/) 把Require all denied改为Allow from all就可以了