第十四章 Odoo 12开发之部署和维护生产实例

既然我们已经有了SSL证书,就可以配置 Nginx 来使用它了 。要强制使用HTTPS,需要将所有的 HTTP 访问重定向到HTTPS 。将前面的区中替换为如下内容:
{
80;
^(.*);
现在,如果重新加载Nginx配置并在浏览器中访问服务的话,将会看到地址被转换成了 地址 。但该地址不会返回任何内容,我们需要正确地配置HTTPS服务,可通过添加如下服务器配置来实现:
10
11
12
13
14
15
16
17
18
19
20
【第十四章 Odoo 12开发之部署和维护生产实例】21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
443;
# Addfor odoo proxy mode
X--Host $host;
X--For $d_for;
X--Proto $;
X-Real-IP $;
# SSL
ssl on;
/etc/ssl/nginx/.crt;
/etc/ssl/nginx/.key;
30m;
TLSv1 TLSv1.1 TLSv1.2;
'ECDHE-RSA--GCM-:ECDHE-ECDSA--:ECDHE-RSA--GCM-:ECDHE-ECDSA--GCM-:DHE--GCM-:DHE-DSS--GCM-:kEDH+:ECDHE-RSA--
:ECDHE-ECDSA--:ECDHE-RSA--SHA:ECDHE-ECDSA--
SHA:ECDHE-RSA--:ECDHE-ECDSA--:ECDHE-RSA--
SHA:ECDHE-ECDSA--SHA:DHE-RSA--:DHE-RSA--SHA:--:DHE-RSA--:DHE-DSS--SHA:DHE-RSA--
SHA:-GCM-:-GCM-:-:-:-
SHA:-SHA:AES::DES-CBC3-
SHA:!aNULL:!eNULL:!:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-
SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
phers on;
# log
/var/log/nginx/odoo..log;
/var/log/nginx/odoo.error.log;
#to odooport
/ {
;
#to odoo
/ {
off;
;
#gzip
text/css text/scss text/plain text/xml /xml /json /;
gzip on;
以上配置代码会监听HTTPS端口并使用/etc/ssl/nginx/ 证书文件来对数据进行加密 。这与我们在设置 Nginx 反向代理中看到的 配置区相似 。如果重新加载配置,我们的 Odoo 服务将通过HTTPS进行运作,如以下命令所示:
$ sudo nginx -t
nginx: thefile /etc/nginx/nginx.confis ok
nginx:file /etc/nginx/nginx.conf test is
$ sudonginx# or: sudonginx
*nginxnginx
...done.
$ curl -k
最后部分的输入可用于确认Odoo客户端正通过HTTPS进行访问 。
小贴士:在更早的Odoo镜像中,仅在HTTP模式下生效,这就需要在 Nginx 中添加对/pos/ 链接的例外处理 。Odoo 10及之后的镜像中包含了自签署证书来让和IoT Box可通过HTTPS进行通讯,这一修改在中引入 。
缓存静态内容
我们可以配置 Nginx 来缓存服务端静态文件,这样再次请求时就可以访问Nginx 中的缓存,而无需将请求传递到 odoo服务中 。启用静态内容缓存可带来更快的响应时间并减少 Odoo 服务的工作负载 。要启用这一设置,在 /区之前加入如下代码:
# cachedata
~* /web// {
200 60m;
on;
;
;
通过这一些命令,静态数据就可以缓存60分钟了 。在这个期间的其它请求Nginx 会直接使用缓存进行响应 。
服务和模块更新
一旦 Odoo 服务运行了一段时间,就会需要对其进行升级 。这包括两个步骤:获取服务或模块的新版本、执行安装 。
创建分阶环境
如果你按照通过源码安装 Odoo一节正确地进行了安装,应该就可以在暂存区仓库中获取并测试新版本源码 。强烈建议创建一个生产环境数据库的拷贝,并使用它进行升级测试 。如果odoo-prod是我们的生产环境数据库,可通过如下命令创建一个拷贝odoo-stage:
odoo-stage
--owner=odoo odoo-stage
odoo-prod | psql -d odoo-stage
sudo su odoo
cd ~/.local/share/Odoo//
cp -al odoo-prod odoo-stage #