zoukankan      html  css  js  c++  java
  • Odoo 部署windows server 2012

    需要安装前置补丁

    clearcompressionflag.exe、KB2919442、KB2919355、KB2932046、KB2959977、KB2937592、KB2938439、KB2934018。

    使用odoo14官网安装包

    地址:https://www.odoo.com/zh_CN/page/download

    NSSM运行Nginx

    下载新版的nginx-window http://nginx.org/en/download.html

    系统找不到nssm则切到odoo安装目录下nssmx64或86下运行

    注册服务 路径为nginx.exe的路径
    nssm install Nginx "D:Program FilesOdoo 14.0.20210710 ginx-1.21.3 ginx.exe"
    运行服务
    nssm start Nginx
    停止服务
    nssm stop Nginx
    移除服务
    nssm remove Nginx

    nignx.conf配置文件

    #user  nobody;
    worker_processes  1;
    
    error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  1800;
    
        gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
        gzip on;
    
        upstream odoo {
            server 127.0.0.1:8069 fail_timeout=3000s;
        }
        upstream odoopoll {
            server 127.0.0.1:8072 fail_timeout=3000s;
        }
    
        server {
            listen       80;
            server_name  localhost;
            charset utf-8;
            access_log off;
    
            location / {
                proxy_pass http://odoo;
    
                client_body_timeout 1200s;
                proxy_connect_timeout 1200s;
                proxy_send_timeout 1200s;
                proxy_read_timeout 1200s;
                proxy_redirect    off;
                proxy_set_header Host $host:$server_port;
                proxy_set_header X-Forwarded-Host $server_name;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
    
            location /longpolling/ {
                proxy_set_header Host $host:8072;
                proxy_pass http://odoopoll/longpolling/;
                proxy_redirect    off;
                proxy_set_header  X-Real-IP        $remote_addr;
                proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_connect_timeout 3600s;
                proxy_read_timeout 3600s;
                proxy_send_timeout 3600s;
                send_timeout 3600;
    
             }
    
            location ~* /[0-9a-zA-Z_]*/static/ {
                proxy_cache_valid       200 60m;
                proxy_buffering         on;
                expires                 864000;
                proxy_pass              http://odoo;
            }
            client_header_buffer_size 512k;
            large_client_header_buffers 4 512k;
        }
    
    }
    
    

    NSSM重启odoo

    nssm restart odoo-server-14.0

    问题汇总

    安装后 localhost:8069无法显示此页,且server/odoo.log 中出现odoo.service.server: Initiating shutdown

    原因:

    创建项目是创建数据库连接时用户名/密码进行自定义, 造成的odoo连接不上数据库导致的初始化失败
    代码运行时报错提示ValueError : embeddednullbyte

    解决:

    找到 项目文件夹/python/Lib/_strptime.py 文件,在文件的最前面部分,找到如下内容,追加一行locale.setlocale(locale.LC_ALL,'en')后重启项目

    
    """Strptime-related classes and functions.
    
    CLASSES:
        LocaleTime -- Discovers and stores locale-specific time information
        TimeRE -- Creates regexes for pattern matching a string of text containing
                    time information
    
    FUNCTIONS:
        _getlang -- Figure out what language is being used for the locale
        strptime -- Calculates the time struct represented by the passed-in string
    
    """
    import time
    import locale
    import calendar
    from re import compile as re_compile
    from re import IGNORECASE
    from re import escape as re_escape
    from datetime import (date as datetime_date,
                          timedelta as datetime_timedelta,
                          timezone as datetime_timezone)
    try:
        from _thread import allocate_lock as _thread_allocate_lock
    except ImportError:
        from _dummy_thread import allocate_lock as _thread_allocate_lock
    
    # 追加一行
    locale.setlocale(locale.LC_ALL,'en') 
    
    __all__ = []
    
  • 相关阅读:
    机器学习实战基础(三十六):随机森林 (三)之 RandomForestClassifier 之 重要属性和接口
    机器学习实战基础(三十五):随机森林 (二)之 RandomForestClassifier 之重要参数
    机器学习实战基础(三十四):随机森林 (一)之 概述
    机器学习实战基础(三十三):决策树(六) 分类树参数列表
    机器学习实战基础(三十二):决策树(五) 决策树的优缺点
    视窗
    返回值
    系统变量
    数值计算
    如何解决飞秋FeiQ绑定端口错误
  • 原文地址:https://www.cnblogs.com/Henry121/p/15502663.html
Copyright © 2011-2022 走看看