Odoo使用werkzeug做为 web 服务的框架,性能比以前的cherrypy有了很大的改善。但不管是werkzeug仍是cherrypy,都不是专门的web服务器。一般的作法是在Odoo以前加一个Nginx、Apache或其它服务器。javascript
此处假设您已经安装好Odoo,并运行在127.0.0.1:8069css
sudo apt-get install nginxjava
# vi /etc/nginx/nginx.confpython
将下面内容中前面的注释符“#”去掉nginx
# gzip_vary on;web
# gzip_proxied any;json
# gzip_comp_level 6;服务器
# gzip_buffers 16 8k;app
# gzip_http_version 1.1;框架
将下面一行前的注释符“#”去掉,并在其后面 添加“application/javascript”
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
改后内容为:
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
是否开启gzip,差异很大。OE首页加载的http://127.0.0.1/web/webclient/js开启前文件大小是1.4M ,开启后大小是 350.6 KB。
下面是一个完整的 nginx.conf 文件内容
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
#添加一个类型 application/javascript
gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
}
# vi /etc/nginx/sites-available/default
-------------------- default 文件内容---------------------------
upstream oeserver{
server 127.0.0.1:8069;
}
server {
listen 80;
server_name _;
root /usr/lib/python2.7/dist-packages/odoo/addons;
location /{
proxy_pass http://oeserver;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Set-Cookie;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 3000;
}
location /longpolling/{
proxy_pass http:// 192.168.1.105 :8072/longpolling/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
上面内容中加粗并带下划线的部分是须要根据本身的实际状况进行修改的部分。
本例是使用的80端口来代理的Odoo服务,若是使用其它端口,如8080,修要将“listen 80;”改为listen 8080;”;另外将“proxy_set_header Host $host;”改为“proxy_set_header Host $host:8080;”。
重启nginx服务。
# service nginx restart
如今你就能够经过直接输入其IP地址来访问Odoo服务了。
重启Odoo服务后,须要重启下Nginx,此代理才能正常工做。
CPU limit out,不要急着升级 CPU,修改 odoo.conf 里的 limit_time_cpu 便可。
Nginx 504错误,修改Nginx配置里的timeout时间。
Nginx 502错误,跟Nginx无关,修改odoo.conf里的limit_time_real便可
文章编辑:PS Cloud——源自欧洲,链接中国。开源云ERP,赋能成长型企业。
https://www.mypscloud.com