Wang Dingwei avatar Wang Dingwei committed d4fe44d

some simple howtos

Comments (0)

Files changed (4)

apache_flask_howto.markdown

+使用 Apache 部署 Flask
+======================
+
+Apache 在 Windows 下的好处是以 Windows 服务的形式运行,坏处是配置较复杂。
+
+
+前提
+-----
+
+* 已经安装了Python,而且 flask 的环境已经配置好。
+* 已经写好了你的 app,并且准备好了 app.wsgi。
+* app 是标准的 python 应用程序,可以使用 setup.py 或者 `easy_install` 安装。
+* app 已经安装好,在虚拟环境或者非虚拟环境都可以。
+
+
+下载和安装 Apache
+------------------
+
+[官网](http://httpd.apache.org/download.cgi)最新版本目前是 2.2.19,[下载](http://labs.renren.com/apache-mirror//httpd/binaries/win32/httpd-2.2.19-win32-x86-openssl-0.9.8r.msi)
+
+依照提示安装即可。
+
+
+下载和安装 `mod_wsgi`
+---------------------
+
+[下载地址](http://code.google.com/p/modwsgi/downloads/list),选择和已安装的 
+Python 匹配的文件。一般是 py26 或者 py27 中的一个。
+
+将下载的文件在本地重命名为 `mod_wsgi.so`,然后复制到 Apache 安装目录的 modules
+文件夹下。
+
+修改 Apache 的配置文件 conf\httpd.conf,找到其中 LoadModule 的一段,在最后一行
+添加如下内容:
+
+    LoadModule wsgi_module modules/mod_wsgi.so
+
+
+VirtualEnv 配置
+-----------------
+
+如果你有使用 virtualenv,则需要在 httpd.conf 中添加一行:
+
+    WSGIPythonHome D:/Apps/env/baseline
+
+后面的目录是你的虚拟环境的位置。
+
+
+修改 DocumentRoot
+------------------
+
+这一步为可选。默认目录也可以使用。为了管理方便可能会把它改成别的位置。例如:
+
+    DocumentRoot "D:/Apps/www"
+
+
+设置 WSGI Alias
+---------------
+
+这是最重要的一步,将 app.wsgi 放到 DocumentRoot 下面的某个目录中,然后在配置
+http.conf 中添加如下一行:
+
+    WSGIScriptAlias / D:/Apps/www/rqs/app.wsgi
+
+
+最后
+-----
+
+基础配置到此结束,进一步配置请参考 apache 和 `mod_wsgi` 的文档。
+
+安装完后程序中会有一个 monitor 工具,它会在系统右下生成一个图标,你可以通过它
+来启动和关闭 apache 服务。
+
+你还可以通过 apache 安装目录下的 logs\error.log 来分析程序异常。
+
+更多: `http://flask.pocoo.org/docs/deploying/mod_wsgi/`

cherrypy_flask_howto.markdown

+使用 cherrypy 部署 flask
+========================
+
+CherryPy是 Python 写的,部署简单比较简单。
+
+
+下载安装 cherrypy
+-----------------
+
+    $ easy_install cherrypy
+
+[官网](http://www.cherrypy.org/),[下载](http://www.cherrypy.org/wiki/CherryPyDownload),目前最新版本是 3.2.0,
+下载后使用 `easy_install`,或者解压后使用 `python setup.py install`
+安装。如果使用了虚拟环境,则将虚拟环境激活后再通过命令行安装。
+
+
+部署
+-----
+
+flask的app本身就是合法的 wsgi 应用,cherrypy 可以直接调用,只要写一个简单的
+runserver.py 即可,内容大致如下:
+
+    from cherrypy import wsgiserver
+    from flaskapp import app
+    
+    d = wsgiserver.WSGIPathInfoDispatcher({'/': app})
+    server = wsgiserver.CherryPyWSGIServer(('0.0.0.0', 8080), d)
+    
+    if __name__ == '__main__':
+       try:
+          server.start()
+       except KeyboardInterrupt:
+          server.stop()
+
+
+执行该脚本就会启动 http 服务,ctrl+c 可以终止 Http 服务。
+
+更多: http://flask.pocoo.org/snippets/24/

flask_install_howto.markdown

+Flask 安裝
+===========
+
+Flask 是一个基于 Python 的开发网站的微型框架。特点是简易灵活且功能强大。
+
+
+虚拟环境
+-------------
+
+这一步非必须,但虚拟环境有利于各种管理,因此强烈建议。使用命令行:
+
+    $ virtualenv.exe --distribute --no-site-packages envdir
+
+其中 envdir 是虚拟环境的目录名称。然后执行下面的命令激活这个虚拟环境:
+
+    $ envdir\scripts\activate
+
+这时 DOS 的提示符会在括号注明虚拟环境的名称。
+
+
+安装
+------
+
+如果有上网权限的话一条命令就搞定了:
+
+    $ easy_install flask
+
+如果没有上网权限,则需要下载下面的包:
+
+  * [werkzeug](werkzeug.pocoo.org/),[下载](http://pypi.python.org/pypi/Werkzeug/)
+  * [jinja2](http://pypi.python.org/pypi/Jinja2#downloads),[下载](http://pypi.python.org/pypi/Jinja2#downloads)
+  * [flask](flask.pocoo.org),[下载](http://pypi.python.org/pypi/Flask/)
+
+下载 .zip 或者 .tar.gz 包,然后在激活的虚拟环境中使用 `easy_install` 安装。
+
+    $ easy_install pkg_name.tar.gz
+
+werkzeug 和 jinja2 是 flask 的依赖包,所以需要先装,最后装 flask。
+
+
+使用
+-----
+
+建议先读[官方文档](http://flask.pocoo.org/docs/)中的 quickstart 和 tutorial,
+体验一下里边的范例项目。
+
+
+扩展
+-----
+
+Flask 支持各类扩展,你可以查看[扩展列表](http://flask.pocoo.org/extensions/),
+在开发时可能会用到。
+

python_install_howto.markdown

+安裝 Python
+============
+
+下载
+-----
+
+官方网站: http://www.python.org/
+
+选择版本: 选择 2.6 或者 2.7 分支的最新版本,一般选择 32 位的 Windows
+安装包即可。*不要选择 3.x 版本的 Python*。
+
+下载链接:
+  
+  * [2.7.2 安装包](http://www.python.org/ftp/python/2.7.2/python-2.7.2.msi)
+  * [2.6.6 安装包](http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi)
+
+软件包下载: 
+
+http://pypi.python.org/pypi
+
+  
+安装
+-----
+
+过程:按提示进行即可。
+
+安装配置:将安装目录加入系统路径。如果你的安装位置是 C:\Python26,那么你需要
+将 `C:\Python26` 和 `C:\Python26\Scripts\` 加入系统路径。
+
+
+必装软件包
+-----------
+
+尽量选择最新版本下载。确认你下载的包和你安装的 Python 版本兼容。
+
+  * [distribute](http://pypi.python.org/pypi/distribute/)
+    软件包安装工具,非常有用
+    easy_install.exe
+  * [pip](http://pypi.python.org/pypi/pip/)
+    软件包安装工具,和 virtualenv 搭配很好用
+    pip.exe
+  * [virtualenv](http://pypi.python.org/pypi/virtualenv/)
+    虚拟环境构架工具,非常有用
+    virtualenv.exe
+  * [PyWin32](http://sourceforge.net/projects/pywin32/files/pywin32)
+    提供 W32 各种 API 的支持,偶尔有用
+
+
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.