配置Django生产环境(Apache + mod_wsgi)

以下是在CentOS7_x86_64平台上的配置过程,其它平台类似。这里的Python版本是2.7.5,Django是1.7.1。

为方便描述,假设待部署的Django工程为"/home/XXXX",其目录结构如下所示:

安装mod_wsgi ...


Manual Guide Instructions

Manual

手册,是由产品厂商提供的一系列文档,其中给出了详细的产品使用说明,手册是官方提供的专业参考,内容详实全面,同时也枯燥乏味。《Linux man page》

Guide

指南,以引导为主的产品使用说明,通常使用多种媒体手段,不像手册那样只有单调的文档,其目标是帮助用户快速上手使用产品。

Instructions

说明,Manual或Guide就是由一系列Instructions构成的。


从 ...


CentOS下安装使用Paramiko

Paramiko模块是Python使用ssh协议登陆远程机器的必备模块。

安装Python开发版

yum install python-devel

安装Paramiko

pip install Paramiko

看一下是否安装成功

python -c "import paramiko"

使用示例

Example 1 : 执行远程命令 ...


逐步实现TCP服务端Step04-10:小结

整个Step04阶段所做的工作是让后台系统能支持多客户并发。我们的基本设定是,负责网络通信的netio进程,以及负责业务处理的s进程都是单线程结构。要在这个大前提下对系统进行改造。

首先,不论何种结构,总要对多个客户的信息进行维护。对于netio来说,就是围绕socket的一些数据。我们设定了SocketInfo结构去整合它们,每个客户对应一个SocketInfo结构,用一个list去管理。对于s来说,每一个cilent,就是业务的“用户”,这些用户分别有自己的User对象。我们假设了client的socket值,就是它在业务层面的用户ID,这样,s的每个User对象就有了一个用户ID,基于这个ID可以hash到User对象。同时,User对象中会记录client的SocketInfo结构在list中的索引值,这么一来,就能将netio维护的SocketInfo与s所维护的User对象对应起来。

再说netio对list的处理 ...


逐步实现TCP服务端Step04-9:IOCP

IOCP是Windows平台特有的机制,在Windows平台上,它与epoll在Linux上的地位相当。二者常放在一起讨论,不过,它俩完全不是一类东西。

selectpollepoll系列,属于I/O多路复用机制。通过这种机制,就可在单一流程(单线程)中一次性找出,当前I/O已就绪的文件描述符。这大大降低了,程序因不知道哪些I/O已就绪,而无休止地轮询(调用recv/send等)所有文件描述符所产生的大量无用功。当然,多路复用是用在单线程处理多路I/O的场景中,若一路I/O独占一个线程的话,就没必要轮询了,线程直接阻塞在I/O上就行了。

IOCP是配合Overlapped I/O来使用的,这种所谓的重叠I/O是Windows平台上的异步I/O机制。说到同步、异步的概念,在不同场合下有不同解释。单说异步I/O的话 ...


在Debian上部署Redmine(Apache + MySQL)

Debian版本:7.0_x86_64,其它平台上的安装方法可查阅Redmine官网Wiki

安装MySQL

apt-get -y install mysql-server

提示设置root密码:

安装redmine-mysql包 ...