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