在 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://127.0.0.1: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://127.0.0.1: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 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告