forked from sinacloud/sae-python-dev-guide
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
98 lines (65 loc) · 2.71 KB
/
README
File metadata and controls
98 lines (65 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
SAE Python development server - experimental
All Rights Reserved 2011
SAE Python Team
目前支持的服务包括:mysql, taskqueue, memcache, storage, mail。
大部分的服务直接运行dev_server.py进行调试就可以了,部分服务需要做一些配置。
注意: 本工具仅为应用开发便利之用,对sae python环境的模拟并不完整。
Install
--------------
sudo python setup.py install
基本使用
------------
使用svn检出app代码之后,建立以数字为标识的发布目录,切换到发布目录:
$ pwd
/home/jaime/source/blackfire/1
编辑index.wsgi和config.yaml:
$ vi index.wsgi
import sae
def app(environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ['Hello, world! reloading test3']
application = sae.create_wsgi_app(app)
$ vi config.yaml
---
name: blackfire
version: 1
...
运行dev_server.py:
$ dev_server.py
MySQL config not found: app.py
Start development server on http://localhost:8080/
访问 http://localhost:8080 端口就可以看到Hello, world!了。
使用MySQL服务
----------------
配置好MySQL本地开发server,使用 `--mysql` 参数运行dev_server.py。
$ dev_server.py --mysql=user:password@host:port
现在你可以在应用代码中像在SAE线上环境一样使用MySQL服务了。dev_server.py默认使用
名为 `app_应用名` 的数据库。
使用storage服务
---------------
使用 `--storage-path` 参数运行dev_server.py。
$ dev_server.py --storage-path=/path/to/local/storage/data
本地的storage服务使用以下的目录结构来模拟线上的storage。
storage-path/
domain1/
key1
key2
domain2/
domain3/
--storage-path配置的路径下每个子文件夹会映射为storage中的一个domain,而每个子文
件夹下的文件映射为domain下的一个key,其内容为对应key的数据。
.. note:
为方便调试,dev_server自带的sae.storage在某个domain不存在的情况下会自动创建
该domain。线上环境中的domain需要在sae后台面板中手动创建。
使用pylibmc
--------------
dev_server自带了一个dummy pylibmc,所以无须安装pylibmc就可以直接使用memcache服务
了。该模块将所有的数据存贮在内存中,dev_server.py进程结束时,所有的数据都会丢失
。
使用kvdb
----------------
kvdb默认数据存在内存中,dev_server.py进程结束时,数据会全部丢失,如果需要保存数据,
请使用如下命令行启动dev_server.py
$ dev_server.py --kvdb-file=/path/to/kvdb/local/file