zoukankan      html  css  js  c++  java
  • django入门--django-blog-zinnia搭建个人博客

    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中的模板,位于Libsite-packageszinnia emplates,拷贝到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:8001; # for a web port socket (we'll use this first)
    }
    
    # configuration of the server
    server {
        # the port your site will be served on
        listen      80;
        # the domain name it will serve for
        server_name example.com; # substitute your machine's IP address or FQDN
        charset     utf-8;
    
        # 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文件

  • 相关阅读:
    uva 1606 极角扫描
    Codeforces Round #304 (Div. 2) 题解
    Codeforces Round #306 (Div. 2) 题解
    Codeforces Round #299 (Div. 2) 题解
    树链剖分专题
    bzoj 1036: [ZJOI2008]树的统计Count
    bzoj 1007: [HNOI2008]水平可见直线
    bzoj 1003: [ZJOI2006]物流运输trans
    Codeforces Round #301 (Div. 2) 题解
    bzoj 1026: [SCOI2009]windy数
  • 原文地址:https://www.cnblogs.com/lilinwei340/p/6854638.html
Copyright © 2011-2022 走看看