# CGI
If all other deployment methods do not work, CGI will work for sure. CGIis supported by all major servers but usually has a less-than-optimalperformance.
This is also the way you can use a Werkzeug application on Google's[AppEngine](http://code.google.com/appengine/) [http://code.google.com/appengine/], there however the execution does happen in a CGI-likeenvironment. The application's performance is unaffected because of that.
### Creating a .cgi file
First you need to create the CGI application file. Let's call ityourapplication.cgi:
~~~
#!/usr/bin/python
from wsgiref.handlers import CGIHandler
from yourapplication import make_app
application = make_app()
CGIHandler().run(application)
~~~
If you're running Python 2.4 you will need the [wsgiref](http://docs.python.org/dev/library/wsgiref.html#module-wsgiref "(在 Python v3.5)") [http://docs.python.org/dev/library/wsgiref.html#module-wsgiref] package. Python2.5 and higher ship this as part of the standard library.
### Server Setup
Usually there are two ways to configure the server. Either just copy the.cgi into a cgi-bin (and use mod_rerwite or something similar torewrite the URL) or let the server point to the file directly.
In Apache for example you can put a like like this into the config:
~~~
ScriptAlias /app /path/to/the/application.cgi
~~~
For more information consult the documentation of your webserver.
- 开始
- Werkzeug 文档概览
- 安装
- 过渡到 Werkzeug 1.0
- Werkzeug 教程
- API 标准
- 快速开始
- Python 3 Notes
- 服务和测试
- Debugging Applications
- 在服务器运行 WSGI 应用
- 单元测试
- 参考
- Request / Response Objects
- URL Routing
- WSGI Helpers
- HTTP Utilities
- Data Structures
- Utilities
- Context Locals
- Middlewares
- HTTP Exceptions
- 部署
- CGI
- mod_wsgi (Apache)
- FastCGI
- HTTP Proxying
- 贡献模块
- Atom Syndication
- Sessions
- Secure Cookie
- Cache
- Extra Wrappers
- Iter IO
- Fixers
- WSGI Application Profiler
- Lint Validation Middleware
- 额外说明
- Werkzeug Changelog
- Important Terms
- Unicode
- Dealing with Request Data