Openerp web 服务器相关问题总结
-
系统开发完成并已经上线了, 但是一直有一个困惑存在我的脑子里, openerp 到底使用什么作为web server的?
以前我一直认为:Werkzeug 是openerp的web server 但是后来我一查找, 发现官方对Werkzeug的定义是:Werkzeug is a WSGI utility library for Python. 并没有说Werkzeug 可以充当一个web server 。网上有很多在生产环境中配置openerp web server 的, 比如: upstream + nginx , wsgi_mod + apache , 在openerp的源代码中也提到了 wsgi_mod +apache 及Gunicorn的配置, 这些才是真正在生产环境中可以提供web 服务的web server 那么openerp 到底使用什么提供web server, 难道它自己造了一个轮子, 带着这些问题, 查找了一些资料, 网上没有专门解释这些东西的, 经过我的总结,得出了以下结论:
开发人员确实在开发业务功能, 确实也有一个东西在提供类似于web server 的功能, 这个东西就是Werkzeug 。以下是我在Werkzeug 官网上看到的一段话:(openerp 就是一个WSGI application, openerp 从6.1就开始兼容WSGI协议)
There are many ways to serve a WSGI application. While you’re developing it, you usually don’t want to have a full-blown webserver like Apache up and running, but instead a simple standalone one. Because of that Werkzeug comes with a builtin development server.
这段很明白的解释了我的困惑, 同django框架类似, 为了方便开发人员django框架也内置一个开发服务器, 但是具体到生产环境是不建议使用这种简单的 web server 的所以就有了很多的配置方式, 官方建议应该是oe+Gunicorn
《上海并擎软件科技有限公司》——项目开发经理