13 附录
13.1 Odoo里老的API
_name 点号记法 对应具体SQL表名 _columns {
} 表述SQL表头
_defaults 字典值 描述默认值
_inherit
_inherits 委托继承
13.2 PostgreSQL数据库命令行操作
13.2.1 命令行数据库备份
13.3 反向代理(reverse proxy)
反向代理如下图所示【图片来自wiki】
Figure 31: 反向代理
其之所以叫做反向是相对于我们常见的代理翻墙软件而言的,翻墙软件叫做前向代理,其代理是给客户端用的,而反向代理具体是给服务器端用的。反向代理的用途有加密,安全,缓存,压缩负载均衡等等。有名的Apache软件就是一个反向代理软件,此外还有ngnix软件也是一个不错的反向代理软件。
13.3.1 安装ngnix软件
13.3.1.1 释放http默认端口号
http的默认端口号是80,这不应该被占用,可使用curl命令检测之。
其应该返回连接不上的错误:
$ curl http://localhost curl: (7) Failed to connect to localhost port 80
如果有响应,则需要将对应的服务停用掉。然后再安装ngnix软件。
在ubuntu下安装ngnix软件很简单,使用apt-get安装即可:
sudo apt-get install ngnix
安装完了之后再 curl http://localhost
应该返回ngnix的一些信息了。
然后人们一般把默认的配置文件给删除了:
sudo rm /etc/nginx/sites-enabled/default
在 /etc/nginx/available-sites/
编写可用网站的配置文件,如果想具体使用该网站的配置文件,就创建一个符号连接到目录 /etc/nginx/enabled-sites/
。
具体创建一个odoo的配置文件如下:
sudo touch /etc/nginx/sites-available/odoo sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/odoo
然后开始编辑配置avilable-sites文件夹下的那个odoo文件。初步将文件修改如下:
upstream backend-odoo { server 127.0.0.1:8069; } server { location / { proxy_pass http://backend-odoo; } }
这里upstream 可看作上传流,名字,然后具体对应的端口号。然后服务器server的location应该是入口点,然后proxy_pass这里的http://backend-odoo 应该就具体对应前面upstream的那个backend-odoo。具体细节后面再慢慢了解。
然后执行:
sudo nginx -t
来测试下nginx是否工作正常,正常的话再重启下nginx服务。
sudo /etc/init.d/nginx reload
然后进入浏览器输入localhost,我们已经能够正常登入odoo了。
13.3.2 强制https连接
13.3.3 nginx优化
13.3.4 轮询机制
13.4 跟踪项目源码初始化进程
首先我们看到odoo.py的main函数,正常的输入 ./odoo.py
前面的if语句都没有执行,直接跳转到openerp.cli.main()
那里。
然后接下来执行一个