odoo 11 配置nginx反向代理
第一步 安装nginx 和 certbot
具体步骤可以参考这篇文章的第6,7步.
第二步 配置nginx映射到odoo网站的文件,主要有2个,文件中的cloudapp.top是我们自己的域名,这里就以cloudapp.top为例。
1.在/etc/nginx/sites-available/目录下新建odoo-80文件,文件内容如下
server { listen [::]:80 ipv6only=off; server_name clouadapp.top;
access_log /home/odoo/odoo_dev/odoo_log/odoo80.access.log combined;
error_log /home/odoo/odoo_dev/odoo_log/odoo80.error.log;
location / { rewrite ^/(.*) https://clouadapp.top/$1 permanent; }
}
2.在/etc/nginx/sites-available/目录下新建odoo-443文件,文件内容如下
server { listen [::]:443 ipv6only=off; server_name cloudapp.top; ssl on; ssl_certificate /etc/letsencrypt/live/cloudapp.top/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/cloudapp.top/privkey.pem; access_log /home/odoo/odoo_dev/odoo_log/odoo443.access.log combined; error_log /home/odoo/odoo_dev/odoo_log/odoo443.error.log; client_max_body_size 128M; gzip on; proxy_read_timeout 600s; index index.html index.htm index.php; add_header Strict-Transport-Security "max-age=31536000"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Host $http_host; location / { proxy_pass http://localhost:8069; proxy_read_timeout 6h; proxy_connect_timeout 5s; proxy_redirect http://$http_host/ https://$host:$server_port/; add_header X-Static no; proxy_buffer_size 64k; proxy_buffering off; proxy_buffers 4 64k; proxy_busy_buffers_size 64k; proxy_intercept_errors on; } location /longpolling/ { proxy_pass http://localhost:8072; } location ~ /[a-zA-Z0-9_-]*/static/ { proxy_pass http://localhost:8069; proxy_cache_valid 200 60m; proxy_buffering on; expires 864000; } }
第三步 建立软链接
sudo ln -s /etc/nginx/sites-available/odoo-80 /etc/nginx/sites-enabled/odoo-80 sudo ln -s /etc/nginx/sites-available/odoo-443 /etc/nginx/sites-enabled/odoo-443
删除、etc/nginx/sites-enabled/default文件
sudo rm /etc/nginx/sites-enabled/default
这样在/etc/nginx/sites-enabled目录下就有2个文件odoo-80 odoo-443,这两个文件就会在nginx启动的时候生效。
第四步 修改odoo配置文件/etc/odoo/odoo.conf,是代理模式生效
proxy_mode = True
第五部 启动odoo服务,可以参考odoo的配置的这篇文章
cd /odoo_dev/odoo11 python3.5 ./odoo-bin -c /etc/odoo/odoo.conf
第六部 启动nginx,并验证网站可访问
sudo nginx -t sudo service nginx restart curl http://127.0.0.1:8069/web
效果如下
通过浏览器访问的效果