ubuntu下安装apache2.2+mod_wsgi+django

原文地址:http://blog.csdn.net/huangxiansheng1980/article/details/7202319

 

为了让apache或者nginx或者lighthttpd支持python可以用mod_python的方式,但是由于mod_python这个开源的项目似乎已死,官网地址:

 

www.modpython.org/


这个项目的从2009后再也没有去继续了,python的版本目前已经到了3.2,但是mod_python最后一个版本

 

mod_python-3.3.1.tgz                  2009-10-03 20:45

 

却只支持到了python 2.5, 所以如果你一定要用mod_python,那么你安装只能使用python 2.5以前的版本了。

 

我想使用最新的python的版本,所以不得不放弃mod_python这种方式了。

 

还有另外一种方式,就是我们要介绍的mod_wsgi+django的方式。

 

1. 安装apache2

使用命令安装或者源代码安装都可以,这里我采用的是命令安装方式:

 

sudo apt-get install apache

 

目前最新的版本是 v2.2,如果你要安装其他版本请使用apache2官方提供的安装包。

安装过程中,同时apache2会安装一个服务apache2供我们启动,停止和重启apache服务。

启动:

sudo service apache2 start  或者

sudo apachectl start


停止:

sudo service apache2 stop 或者

sudo apachectl stop


重启:

sudo service spache2 restart 或者

sudo apachectl restart

注意sudo不能少,否则权限不够,会失败。

 

安装完后,启动服务,测试一下apache服务器,在 浏览器中输入 http://localhost, 回车看看效果,如果你看到如下的东西,说明apache安装成功:

 

  1. It works!
  2. This is the default web page for this server.
  3. The web server software is running but no content has been added, yet.

这里要说一下apache在linux的配置文件。配置文件的名字和位置和windows下面不一样,windows下面apache安装后全部的文件是在一个目录下面,包括可执行程序,对应的动态库,以及配置文件,但是linux下面却是分开的。可执行程序是

 

/usr/sbin/apache2

 

配置文件是在

/etc/apache2

 

网站(web)文件是在:

/var/www

 

这个当然你可以配置,修改

/etc/apache2/sites-available/default

这个文件的下面的字段

DocumentRoot /var/www

比如你改到/var/temp

那么就把这行改成:

DocumentRoot /var/temp

 

配置文件并不是在httpd.conf里面,而是apache2.conf,而这里面并没有配置所有的东西,如端口是在ports.conf这个文件里面,而网站的根目录是在上面的提到的

/etc/apache2/sites-available/default

这个文件中。 虽然也有httpd.conf这个文件,但是httpd.conf里面是空的,其实你可以在这里面加一些配置,因为apache2.conf里面会把httpd.conf加到它的文件里面。

 

2. 安装mod_wsgi

 

安装mod_wsgi有3种方式,源码安装和二进制文件安装和命令安装。

a. 命令安装:

目前unbuntu提供了2个源,一个针对2.x python,另外一个针对3.x python:

libapache2-mod-wsgi – Python WSGI adapter module for Apache

libapache2-mod-wsgi-py3 – Python 3 WSGI adapter module for Apache

 

b. 二进制文件安装:

从下列地址下载二进制文件,然后把他们copy到对应的文件夹即可:

http://ftp.cn.debian.org/debian/pool/main/m/mod-wsgi/libapache2-mod-wsgi_3.3-4_i386.deb

 

c. 源码安装:

通过下面的链接下载源码:

http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-3.3.tar.gz

解压进入该目录,使用configure生成Makefile,

 

[python] view plaincopy

  1. ./configure

发现有错误:

 

apxs: command not found

上网google一堆,发现有人说缺少httpd.devel等等之类的,发现都解决不了问题,后来在mod_wsgi的官网找到了答案:

http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide

原来是要安装apache2-dev,使用下列命令安装:

 

  1. sudo apt-get install apache2-dev

还有一个依赖库就是python-dev

 

 

  1. sudo apt-get install python-dev

现在,再来一次configure,发现成功的生成了makefile

 

接下来就是

 

  1. make
  2. make install

如果没有什么错误这样我们就成功了安装了mod_wsgi

 

还有一个方法就是直接看看下面的文件存不存在:

/usr/lib/apache2/modules/mod_wsgi.so

 

3. 配置apache来加载mod_wsgi

 

如果你的apache是在运行状态,先停止它

 

  1. sudo service apache2 stop

 

 

然后配置apache, 在/etc/apache/httpd.conf加入下面一行:

LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so

 

 

注意上面的/usr/lib/apache2/modules/mod_wsgi.so是我的安装路径,如果你的是安装其他的目录,应做出相应的调整,怎么查看这个so安装在什么位置,就用find命令:

 

  1. sudo find / -name mod_wsgi.so

 

 

重启apache

 

  1. sudo service apache2 start

如果系统找不到你的mod_wsgi.so,apache服务就会启动失败。

 

4. 安装django

 

 

先安装必要的工具

  1. sudo apt-get install python-setuptools
  2. sudo apt-get install python-pip


安装 Django

  1. sudo pip install django

 

django安装在python路径下面的子文件夹下,如下:

/usr/local/lib/python2.7/dist-packages/django

你可以使用下面的命令来查看是否安装成功:

 

  1. sudo find / -name django

如果看到上面的输出,就表示安装成功。

 

 

 

 

 

5. 测试

 

为了测试的方便,我们新建一个虚拟主机:

 

  1. sudo vim /etc/hosts

通过上面的命令开发hosts这个文件,添加如下行:

 

 

 

 

192.168.0.107  wsgi.testserver

上面的IP换成你自己的。然后保存退出。

 

因为前面我们已经提到,我们的网站是在

/var/www目录下面,所以我们cd到这个目录,创建一个工程目录,创建一个工程文件

 

 

  1. cd /var/www
  2. sudo mkdir wsgi
  3. cd wsgi
  4. sudo vim main.wsgi

 

 
在main.wsgi输入下列代码:

  1. def application(environ, start_response):
  2.     status = ’200 OK’
  3.     output = ’Hello World!’
  4.     response_headers = [('Content-type', 'text/plain'),
  5.                         ('Content-Length', str(len(output)))]
  6.     start_response(status, response_headers)
  7.     return [output]

让后保存推出。

这里少许解释一下上面的都做了些什么。

为了让目录结构比较清晰,我们创建自己的目录wsgi,而不是直接www的根目录下,让后创建一个python文件,这个文件用来生成一个hello world的网页,并且告诉web服务器-这里就是apache,处理状态是成功-200,就这么简单。

 

接下来,让apache来加载我们自己的工程网站,去apache的配置目录/etc/apache/sites-available, 新建一个我们网站的配置文件。

 

 

  1. cd /etc/apache/sites-available
  2. sudo vim wsgi

 

 

 

 

 

让后在新创建的wsgi文件中输入如下内容:

  1. <VirtualHost *:80>
  2.     ServerName wsgi.testserver
  3.     DocumentRoot /var/www/wsgi
  4.     <Directory /var/www/wsgi>
  5.         Order allow,deny
  6.         Allow from all
  7.     </Directory>
  8.     WSGIScriptAlias / /var/www/wsgi/main.wsgi
  9. </VirtualHost>

激活我们的网站:

 

  1. sudo a2ensite wsgi

 

 

 

 

加载我们的网站:

 

  1. sudo service apache2 reload

 

 

这时候,你打开浏览器,输入http://wsgi.testserver, 你就可以看到hello world。 如果你看到了,说明一切ok了。如果没有看到可以留言给我,大家一起研究。

 

这个东西比较麻烦的,挺耗时间的,花了我大半天的时间,中间出现了一个 server error 500, 最后一个一个排除,发现是main.wsgi文件有语法错误导致。因为我初次搞web server的东西(之前是c++在做桌面和网络应用),所以不知道是什么原因错误,花了不少时间。 后来想到,wsgi既然是一个python文件,那么看看这个文件用python执行会是什么效果,就用

 

python main.wsgi

 

结果告诉我,有语法错误,修复这个错误后,浏览器中输入http://wsgi.testserver,看到了想要的结果。

 
这里说明一点,上面把python脚本保存成后缀wsgi,但是这不是规定,你也可以定义成其他,如常用的后缀名py,或者干脆什么后缀名都不用,都没有问题。

 

还有一点,上面我们虽然安装了django,但是我们根本没有用到这个框架,因为我觉得先用wsgi+python自己写一些东西,然后再使用django来创建的自己的web应用,能更好的理解django帮我做了哪些事,如何更好的使用它。这好比先熟练的使用win32的编程,然后再使用MFC,你就能更好的理解MFC,更好的使用MFC。

 

将来我会在其他的博文中接着续写django的学习和使用。
 

参看文档:

https://docs.djangoproject.com/en/1.2/howto/deployment/modwsgi/

http://blog.stannard.net.au/2010/12/11/installing-django-with-apache-and-mod_wsgi-on-ubuntu-10-04/

常用转运公司收费、口岸及物流情况

原文地址:http://www.smzdm.com/common-transport-company-charges-port-and-logistics-of.html

 

海外购如火如荼,已经海外购过的网友通常会经过一个愤怒-忍耐-淡定的过程,因为转运这个环节花费的时间,和国内网购相比,实在是太长了,而且货物一旦上了飞机或者进了海关,下次状态更新的时间是未知的,相当多的网友会在开始极不习惯。目前国内有超过10家转运公司提供了美-中快递服务,如何选择一家适合自己的转运公司是个非常重要的问题。选择标准通常有两个:价格和服务,目前大家已经从需要最便宜的转运,逐渐过渡到了需要较便宜但服务质量较好、速度较快的转运。

目前转运行业还没有一家服务质量遥遥领先于其他家的公司出现,各家的服务都有颇多人有微辞,这可能和转运流程中有过多的人工干预有关。而且转运公司有一个很难解决的问题:公司越做越大,客户越来越多,订单量越来越大,订单处理能力和物流能力开始跟不上需求,部分B2C因为退货量大屏蔽该收货地址,最后给客户带来较差的体验。这需要转运公司有一定的远见,及时的扩展自己的能力,降低此问题发生的概率。

黑色星期五的促销商品接踵而至,把鸡蛋放在一个篮子里显然不是明智之举,“什么值得买”网站参考网友意见,列出常用转运公司的收费情况、到货口岸及国内物流情况供大家参考,部分附加信息会陆续更新:

瑞天速递,收费:3.5美元/磅,口岸:重庆,国内物流:韵达、联邦。
ETD速递,收费:4美元/磅,口岸:重庆,国内物流:顺丰或EMS。
同舟快递,收费:4美元/磅, 口岸:上海、重庆,国内物流:EMS。
友家速递,收费:4美元/磅,口岸:上海、重庆,国内物流:EMS。
百通网,收费:4美元/磅,口岸:天津,国内物流:EMS。
风雷速递,收费:1磅45元、2磅60元、3磅及以上每磅25元,口岸:上海、天津,国内物流:EMS。
飞洋快递,收费:首磅7美元、续磅3美元,口岸:上海、天津,国内物流:EMS。
天翼快递:收费:4美元/磅,口岸:上海、重庆、天津,国内物流:韵达、联邦、EMS。
久禾快运:收费:首磅7美元、续磅依据商品为3.5至6美元,口岸:重庆,国内物流:申通、EMS。
转运中国,收费:500g首重49元,100g续重6.9元。
QQ华人快递
,收费:不足1磅6.4美元、超过1磅每磅4美元,口岸:天津,国内物流:EMS。

附:近期部分转运的优惠政策:

天翼快递默认提供100美元的保险,目前注册送50元,每次可抵运费15%,30日截止。
风雷速递部分商品享受免关税政策,具体见此链接,但风雷注册时需要填写客服编号,可向首页的在线QQ客服索取。

Amazon全部商品分类折扣速查表

本表按照 2折 6折 这两个常见折扣分界点,将Amazon全部商品汇总其中

根据情况,未来可能会加入8折这个分界点,各位朋友好好利用吧

Apparel:

80%  60%   20%

Beauty:

80%  60%   20%

Bed & Bath:

80%  60%   20%

Books:

80%  60%   20%

Camera & Photo:

80%  60%   20%

Cell Phones & Service:

80%  60%   20%

DVD:

80%  60%   20%

Electronics:

80%  60%   20%

Furniture & Decor:

80%  60%   20%

Gourmet Food:

80%  60%   20%

GPS and Navigation:

80%  60%   20%

Grocery:

80%  60%   20%

Health & Personal Care:

80%  60%   20%

Home & Garden:

80%  60%   20%

Jewelry & Watches:

 80% 60%   20%

Kitchen:

 80% 60%   20%

Magazines & Newspapers:

80% 60%    20%

Musical Instruments:

 80% 60%   20%

Office Products:

80%  60%   20%

Outdoor Living:

80%  60%   20%

Pet Supplies:

80%  60%   20%

Computers & Add ons:

80%  60%   20%

Video Games:

80%  60%   20%

Shoes:

80%  60%   20%

Sports & Outdoors:

80%  60%    20%

Home Develoopment/Tools:

80%  60%    20%

Toys & Games:

80%  60%   20%

真是力气活!四种备胎记时更换过程记录

原文地址:http://www.autohome.com.cn/use/201108/232385.html

目前国内市面上销售的车型中主流的备胎放置形式可以归纳为四种,其中最常见的是放置在后备箱底部,其次则是大部分MPVSUV和面包车所采用的下挂式备胎,第三种是部分SUV车型上所采用的外挂式备胎,最后一种则是近年来在部分高档车特别是高档SUV上逐步普及的压缩式或称为充气式备胎。今天我们就针对这四种主流备胎如何更换、更换时间分别需要多久进行了一个实验。

继续阅读

海外购之Amazon亚马逊购物手把手教程

海外购之Amazon亚马逊购物手把手教程

本篇教程以Amazon亚马逊为例,一步一步手把手教你从注册账号到下单成功,希望对不知如何海外购的网友有所帮助,让更多的人能够享受到海外购的乐趣。

1.注册账号

在浏览器的地址栏输入http://www.amazon.com

继续阅读

长城系列SUV全车油品使用完整攻略版本

原文地址:http://bbs.nanren8.com/thread-168971-1-1.html

1 。 手动4驱老哈弗汽油款
前桥 1.4L  后桥2.9L  规格 GL5 75W、80W-90.110.140,双曲线齿轮油,看路况选择规格,有LSD的需用LSD专用油
手动分动器 2.7L手波箱(SC5M4D-C)2.2L 规格GL4 75W90 双曲线齿轮油(MTF,MTL 不可使用)
助力转向油 ATF (自动波箱油) 0.7L, 不可以用ATL(低粘度ATF)
刹车 0.5-0.7L,离合 0.15L   DOT4规格刹车油,要真品,最好合成的,DOT5.1规格别用
4G64,491Q发动机油4-4.3L  规格 无损耗机油现象的,一般5W-30,10W-30,,5W-40,0-40 10-40,
没有必须专用规格,越稠噪音越大, 燃油经济性越差,特冷可以0W-30,
高转速,山路,藏区路10-30,0-40,5- 40,以减少蒸发损失,当然也可以用粘度低的
就是带点油补充即可(这里讲的是合成油)
防冻液8L,最好是硅酸盐有机酸混合型,磷酸盐型尽量不用

2 。电控4驱新哈弗汽油款
前桥 1.4L  后桥2.9L  规格 GL5 75W、80W-90.110.140,双曲线齿轮油,看路况选择规格,有LSD的需用LSD专用油
电控分动器 1.2L ATF (自动波箱油) 0.7L, 不可以用ATL(低粘度ATF)
手波箱(ZM001DF)2.5L 规格GL4 75W90 双曲线齿轮油(MTF,MTL 不可使用)
助力转向油 ATF(自动波箱油)  0.7L, 不可以用ATL(低粘度ATF)
刹车 0.5-0.7L,离合 0.15L   DOT4规格刹车油,要真品,最好合成的,DOT5.1规格别用
4G69 发动机油4-4.3L  规格 无损耗机油现象的,一般5W-30,10W-30,,5W-40,0-40 10-40,
没有必须专用规格,越稠噪音越大,燃油经济性越差,特冷可以0W-30,高转速,山路,
藏区路10-30,0-40,5- 40, 以减少蒸发损失,
当然也可以用粘度低的就是带点油补充即可(这里讲的是合成油)
防冻液8L,最好是硅酸盐有机酸混合型,磷酸盐型尽量不用

至于有人说了,5W-40就是40℃高温用的,这里说明下,机体内温度远大于环境温度,即使在赤道

3 . 电控4驱柴油机2.8TCI  2.5TCI   
机油 5.3-5.6L  机油规格CI-4,CJ-4,15W-40 ,5W-40,寒冷地区5W-30最好合成油  ,这个也没有必须专用规格
防冻液9L,最好是硅酸盐有机酸混合型,磷酸盐型尽量不用
前桥 1.4L  后桥2.9L  规格 GL5 75W、80W-90.110.140,双曲线齿轮油,看路况选择规格,有LSD的需用LSD专用油
电控分动器 1.2L ATF (自动波箱油)助力转向油 1L, 不可以用ATL(低粘度ATF)
手波箱(ZM001MF)2.4L(038M)2.9L 规格GL4 75W90 双曲线齿轮油(MTF,MTL 不可使用)
助力转向油 ATF(自动波箱油)  1L, 不可以用ATL(低粘度ATF)
刹车 0.5-0.7L,离合 0.15L   DOT4规格刹车油

4.  2驱汽油机
老款手动波箱(SC5M2D-2)GL4 75W-90用量2.2L 新款手波箱(ZM001DB)2.4L  后桥齿轮油和汽油4驱车型一致2.9L,别的也一致,无分动器和前桥

5. 2.5T2.8T,2.8柴油机手波箱
(ZM001M)2.4L,(038M1)2.7L,后桥2.9L,别的和4驱柴油一致,无分动器和前桥

6.绿静2.0T,和2.5,2.8系列一致,
特别提醒2.0T发动机机油最好用全合成机油

7.电控4驱的自由轮齿轮油GL5 75W-90,0.2L,不一定准确,看了没拆开过

 

使用周期
汽油机机油 一般矿物油3-4个月4000-5000一换,合成与半合成6500内半年,超长效合成1年1.5W上下(最好配长效机滤或者中间换次机滤)
柴油机机油 和汽油机类似,
前后桥齿轮油 矿物油3-4W换一次,首次换5000,不要看颜色决定周期,合成油6W左右,长效合成8W
手波箱和分动箱矿物油3-4W换一次,首次换5000,不要看颜色决定周期,合成油8W左右,长效合成》10W
刹车油离合油助力油2年或者4W,防冻液最好1年一换,除非进口长效型
以上周期是大概周期,还要看实际路况,

Fetch.io – 国外网盘资源提取下载利器

Fetch.io – 国外网盘资源提取下载利器

Fetch.io 不仅是一款云存储网盘服务,更是一款面向国外主流网盘资源的在线提取、存储和下载工具,为用户免费提供 2GB 云存储空间和 4G/月流量带宽,支持 RapidShare、MegaUpload、FileServe、Netload.in、FileSonic、Easy-Share、MegaShares、Hotfile、Despositfiles 等网盘。(来自同步控

继续阅读