跬步 On Coding

Blog更新记录

周末花了点时间把许久没有动过的Blog做了一些优化,优化的目标:更快,更省。

更快

  1. 缓存SQL查询结果
  2. 优化数据库表结构
  3. 优化SQL查询语句
  4. 使用misaka(C写的Markdown解析器)

更省

用SAE KVDB替换Memcached

重装Ubuntu的一些记录

** 手贱把工作电脑的Ubuntu搞挂了好像,不得已重装一下,这里记录一下过程

工作中用到Ubuntu主要是做Python开发环境,在家习惯了用Mac,切换到Ubuntu还是很方便了,比较坑的,是经常莫名其妙的系统错误。

1. 安装系统

必须是Ubuntu 14.04 64bit 选择不在线更新安装

2. 更新系统

在系统设置中选择国内的源,我用的是163的

Elasticsearch IK安装

** 本文描述的的安装环境均为Ubuntu 14.04 64bit

1. 安装Elasticsearch

参考 > https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-elasticsearch-on-ubuntu-14-04

  1. 安装OpenJDK;
    sudo apt-get install openjdk-7-jre

Elasticsearch 数据索引操作

开始一系列的搜索相关的学习,包括并不限于
Django
Haystack
Elasticsearch
IK中文分词
分词字典

简单搜索

Gunicorn运行Django时静态文件处理

问题

在用Gunicorn跑Django的时候,比较郁闷的是静态文件的处理,即使在settings设置DEBUG=True,静态文件也不会正常显示.生产环境下一般不会裸跑Gunicorn,一般都会在前面放一个Nginx反代到Gunicorn,而静态文件直接交给Nginx处理.

但是如heroku,coding.net的演示平台这种PaaS就不能自己配置反向代理,怎么样设置wsgi才能正常处理静态文件呢.这里总结下处理这个问题的经验.

方法1

强制使用Django的静态文件处理器,通过python manage.py runserver的时候,如果DEBUG=True,Django会自动加载自带的静态文件处理器,但是在Gunicorn下,这个设置会失效,我们可以强制使用Django自带的静态文件处理器.