supervisor/systemctl&nginx&uwsgiを使用してodooを実行


リファレンス
1、
https://acespritechblog.com/2013/04/18/configure-openerp-with-nginx-and-gunicorn/
2、
 https://www.jianshu.com/p/c4790842bd0e
 https://suadminwen.github.io/2017/05/29/nginx+uwsgi%E9%83%A8%E7%BD%B2odoo%E6%9C%8D%E5%8A%A1/
 http://www.fsmgsports.com/post/odoo11-install-and-deploy/
 
---
uwsgiがodooを実行する方法:
odooディレクトリは/server/odoo/odoo_12c/
1、odooディレクトリsetupをodoo-wsgi.py odooソースディレクトリ(他のディレクトリでも可能)にコピーして構成します(通常odooを起動するときのプロファイルのように)
内容は次のとおりです.
conf['各種構成名']='構成パラメータ'
例:
# Path to the OpenERP Addons repository (comma-separated for
# multiple locations)
conf['addons_path'] = '/server/odoo/odoo_12c/addons,/server/odoo/odoo_12c/odoo/addons'
# Optional database config if not using local socket
conf['db_name'] = ''
conf['db_host'] = 'localhost'
conf['db_user'] = 'odoo'

2、odoo-wsgiを創立する.pyのプロファイルodoo-wsgi.ini
[uwsgi]
# http       socket   nginx         
http = :9991
#socket = :9991
uid = s2
#     
chdir = /server/odoo/odoo_12c/
#
wsgi-file = odoo-wsgi.py
processes = 4
threads = 2
buffer-size = 50000
stats = 127.0.0.1:9191
logto2= /server/log/odoo/odoo_12c/uwsgi_odoo12.log
#pythonpath = /server/pyvenv/odoo12c/bin/python3.7
plugins=python3

 
3.仮想環境でのuwsgiのインストール
仮想環境への移行
source/server/pyvenv/odoo12c/bin/activate
pip3 install uwsgi
4.運転
/server/pyvenv/odoo12c/bin/uwsgi/server/odoo/odoo_12c/odoo-wsgi.ini
 
試してみてもいいですhttp://localhost:9991
 5.nginxの構成
server {
    listen       82;
    server_name  0.0.0.0;
        #log files
        access_log /var/log/nginx/odoo11c/odoo11c_access.log;
        error_log /var/log/ngonx/odoo11c/odoo_error.log;

     location / {
        include        uwsgi_params;
        uwsgi_pass     127.0.0.1:9912;
     }

     location /longpolling/ {
        proxy_pass        http://localhost:8072/longpolling/;
        proxy_redirect    off;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
     }



#ssl files

#    ssl                  on;
#    ssl_certificate      cert.pem;
#    ssl_certificate_key  cert.key;

#    ssl_session_timeout  5m;

#    ssl_protocols  SSLv2 SSLv3 TLSv1;
#    ssl_ciphers  HIGH:!aNULL:!MD5;
#    ssl_prefer_server_ciphers   on;


# proxy pass # location / { # proxy_pass http://localhost:8011; # proxy_redirect off; # proxy_set_header Host $host; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_set_header X-Real-IP $remote_addr; # }
}

その他:
システムctlまたはsupervisorによる自己起動
supervisor
[program:odoo12c]

# python odoo #command=/server/pyvenv/odoo12c/bin/python3.7 /server/odoo/odoo_12c/odoo-bin -c /server/odoo_conf/odoo12c.conf
#wsgi-odoo
command=/server/pyvenv/odoo12c/bin/uwsgi /server/odoo/odoo_12c/odoo-wsgi.ini
#
autostart=true autorestart=true startsecs=8

#enviroment environment=HOME="/server/odoo",USER="odoo" #environment=PYTHONPATH="$PYTHONPATH:/server/odoo/odoo_11c/venv/bin" user=odoo redirect_stderr=true stdout_logfile=/var/log/supervisord/odoo12c/supervisor-odoo12c.log stdout_logfile_maxbytes=500MB stdout_logfile_backups=50 stdout_capture_maxbytes=1MB stdout_events_enabled=false loglevel=warn

centos systemctl
vi/etc/systemd/system/uwsgi-odoo12c.service
[Unit]
Description=uwsgi-odoo12c
Requires=postgresql-12.service
After=network.target postgresql-12.service

[Service]
Type=simple
SyslogIdentifier=odoo12c
PermissionsStartOnly=true
User=odoo
Group=odoo
WorkingDirectory=/home/odoo
Environment=/data/odoo/pyvenv/odoo12/bin/activate
ExecStart=/server/pyvenv/odoo12c/bin/uwsgi /server/odoo/odoo_12c/uwsgi/odoo12c-wsgi.ini
#ExecStart=/server/pyvenv/odoo12c/bin/python3.7 /server/odoo/odoo_12c/odoo-bin -c /server/odoo_conf/odoo12c.conf
# ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo/odoo12-venv/bin/python3 /opt/odoo/odoo12/odoo-bin -c /etc/odoo12.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target

 
転載先:https://www.cnblogs.com/misstaste/p/9821032.html