Ubuntu+Django+Apache配置方法

2022-06-29 18:13:39 浏览数 (1)

网友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就可以了

0 人点赞