使用Nginx Upstream 部署 OpenERP
Openerp 6.1 使用werkzeug 作为web服务的框架,性能比之前的cherrypy 有了很大的改善。但无论是 werkzeug 还是cherrypy ,都不是专门的web服务器。通常的做法是在openerp 之前加一个 Nginx、Apache或其他服务器。下面介绍使用Nginx Upstream 部署openerp 的方法。 一 前提 此处假设您已经安装好 openerp ,并运行在 127.0.0.1:8069 二 安装Nginx debian/ubuntu: 1 # apt-get install nginx redhat/centos: 1 # yum install nginx 三 配置Nginx 1、修改/etc/nginx/nginx.conf ,开启gzip 压缩 01 # vi /etc/nginx/nginx.conf
02
03 --------------nginx.conf 需修改内容节选--------------------------
04 gzip on;
05 gzip_disable "msie6";
06
07 gzip_vary on;
08 gzip_proxied any;
09 gzip_comp_level 6;
10 gzip_buffers 16 8k;
11 gzip_http_version 1.1;
12 #添加一个类型 application/javascript
13 gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; 吐槽一下,是否开启gzip,差别真不小。oe 首页加载的http://127.0.0.1/web/webclient/js 开启前文件大小是 1.4M , 开启后大小是350.6 KB (通过firebug 查看)。 2、建立 openerp 配置文件 01 # touch /etc/nginx/sites-enabled/openerp
02 # vi /etc/nginx/sites-enabled/openerp
03
04 --------------------openerp 文件内容---------------------------
05
06 proxy_temp_path /tmp/nginx_proxy_temp;
07 proxy_cache_path /tmp/nginx_proxy_cache levels=1:2 keys_zone=oecache:100m inactive=3d max_size=1000m;
08
09 proxy_buffer_size 32k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
10 proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
11 proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
12 proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
13
14 proxy_connect_timeout 60;
15 proxy_send_timeout 60;
16 proxy_read_timeout 3000;
17
18 upstream oeserver{
19 server 127.0.0.1:8069;
20 }
21
22 server {
23
24 server_name www.example.com;
25
26 root /var/www/openerp-6.1-1/openerp/addons;
27
28 location /{
29
30 proxy_cache oecache;
31 #proxy_cache_key "$host$request_uri$request_body";
32 proxy_cache_key $host$request_uri$request_body;
33 proxy_cache_valid 200 304 1d;
34 proxy_cache_valid any 1d;
35
36 proxy_next_upstream http_502 http_504 error timeout invalid_header;
37 proxy_pass_header Set-Cookie;
38 proxy_set_header Host $host;
39 proxy_set_header X-Real-IP $remote_addr;
40 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
41 proxy_redirect off;
42
43 proxy_pass http://oeserver;
44
45 proxy_buffering on;
46 proxy_cache_valid 1d;
47 expires 1d;
48 }
49
50 location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
51 proxy_buffering on;
52 proxy_cache_valid 1d;
53 expires 1d;
54 }
55
56 } 完成 ! Nginx 此处仅仅是作为 openerp 的前端WEB服务器,Nginx 还有更大的作用是可以实现Openerp 的负载平衡。
使用Nginx Upstream 部署 OpenERP的更多相关文章
- Diango + uwsgi + nginx 项目部署(可外网访问)
自己通过nginx uwsgi 部署django项目,查询了很多资料,遇到了很多问题,最终完成了部署,趁着心情愉悦,写个随笔,为曾像我一样苦寻解决方案的小伙伴们提供些思路. 安装Nginx: #安装n ...
- [Redmine] Centos5上安装Redmine3.0+nginx+thin部署
项目管理的需要所以安装Redmine,其实wiki放在上面也不错的. 首先是安装,ruby应用第一次装,把坑记住. nginx, mysql是已经安装好的,只需要配置, 结合nginx的部署方式很多, ...
- Nginx+upstream针对后端服务器容错的运维笔记
熟练掌握Nginx负载均衡的使用对运维人员来说是极其重要的!下面针对Nignx负载均衡upstream容错机制的使用做一梳理性说明: 一.nginx的upstream容错 1)nginx 判断节点失效 ...
- Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统
Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...
- 解决nginx+uWSGI部署Django时遇到的static文件404的问题
昨天是利用Django自带的runserver部署的服务器,但是由于runserver比较不稳定,因此决定采用uWSGI+nginx进行部署. 昨天已经安装好了uwsgi和nginx,使用该指令打开8 ...
- nginx Win下实现简单的负载均衡(1)nginx搭建部署
快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...
- Tomcat+nginx+Keepalived部署实现集群
Tomcat+nginx+Keepalived部署实现集群 环境说明: 系统:Centos-7 主机:Centos-7 x3 IP地址: 服务器1(192.168.10.102/24) 服务器2(19 ...
- nginx upstream 容错机制
熟练掌握Nginx负载均衡的使用对运维人员来说是极其重要的!下面针对Nignx负载均衡upstream容错机制的使用做一梳理性说明: 一.nginx的upstream容错 1)nginx 判断节点失效 ...
- Nginx + uWSGI部署中的一些小坑
1.invalid host in upstream报错 重新启动nginx : sudo /etc/init.d/nginx restart 原因是在配置负载均衡nginx.conf配置文件时,发现 ...
随机推荐
- Android Tasker应用之自动查询并显示话费流量套餐信息
Android Tasker应用之自动查询并显示话费流量套餐信息 虽然Android平台有非常多的流量监控软件,但最准确的流量数据还是掌握在运营商手里.有些朋友可能像我一样时不时地发短信查询流量信息, ...
- 常见 core dump 原因分析signal 11 - SIGSEGV
signal 6 - SIGABRT free 多次 char *p = malloc(100); free(p); free(p); fclose 多次 // fclose 内部调用 free FI ...
- c++中两个类相互包含引用的相关问题
在构造自己的类时,可能会遇到两个类相互引用的问题. 例如: class A { int i; B b; }; class B { int i; A a; }; 在这种情况下,这样就会出现一个死循环a. ...
- redis分布式锁redisson
原文:https://blog.csdn.net/Kincym/article/details/78697472 关于redisson的源代码请参考官网:https://github.com/redi ...
- 【笨木头Lua专栏】基础补充05:迭代器番外篇
关于迭代器的内容, 另一点点,只是已经无关紧要了.应该算是一种扩展吧.就一起来开开眼界好了~ 笨木头花心贡献.哈?花心?不.是用心~ 转载请注明,原文地址: http://www.benmutou.c ...
- 手机应用:非功能需求 Check List
服务状态防止并发 网络保持:无线网络,GPRS 网络连接:https,手机助手代理 电量 屏幕保持防止休眠 下载重试机制 定时检查XML 限速下载,线程休眠 下载出错反馈机制 消息广播 状态栏通知 进 ...
- [翻译] 带有震动效果的 ShakingAlertView
ShakingAlertView 震动效果的AlertView https://github.com/lukestringer90/ShakingAlertView ShakingAlertView ...
- 在JTextField中监听回车键,并执行相应按钮
在jbInit() 中加入jTextField1的按键监听,代码如下: jTextField1.addKeyListener(new KeyAdapter(){ public voi ...
- LODOP打印控件之LODOP.NewPageA()方法
通过lodop的强制分页方法,当我们一次性需要打印多张单页面的时候,可以通过该方法实现一次性打出,而不是重复调用打印方法,容易出问题 LODOP.NewPageA(); 说明:强制分页,注意是.New ...
- 数据库实例: STOREBOOK > 表空间
ylbtech-Oracle:数据库实例: STOREBOOK > 表空间 表空间(默认) 1. 表空间(默认)返回顶部 1.1, 1.2, 2. 表空间列表(默认)返回顶部 2.1, SYSA ...