Ubuntu apache2 wsgi 部署django

在ubuntu上部署django其实还算简单直观,最重要的问题就是路径设置正确。

一,安装python 和django。这个很简单,django用pip安装就可以。就不解释了。

二,安装apache2 和 wsgi。

这里用的是apt-get.

sudo apt-get insall apache2

sudo apt-get install libapache2-mod-wsgi

需要注意的是,如果之前安装配置过apache2的并且配置很乱,无法修复,建议还是完全卸载之后在安装。完全卸载的命令:

$ sudo apt-get --purge remove apache-common

$ sudo apt-get --purge remove apache*

安装完以后,去 /etc/apache2/ 下的 mods-available 和mods-enabled 中查看是否都存在 wsgi.conf 和wsgi.load 两个文件。

三、配置apache 和 wsgi

(PS.假设你是在目录/var/www/mysite 下面 django-admin.py startproject testproject ).

1、apache的配置:

在/etc/apache2/site-available中新建一个文件 testdjango.conf (PS.写的时候把中文注释都删除)

<VirtualHost *:80>

ServerName testproject.djangoserver 

 #ServerName这个无所谓,只要在host中把你的ip地址映射到这个上面就可以了。不想改host最简单的方法就是用 sudo a2dissite 000-default.conf 等虚拟主机给disable掉,只留 testdjango.conf。(PS.在site-enabled中的site是enable的,可以根据这个来查看)

DocumentRoot /var/www/mysite/testproject

# 这一条是指向网站的根目录

<Directory /var/www/mysite/testproject>

Order allow,deny

Allow from all

</Directory>

WSGIDaemonProcess .djangoserver processes=2 threads=15 display-name=%{GROUP}

WSGIProcessGroup testproject.djangoserver

#这里的testproject.djangoserver 对应前面的ServerName 

WSGIScriptAlias / /var/www/mysite/testproject/apache/django.wsgi

# (/和/var...中间是有空格的)是将后面的那个路径指向网站的根目录。第一个“/”表示外部访问时的网站根目录,当有新的requset的时候,apache从这里开始解析。

</VirtualHost>

2、wsgi的配置

在 /var/www/mysite/testproject/下新建dir:apache 。在./apache下新建文件django.wsgi。(文件名对应前面的WSGIScriptAlias第二个路径下的文件名)

import os

import sys

path = ‘/var/www/mysite‘

if path not in sys.path:

sys.path.insert(0, ‘/var/www/mysite/testproject‘) #将网站工程目录临时加入ubuntu系统环境中

os.environ[‘DJANGO_SETTINGS_MODULE‘] = ‘ testproject.settings‘

 #新建一个环境变量DJANGO_SETTINGS_MODULE,目的是指向网站工程的settings.py,这里

#用‘ testproject.settings‘

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

配置完成以后

sudo a2ensite testdjango.conf

sudo service apache2 reload

然后浏览器http://127.0.0.1 就可以看见django的初始页面了。

PS.出错的话,一定要多看看apache2的err log。

命令行输入: tail /var/log/apache2/error.log

如果遇到服务器403的错误,那么可能是你的"/"目录被禁止访问(默认)
修改一下apache2.conf文件(位于/etc/apache2/)
把Require all denied改为Allow from all就可以了

时间: 2024-10-19 17:42:20

Ubuntu apache2 wsgi 部署django的相关文章

Apache2.4部署django出现403 Forbidden错误解决办法

前言:Apache部署django出现403 Forbidden错误最好要结合apache中的错误日志来观察出现何种错误导致出现403错误 下午百度了一下午没找到解决办法,试了n种方法,简直坑爹! 比如网页出现最多的解决办法是: <Directory E:/wamp/Apache24/www(你的工程路径)>           Order allow,deny           Allow from all       </Directory> 可惜这样改了后还是报403,最后

基于nginx和uWSGI在Ubuntu系统上部署Django项目

1. nginx1.1 安装sudo apt-get install nginx1.2启动.停止和重启sudo /etc/init.d/nginx startsudo /etc/init.d/nginx stopsudo /etc/init.d/nginx restart或者sudo service nginx startsudo service nginx stopsudo service nginx restart2. uWSGI安装用python的pip安装最简单:apt-get inst

Ubuntu环境下部署Django+uwsgi+nginx总结

前言 这是我在搭建Django项目时候的过程,拿来总结记录,以备不时之需. 项目采用nginx+uwsgi的搭配方式. 项目依赖包采用requirements.txt文件管理的方式. 本地准备工作 确认项目能够运行起来,没有bug 将当前环境的包导出 pip freeze > requirements.txt 将项目上传到服务器上的/srv目录下.这里以git的形式为例, 打开终端, 依次输入如下命令: $ git init $ git remote add origin xxx.git # 替

ubuntu python apache2 wsgi django框架

在ubuntu上通过apatch2和wsgi部署django (亲手做过!!!) 一,我的python.django.apatch2版本: python:python -V 2.7.3 django:python -c "import django; print(django.VERSION)" (1, 9, 4, 'final', 0) apache2:/usr/sbin/apachectl -v Server version: Apache/2.2.22 (Ubuntu) Serv

通过Nginx部署Django(基于ubuntu)

Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.nginx把所有静态请求自己来处理(这是NGINX的强项).然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求. 可见,uwsgi的作用就类似一个桥接器.起到桥梁的作用. Linux的强项是用来做服务器,所以,下面的整个部署过程我们选择在U

Apache2 部署 Django

环境: debian8 apache2.4.10                    #请注意自己的apache版本,不同版本配置文件结构差异很大 django1.10 python3.4 默认apache2已经安装 Django项目路径 /var/www/mysite --------------------------------------------------------------------------------------------------- 首先安装MOD_WSGI

Python 关于在ubuntu部署Django项目

Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.nginx把所有静态请求自己来处理(这是NGINX的强项).然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求. 可见,uwsgi的作用就类似一个桥接器.起到桥梁的作用. Linux的强项是用来做服务器,所以,下面的整个部署过程我们选择在U

ubuntu部署django详细教程

教程使用的软件版本:Ubuntu 18.04.1 LTS,django2.0,Python 3.6.5.nginx-1.13.7.uWSGI (2.0.17.1),Ubuntu是纯净的,全新的.下面我们开始来部署. 文章转自django中文网:Ubuntu部署Django项目方法详解 如果觉得看文字没意思,想看视频教程的,请点击这里:Django项目部署视频教程 一.更新操作系统和安装依赖包 #更新操作系统软件库 sudo apt-get update sudo apt-get upgrade

ubuntu部署django

刚装的Ubuntu,想试试django,以下是操作步骤 1.不相关的,安装ssh sudo apt-get update sudo apt-get install openssh-server /etc/init.d/ssh start 2.然后就可以通过X_shell来访问了,安装django sudo apt-get install python-django -y 3.看下django版本 python import django django.get_version() 输出1.8.1