在 RHEL/CentOS 和 Debian/Ubuntu 上使用 Nginx 設定 OpenERP (Odoo) 9


在 RHEL/CentOS 和 Debian/Ubuntu 上,在使用 Nginx 配置 OpenERP (Odoo) 9 之前,請安裝 Nginx、PostgreSQL 和 Python 依賴項。對於 OpenERP,請建立一個 PostgreSQL 資料庫和使用者。透過下載 OpenERP 原始碼並解壓。編輯配置檔案以配置 OpenERP。作為反向代理,配置 Nginx 以重定向請求。設定 Nginx 以直接提供靜態檔案。啟動 OpenERP 並開啟自動啟動。要允許入站連線,請修改防火牆規則。透過 Nginx 訪問 OpenERP 以檢查配置。透過此過程,OpenERP 9 將與 Nginx 一起成功安裝在 RHEL/CentOS 和 Debian/Ubuntu 上。

使用的方法

  • 手動配置

  • Docker 安裝

手動配置

在 RHEL/CentOS 上手動配置 Nginx 和 OpenERP (Odoo) 9 包括幾個步驟。首先,在 RHEL/CentOS 系統上設定 Nginx、PostgreSQL 和 Python 的必要依賴項。然後,將下載的 OpenERP 原始碼解壓縮到指定位置。接下來,將相關設定(包括資料庫連線詳細資訊、埠和日誌檔案)新增到 OpenERP 配置檔案中。透過使用正確的代理設定修改其配置檔案以將請求重定向到 OpenERP 伺服器,從而使 Nginx 充當反向代理。為了提高效能,還將 Nginx 設定為直接提供靜態檔案。然後啟動 OpenERP 伺服器並將其配置為在系統啟動時自動啟動。透過更改防火牆規則來允許入站連線。

這種手動配置方法提供了對配置引數的自由和控制,並確保了在 RHEL/CentOS 系統上成功安裝 OpenERP 9 與 Nginx。

演算法

  • 安裝必要的 Python、PostgreSQL 和 Nginx 依賴項。

sudo yum install nginx
sudo yum install postgresql-server
sudo yum install python3 python3-pip
  • 透過下載並解壓 OpenERP 原始碼。

wget https://github.com/odoo/odoo/archive/9.0.tar.gz

tar -xvf 9.0.tar.gz
  • 透過建立一個新的資料庫和使用者來為 OpenERP 設定 PostgreSQL。

sudo su - postgres

createdb myopenerpdatabase

createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt myopenerpuser
  • 修改 OpenERP 配置檔案,新增必要的設定,例如埠和資料庫連線資訊。

cd /path/to/odoo-9.0

cp odoo.conf.template odoo.conf
vi odoo.conf
  • 編輯 Nginx 的配置檔案,將其設定為反向代理,該代理將請求轉發到 OpenERP 伺服器。

sudo vi /etc/nginx/nginx.conf
  • 在 http 塊內新增以下配置

server {
   listen 80;
   server_name your_domain.com;

   location / {
      proxy_pass http://127.0.0.1:8069;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
   }
}
  • 為了提高效能,請設定 Nginx 直接提供靜態檔案。

sudo vi /etc/nginx/nginx.conf
  • 在 http 塊內新增以下配置

http {
   # ...

   location /web/static/ {
      root /path/to/odoo-9.0/;
   }

   # ...
}
  • 啟動 OpenERP 伺服器並將其配置為在啟動後立即啟動。

python3 /path/to/odoo-9.0/odoo-bin -c /path/to/odoo-9.0/odoo.conf

sudo systemctl enable odoo
  • 修改防火牆規則,以允許外部連線到 OpenERP 伺服器。

sudo firewall-cmd --add-service=http --permanent

sudo firewall-cmd --reload
  • 透過使用 Nginx 伺服器登入 OpenERP 來檢查配置。

Docker 安裝

在 Debian/Ubuntu 上使用 Nginx 配置 OpenERP (Odoo) 9 之前,首先在您的 PC 上安裝 Docker。安裝 Docker 後,從官方 Docker 儲存庫中拉取 OpenERP 9 Docker 映象。為了允許容器通訊,請設定一個 Docker 網路。建立一個 PostgreSQL 容器,然後將其配置為僅為 OpenERP 建立一個數據庫。執行 OpenERP 容器,同時確保包含必要的資料庫連線資訊。將 Nginx 配置為反向代理,以將傳入的請求傳送到 OpenERP 容器。調整 Nginx 的設定以直接提供靜態檔案。啟動 Nginx 並確保它與計算機一起啟動。最後,修改防火牆規則以允許 Nginx 入站連線。

此方法提供了容器化的優勢,也簡化了設定,併為 Debian/Ubuntu 上的 OpenERP 與 Nginx 建立了一個可擴充套件且可控的環境。

演算法

  • 開始

  • 必須在 Debian 或 Ubuntu 桌面配置 Docker。

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  • 從官方 Docker 儲存庫下載 OpenERP 9 Docker 映象。

sudo docker pull odoo:9
  • 建立一個 Docker 網路,用於容器之間的通訊。

sudo docker network create odoo_network
  • 配置和修改 PostgreSQL 容器以建立 OpenERP 資料庫。

sudo docker run -d --name db_container --network=odoo_network -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres postgres:12
  • 啟動 OpenERP 容器,同時提供所需的資料庫連線資訊。

sudo docker run -d --name odoo_container --network=odoo_network -p 8069:8069 --link db_container:db -t odoo:9
  • 設定 Nginx 充當反向代理,將流量重定向到 OpenERP 容器。

server {
   listen 80;
   server_name your_domain.com;

   location / {
      proxy_pass https://:8069;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
   }
}
  • 為了啟用靜態檔案的直接服務,請更改 Nginx 的設定。

  • 在 Nginx 預設配置檔案(位於 /etc/nginx/sites-available/default)的 server 塊中新增此行

location /web/static/ {
   proxy_cache_valid 200 60m;
   proxy_buffering on;
   expires 864000;
     proxy_pass https://:8069;
}
  • 啟動 Nginx 並確保它在系統啟動時啟動。

sudo service nginx start
  • 修改防火牆設定以允許 Nginx 入站連線。

sudo ufw allow 80/tcp
  • 結束

結論

總之,在 RHEL/CentOS 和 Debian/Ubuntu 上安裝 OpenERP (Odoo) 9 與 Nginx 的過程包括安裝所需的依賴項、配置 OpenERP 和設定 Nginx 作為反向代理。使用手動配置方法,設定引數靈活且可控,允許根據特定需求進行調整。另一方面,Docker 安裝方法提供了容器化的優勢,簡化了設定過程,並提供了可擴充套件性和可管理性。

使用者可以透過使用手動設定或 Docker 安裝方法成功實施 OpenERP 9 與 Nginx,從而有效地管理企業運營並確保無縫的使用者體驗。兩種方法的選擇取決於個人喜好、知識水平和特定的部署需求。因此,由於設定過程,RHEL/CentOS 和 Debian/Ubuntu 系統都可以執行 OpenERP 9 與 Nginx。

更新於: 2023年8月3日

145 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.