1、安装python

  选择合适python2.7及以上版本安装https://www.python.org/downloads/

2、建立虚拟环境

  这不是必须的,但是建议使用,为每个项目单独引入依赖,避免出现环境问题。对于python3.3以下版本可参考https://virtualenv.pypa.io/en/stable/installation/,python3.3及以上版本参考https://docs.python.org/3/library/venv.html。

3、安装django-blog-zinnia

  • pip install django-blog-zinnia

4、建立django项目

  django-admin startproject mysite,mysite表示你的项目名称。django详细入门教程参考https://docs.djangoproject.com/en/1.11/intro/tutorial01/

5、修改mysite目录下的setting.py

  将INSTALLED_APPS 修改如下:

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.contenttypes',
'django_comments',
'mptt',
'tagging',
'zinnia',
)

  修改TEMPLATES

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
] STATIC_ROOT = os.path.join(BASE_DIR, "static/")
SITE_ID = 1#对应数据库中站点id

5、配置html文件

  在mysite文件夹中建立templates文件夹,将package中的模板,位于Lib\site-packages\zinnia\templates,拷贝到templates中,根据需要修改base.html中相关内容

  python manage.py collectstatic

6、迁移数据库

  运行 python mange.py  migrate,会自动创建相关数据库文件,使用的是sqlite3数据库,可以再setting.py中修改

7、创建管理员

  python manage.py createsuperuser,可通过访问http://127.0.0.1:8000/admin/ 进行发布文章

8、启动

  python mange.y runserver

demo参见https://demo.django-blog-zinnia.com/blog/

使用uWSGI和nginx来设置Django和你的web服务器

1、安装最新稳定版nginx

  参考http://nginx.org/en/linux_packages.html#stable,例如在centos6上,创建/etc/yum.repos.d/nginx.repo这个文件,写入以下内容,然后执行yun install nginx

  [nginx]
  name=nginx repo
  baseurl=http://nginx.org/packages/centos/6/$basearch/
  gpgcheck=0
  enabled=1

2、安装python3,服务器没有python3,可以用源码安装,注意centos6上源码安装的可能没有sqllite3包,可以通过如下方式解决

  yum install sqlite-devel

  ./configure --enable-loadable-sqlite-extensions && make && sudo make install

  参考http://stackoverflow.com/questions/1210664/no-module-named-sqlite3

3、配置nginx

upstream django {
server unix:///home/www/mysite/mysite.sock; # for a file socket,指向你启动uwsgi的目录的mysite.sock文件
#server 127.0.0.1:; # for a web port socket (we'll use this first)
} # configuration of the server
server {
# the port your site will be served on
listen ;
# the domain name it will serve for
server_name example.com; # substitute your machine's IP address or FQDN
charset utf-; # max upload size
client_max_body_size 75M; # adjust to taste # Django media
location /uploads {
alias /home/www/zinnia-blog/uploads; # your Django project's media files - amend as required
} location /static {
alias /home/www/zinnia-blog/static; # your Django project's static files - amend as required
} # Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
}
}

  将这个文件放置到nginx的配置目录,覆盖默认的配置就可以了。重启nginx

4、安装 uwsgi

  pip install uwsgi

5、启动服务

uwsgi --socket mysite.sock  --module mysite.wsgi --master -p 1 --threads 8 --daemonize log.txt

将会创建mysite.sock文件

django入门--django-blog-zinnia搭建个人博客的更多相关文章

  1. python关于Django搭建简单博客项目(详解一)

    上一篇我们说了如何搭建简易博客网站,下面我们来进行详细解答.本文没有特定顺序,请结合上一篇和源代码参照学习. 相关源代码和解析请参看:https://github.com/Cheng0829/mysi ...

  2. Django搭建简易博客

    Django简易博客,主要实现了以下功能 连接数据库 创建超级用户与后台管理 利用django-admin-bootstrap美化界面 template,view与动态URL 多说评论功能 Markd ...

  3. 从开发到部署,使用django创建一个简单可用的个人博客

    本文参考于: 简书-Django搭建简易博客教程:http://www.jianshu.com/p/d15188a74104 自强学堂-Django基础教程:http://www.ziqiangxue ...

  4. 这几天有django和python做了一个多用户博客系统(可选择模板)

    这几天有django和python做了一个多用户博客系统(可选择模板) 没完成,先分享下 断断续续2周时间吧,用django做了一个多用户博客系统,现在还没有做完,做分享下,以后等完善了再慢慢说 做的 ...

  5. 使用jekyll在GitHub Pages上搭建个人博客【转】

    网上有不少资源,但大多是“授人以鱼”,文中一步一步的告诉你怎么做,却没有解释为什么,以及他是如何知道的.他们默认着你知道种种专业名词的含义,默认着你掌握着特定技能.你折腾半天,查资料,看教程,一步步下 ...

  6. 使用github + Octopress 搭建免费博客 + 碰到问题的解决方法

    使用github + Octopress 搭建免费博客,先说碰到的问题,具体创建方法见下面. 问题1, 添加ruby淘宝链接问题,显示无法获取, 解决: source “http://ruby.tao ...

  7. 《Hexo+github搭建个人博客》

    <Hexo+github搭建个人博客> 文/冯皓林 完稿:2016.4.22-2016.4.23 注意:本节教程只针对Windows用户.本教程由无人赞助,赞助写出. <Hexo+g ...

  8. 基于Hexo+Node.js+github+coding搭建个人博客——基础篇

    附上个人教程:http://www.ookamiantd.top/2017/build-blog-hexo-base/ 搭建此博客的动机以及好处在此就不多谈了,之前已经表达过,详情请看Start My ...

  9. CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET

    http://blog.csdn.net/augusdi/article/details/12833235 CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET CUDA ...

  10. 如何用hexo+github搭建个人博客

    搭建环境 1.安装 Node.js: https://nodejs.org/en/ windows下点击链接,下载安装即可;Linux下更加简单,在终端下输入sudo apt-get install ...

随机推荐

  1. Fdisk 分区详解

    Fdisk 分区详解 来源 http://blog.itpub.net/20674423/viewspace-722812/ 1.             通过Fdisk查看系统分区详细信息: Fdi ...

  2. Oracle 同名字段的该行数据按照创建时间最新的隐藏其他

    1.需求,表  SYS_INFO   的 NAME 字段会重复,按照  创建时间CREATE_AT 字段,取最新一条,其他隐藏 SELECT * FROM (SELECT T.*,ROW_NUMBER ...

  3. Android 解决ScrollView嵌入ListView | GridView | ScrollView显示问题

    一.ScrollView中嵌套ListView ScrollView和ListView都是滚动结构,很明显如果在ScrollView中加入ListView,可以预见性的知道,肯定会有显示/滚动的问题, ...

  4. CF954F Runner's Problem(动态规划,矩阵快速幂)

    CF954F Runner's Problem(动态规划,矩阵快速幂) 题面 CodeForces 翻译: 有一个\(3\times M\)的田野 一开始你在\((1,2)\)位置 如果你在\((i, ...

  5. Nowcoder 练习赛 23 D Where are you 解题报告

    Where are you 链接: https://ac.nowcoder.com/acm/contest/272/D 来源:牛客网 题目描述 小\(p\)和他的朋友约定好去游乐场游玩,但是他们到了游 ...

  6. 《Java程序设计》第7周学习总结 20165218 2017-2018-1

    20165218 2017-2018-1 <Java程序设计>第7周学习总结 教材学习内容总结 JDBC与MySQL数据库 数据库的功能:数据的存储.查询.修改.安全 MySQL:数据库: ...

  7. Codeforces 894.B Ralph And His Magic Field

    B. Ralph And His Magic Field time limit per test 1 second memory limit per test 256 megabytes input ...

  8. python 删除文件/夹

    原文 : http://www.cnblogs.com/SophiaTang/archive/2012/01/16/2323467.html import os 删除文件: os.remove() 删 ...

  9. 如何卸载掉eclipse中的插件

    First-->Help->About Eclipse Second--> Third-->

  10. 计算方法 -- 解线性方程组直接法(LU分解、列主元高斯消元、追赶法)

    #include <iostream> #include <cstdio> #include <algorithm> #include <cstdlib> ...