新博客地址:http://muker.net/django-server.html

手头需要部署一个Django项目,前面的博客也因为偷懒也没有部署,这里记录一下部署过程。
ps:其实网上比较靠谱的说明还真不好找
服务器系统:Ubuntu14.04 32位
这里使用比较常用的apache2 和 mod_wsgi来部署
如果你也是刚开的服务器记得

sudo apt-get update

首先安装这两个软件:

sudo apt-get install apache2 libapache2-mod-wsgi

我这里的版本号:

# apachectl -v
Server version: Apache/2.4.7 (Ubuntu)
Server built: Mar 10 2015 13:05:59

接下来可以在服务器上安装一下Django并创建一个项目用作后面的测试,首先安装pip

sudo apt-get install python-pip

然后安装Django并且创建一个Django项目(自己选好创建的位置):

pip install django==1.6
django-admin.py startproject yourprojectname

我的项目地址在:/home/projects/dlsPro
Django的测试项目已经创建好了,接下来配置apache2
首先创建一个新的一个网站配置文件(vi用不习惯可以用nano):

sudo vi /etc/apache2/sites-available/sitename.conf

内容如下:

<VirtualHost *:80>
ServerName www.yourdomain.com
ServerAlias otherdomain.com
ServerAdmin muker715@aliyun.com Alias /media/ /home/projects/dlsPro/media/
Alias /static/ /home/projects/dlsPro/static/ <Directory /home/projects/dlsPro/media>
Require all granted
</Directory> <Directory /home/projects/dlsPro/static>
Require all granted
</Directory> WSGIScriptAlias / /home/projects/dlsPro/dlsPro/wsgi.py <Directory /home/projects/dlsPro/dlsPro>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>

上面的配置中写的 WSGIScriptAlias / /home/projects/dlsPro/dlsPro/wsgi.py 把apache2和你的网站联系起来了
但为了让脚本找到django项目的位置,得再修改下/home/projects/dlsPro/dlsPro/wsgi.py文件
在其中添加以下几行:

from os.path import join,dirname,abspath

PROJECT_DIR = dirname(dirname(abspath(__file__)))
import sys
sys.path.insert(0,PROJECT_DIR)

最后文件像这样:

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dlsPro.settings")
from os.path import join,dirname,abspath PROJECT_DIR = dirname(dirname(abspath(__file__)))
import sys
sys.path.insert(0,PROJECT_DIR) from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

接下来保存更改,我们去启用新网站:

sudo a2ensite sitename.conf

根据提示我们还需要重新载入apache2:

service apache2 reload

此时去观察首页:

竟然还是apache2的默认页面。
这时看一下/etc/apache2/sites-enabled目录
发现有下面两个文件:

# ls
000-default.conf sitename.conf

default.conf是默认生成的,我们自己生成了新的设置之后就不再需要它了,所以删之并重新载入服务:

rm 000-default.conf
service apache2 reload

这时再刷新一下:

熟悉的界面出现在眼前,大功告成。

Django项目部署(阿里云)(1)--基本功能实现的更多相关文章

  1. vue+express+mysql项目总结(node项目部署阿里云通用)

    原文发布于我的个人博客上:原文点这里   前面经历千辛万苦,终于把博客的所有东西都准备好了,现在就只等部署了.下面我介绍下我的部署过程: 一.购买服务器和域名   如果需要域名(不用域名通过ip也可以 ...

  2. Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统

    Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...

  3. Django项目部署在Linux下以进程方式启动

    Django项目部署在Linux下以进程方式启动 这是一篇关于如何在linux下,以后台进程的方式运行服务,命令改改基本上就通用了. 开发完Django项目后,需要把项目部署到linux环境下.当然, ...

  4. 使用gunicorn将django项目部署到生产环境的子目录下,在nginx后端获取客户真实IP地址

    生产环境有时,并不是为了一个项目而存在的.毕竟,域名是比较稀有的. 今天遇到这个问题,解决了.作个记录. 并且,如果将django项目部署在Nginx后面,那如何获取用户真实的IP地址呢? 下面就来解 ...

  5. Maven项目使用阿里云的Maven库

    Maven项目下载一些jar包非常慢,有时候一个项目能下一个上午,因此可以考虑使用阿里云的Maven库,因为是国内的,所以下载速度非常酷 单个项目使用阿里云的Maven库: pom文件中 <!- ...

  6. Django项目部署(django+guncorn+virtualenv+nginx)

    一.说明 为了django项目部署到生产环境上,能够稳定的运行,且能够同时指出http和https的访问,对django的部署进行了一些研究,决定采用django + gunicorn + virtu ...

  7. JAVA项目部署到云服务器

    转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...

  8. django项目部署过程

    django项目部署过程 1.上传代码 用git或者其他工具,如scp 代码上传后保证每个应用下的migrations文件夹里只有一个__init__.py文件,自己的迁移文件不要上传上来,具体的gi ...

  9. 如何将你的 Vue.js 项目部署在云开发静态托管之上

    云开发静态托管是云开发提供的静态网站托管的能力,静态资源(HTML.CSS.JavaScript.字体等)的分发由腾讯云对象存储 COS 和拥有多个边缘网点的腾讯云 CDN 提供支持. 在云开发静态托 ...

  10. Windows下django项目部署 通过Apache2.4+mod_wsgi

    经过几天踩坑,记录在Windows10下通过Apache2.4部署Django项目的过程 运行环境: 先说下环境,怎么安装倒是其次的,版本很重要,我是根据mod_wsgi的版本要求下载的各个版本(py ...

随机推荐

  1. 【转】asp.net 项目在 IE 11 下出现 “__doPostBack”未定义 的解决办法

    最近我们运营的网站有用户反馈在 IE 11 下<asp:LinkButton> 点击出现 “__doPostBack”未定义”,经过一番google,终于知道了原因:ASP.NET 可能无 ...

  2. cocos2d-x入门二 helloworld实例运行与创建

    本机环境:win7+VS2012+python2.7.8+cocos2d-x-3.8,另外本机已经配置android开发环境(java+eclipse+SDK+ADT),针对环境搭建后续会有一篇详细说 ...

  3. shell脚本中case select 的使用

    #!/bin/bash # case echo "1.Install PHP" echo "2.Install Mysql" echo "3.Inst ...

  4. LeetCode第[88]题(Java):Merge Sorted Array(合并已排序数组)

    题目:合并已排序数组 难度:Easy 题目内容: Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as ...

  5. jQuery中兄弟元素、子元素和父元素的获取

    我们这里主要总结jQuery中对某元素的兄弟元素.子元素和父元素的获取,原声的Javascript代码对这些元素的获取比较麻烦一些,而jQuery正好对这些方法进行封装,让我们更加方便的对这些元素进行 ...

  6. java代码实现递归

    think in java 书中使用递归分析 代码如下: public class Snake implements Cloneable { private Snake next; private c ...

  7. selenium的三种等待时间设置

    为了提高脚本的稳定性,我们需要在脚本中增加等待时间 第一种:强制等待 Thread.sleep():固定休眠时间设置,Java的Thread类里提供了休眠方法sleep,导入包后就能使用 sleep( ...

  8. Android Studio 3.0 及个版本下载和 gradle 各版本下载

    Android Studio 3.0 下载地址: 链接:http://pan.baidu.com/s/1jHVuOQi 密码:3pd0 Android Studio 3.0 包含了三大主要功能: 一套 ...

  9. IOS UI-键盘处理和UIToolbar

    // // ViewController.m // IOS_0225-键盘处理和UIToolBar // // Created by ma c on 16/2/25. // Copyright © 2 ...

  10. 转:HDFS运行原理

    简介 HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.是根据google发表的论文翻版的.论文为GFS(Google File System)Go ...