odoo 11 配置nginx反向代理

时间:2021-08-13 09:34:32

第一步 安装nginx 和 certbot

   具体步骤可以参考这篇文章的第6,7步.

第二步 配置nginx映射到odoo网站的文件,主要有2个,文件中的cloudapp.top是我们自己的域名,这里就以cloudapp.top为例。

   1.在/etc/nginx/sites-available/目录下新建odoo-80文件,文件内容如下

server {
listen [::]: 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 [::]: 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 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 60m;
proxy_buffering on;
expires ;
}
}

第三步 建立软链接

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  

效果如下

odoo 11 配置nginx反向代理

通过浏览器访问的效果

odoo 11 配置nginx反向代理