免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Odoo SaaS多租戶部署:Docker鏡像構(gòu)建與權(quán)限配置實(shí)戰(zhàn)

Odoo SaaS多租戶部署:Docker鏡像構(gòu)建與權(quán)限配置實(shí)戰(zhàn) 簡(jiǎn)介本資源是一份面向企業(yè)級(jí)Odoo運(yùn)維工程師與SaaS平臺(tái)架構(gòu)師的實(shí)戰(zhàn)部署指南聚焦基于Docker的多租戶Odoo實(shí)例自動(dòng)化管理方案解決中小企業(yè)快速交付定制化SaaS服務(wù)、統(tǒng)一維護(hù)數(shù)百租戶環(huán)境及實(shí)現(xiàn)訂閱制計(jì)費(fèi)等核心痛點(diǎn)。內(nèi)容涵蓋Python依賴安裝docker/erppeek/paramiko、Odoo-SaaS-Data等關(guān)鍵目錄結(jié)構(gòu)搭建、Nginx虛擬主機(jī)與PostgreSQL配置、基礎(chǔ)Docker鏡像構(gòu)建含UID/GID對(duì)齊要點(diǎn)、遠(yuǎn)程容器部署支持及SaaS訂閱計(jì)劃配置全流程并提供模塊上傳、域名管理、日志排查、備份恢復(fù)等高頻運(yùn)維場(chǎng)景的排錯(cuò)思路。資源為1個(gè)3.99MB的PDF文檔內(nèi)容完整覆蓋環(huán)境準(zhǔn)備、安裝步驟、權(quán)限配置、測(cè)試驗(yàn)證與常見問題處理結(jié)構(gòu)清晰、指令明確適合作為生產(chǎn)環(huán)境部署前的標(biāo)準(zhǔn)化參考手冊(cè)。目前已有140人學(xué)習(xí)下載適合具備Linux服務(wù)器管理、Odoo二次開發(fā)及基礎(chǔ)Docker經(jīng)驗(yàn)的技術(shù)人員深度研讀與落地實(shí)施。1. Odoo SaaS Kit 不是“一鍵部署”而是你親手搭出來的多租戶黑匣子它把每個(gè)客戶塞進(jìn)獨(dú)立 Docker 容器用 Nginx 做門衛(wèi)、PostgreSQL 當(dāng)賬房、Odoo 當(dāng)掌柜——但凡一個(gè) UID 沒對(duì)齊、一個(gè) vhost 模板少個(gè)斜杠、一個(gè) saas.conf 路徑寫錯(cuò)整個(gè)租戶系統(tǒng)就卡在“創(chuàng)建中…”不動(dòng)彈。這不是插件安裝是基礎(chǔ)設(shè)施編排不靠點(diǎn)擊向?qū)Э磕銓?duì)docker build的耐心、對(duì)/etc/sudoers的敬畏、對(duì)pg_hba.confCIDR 規(guī)則的肌肉記憶。適合剛從單體 Odoo 運(yùn)維跳出來、正被客戶反復(fù)問“能不能給我單獨(dú)一個(gè)后臺(tái)”的工程師——你得信自己能管住 50 個(gè)容器、200 個(gè)數(shù)據(jù)庫(kù)、300 個(gè)子域名而不是指望某個(gè)按鈕替你扛下所有邊界條件。2. 從零構(gòu)建 Odoo SaaS 基礎(chǔ)鏡像Dockerfile 里藏了三個(gè)必須死磕的硬核細(xì)節(jié)Odoo SaaS Kit 的核心不是 Python 模塊是那個(gè)被docker build編譯出來的基礎(chǔ)鏡像。它不是官方 Odoo 鏡像的簡(jiǎn)單復(fù)刻而是一套嚴(yán)格對(duì)齊宿主機(jī)環(huán)境的“鏡像契約”。一旦鏡像 UID/GID 錯(cuò)位、entrypoint 權(quán)限缺失、或配置路徑硬編碼錯(cuò)誤后續(xù)所有客戶端容器都會(huì)在啟動(dòng)時(shí)靜默失敗——日志里只有一行Permission denied連報(bào)錯(cuò)堆棧都不給你。下面這三步每一步都踩過血淚坑不能跳。2.1 UID/GID 對(duì)齊為什么你的容器永遠(yuǎn)掛載不了 /var/lib/odoo/dataOdoo SaaS Kit 的設(shè)計(jì)哲學(xué)是宿主機(jī)上的文件所有權(quán)必須和容器內(nèi)完全一致。它不走 volume 綁定的“寬松模式”而是用-v /host/path:/container/path:z強(qiáng)制映射且要求chown -R odoo:odoo /host/path后容器內(nèi)id -u odoo必須等于宿主機(jī)id -u odoo。否則容器內(nèi) Odoo 進(jìn)程根本打不開odoo.conf更別說寫入 session 或附件。提示別查whoami查/etc/passwd。執(zhí)行g(shù)rep odoo /etc/passwd拿到類似odoo:x:998:998::/opt/odoo:/bin/bash:/sbin/nologin的行其中998:998就是你要死記的 UID:GID。在 Dockerfile 開頭必須顯式聲明用戶 ID# Dockerfile FROM ubuntu:20.04 # 關(guān)鍵必須與宿主機(jī) odoo 用戶 UID/GID 嚴(yán)格一致 ARG ODIO_UID998 ARG ODIO_GID998 # 創(chuàng)建同名用戶組和用戶UID/GID 硬編碼 RUN groupadd -g ${ODIO_GID} odoo \ useradd -m -u ${ODIO_UID} -g ${ODIO_GID} -s /bin/bash odoo # 切換到 odoo 用戶后續(xù)所有 RUN、CMD 都在此上下文 USER odoo:odoo參數(shù)說明ARG ODIO_UID/GID是構(gòu)建時(shí)傳入的變量方便不同環(huán)境復(fù)用同一份 Dockerfilegroupadd -g和useradd -u中的-g-u參數(shù)強(qiáng)制指定 GID/UID避免系統(tǒng)自動(dòng)分配USER odoo:odoo必須放在所有RUN apt install之后、COPY之前——因?yàn)閍pt install需要 root但COPY --chownodoo:odoo后的文件必須由USER指定的用戶來讀取。2.2 entrypoint.sh那個(gè)被忽略的“容器啟動(dòng)守門人”O(jiān)doo SaaS Kit 不直接docker run odoo:14.0而是通過自定義entrypoint.sh控制整個(gè)生命周期。這個(gè)腳本干三件事校驗(yàn)配置路徑、動(dòng)態(tài)生成odoo.conf、檢查 PostgreSQL 連通性。如果它沒被執(zhí)行或者權(quán)限不對(duì)容器會(huì)秒退docker logs里空空如也。先確保entrypoint.sh在宿主機(jī)上具備可執(zhí)行權(quán)限并歸屬 odoo 用戶# 在宿主機(jī)執(zhí)行假設(shè) Dockerfile 和 entrypoint.sh 同目錄 chmod x entrypoint.sh chown odoo:odoo entrypoint.shDockerfile 中必須 COPY 并設(shè)權(quán)# Dockerfile續(xù) COPY --chownodoo:odoo entrypoint.sh /home/odoo/entrypoint.sh RUN chmod x /home/odoo/entrypoint.sh # 設(shè)置入口點(diǎn)注意不是 CMD ENTRYPOINT [/home/odoo/entrypoint.sh]entrypoint.sh的關(guān)鍵邏輯節(jié)選帶注釋#!/bin/bash # entrypoint.sh # 1. 校驗(yàn) saas.conf 是否存在且可讀這是 odoo_saas_kit 模塊的配置中樞 if [ ! -f /home/odoo/saas.conf ]; then echo ERROR: /home/odoo/saas.conf not found. This is required by Odoo SaaS Kit. exit 1 fi # 2. 動(dòng)態(tài)生成 odoo.conf從模板注入 client_id、db_host、db_port 等運(yùn)行時(shí)參數(shù) # SaaS Kit 在創(chuàng)建容器時(shí)會(huì)通過 --env 注入這些變量 cat /etc/odoo/odoo.conf EOF [options] admin_passwd ${ADMIN_PASSWD:-change_me} db_host ${DB_HOST:-localhost} db_port ${DB_PORT:-5432} db_user ${DB_USER:-odoo} db_password ${DB_PASSWORD:-odoo} addons_path /usr/lib/python3/dist-packages/odoo/addons,/mnt/extra-addons data_dir /var/lib/odoo logfile /var/log/odoo/odoo-server.log log_level info EOF # 3. 等待 PostgreSQL 就緒避免容器啟動(dòng)快于 DB導(dǎo)致 Odoo 初始化失敗 until pg_isready -h ${DB_HOST:-localhost} -p ${DB_PORT:-5432} -U ${DB_USER:-odoo}; do echo Waiting for PostgreSQL at ${DB_HOST:-localhost}:${DB_PORT:-5432}... sleep 2 done # 4. 最終執(zhí)行 Odoo 啟動(dòng)命令 exec /usr/bin/odoo $參數(shù)說明--env注入的變量如DB_HOST,ADMIN_PASSWD必須與odoo_saas_kit模塊在調(diào)用docker run時(shí)傳入的完全一致pg_isready是 PostgreSQL 自帶的健康檢查工具比sleep 10可靠十倍exec是關(guān)鍵它用 Odoo 進(jìn)程替換當(dāng)前 shell 進(jìn)程保證docker stop能正常發(fā)送 SIGTERM。2.3 構(gòu)建與推送docker build命令末尾那個(gè)點(diǎn)不是裝飾構(gòu)建命令本身極簡(jiǎn)但路徑、上下文、標(biāo)簽三者必須咬合# 切換到 Dockerfile 所在目錄絕對(duì)路徑 cd /opt/odoo/docker-build/ # 構(gòu)建命令注意最后的 . 是當(dāng)前目錄上下文不可省略 docker build \ --build-arg ODIO_UID998 \ --build-arg ODIO_GID998 \ -t odoosaas:14.0-ubuntu20.04 \ . # 驗(yàn)證鏡像是否包含正確用戶 docker run --rm odoosaas:14.0-ubuntu20.04 id -u odoo # 應(yīng)輸出 998 docker run --rm odoosaas:14.0-ubuntu20.04 ls -l /etc/odoo/odoo.conf # 應(yīng)顯示 odoo:odoo 所有者常見失敗現(xiàn)象與排查docker build報(bào)錯(cuò)unable to prepare context: path .../Dockerfile not found→ 檢查當(dāng)前目錄是否真有DockerfileLinux 區(qū)分大小寫構(gòu)建成功但docker run啟動(dòng)即退出 →docker logs container_id查看90% 是entrypoint.sh權(quán)限問題或saas.conf路徑錯(cuò)誤docker run啟動(dòng)后ps aux | grep odoo沒進(jìn)程 →docker exec -it container_id bash進(jìn)去手動(dòng)執(zhí)行sh -x /home/odoo/entrypoint.sh看哪一行卡住。3. Odoo 服務(wù)賬戶提權(quán)給 odoo 用戶開三把鎖一把都不能少Odoo SaaS Kit 的模塊代碼運(yùn)行在 Odoo 進(jìn)程內(nèi)但它要干的事遠(yuǎn)超普通業(yè)務(wù)邏輯它要調(diào)用docker命令創(chuàng)建容器、要sudo nginx -t sudo systemctl reload nginx重載虛擬主機(jī)、還要psql連 PostgreSQL 創(chuàng)建數(shù)據(jù)庫(kù)。默認(rèn)的odoo用戶什么權(quán)限都沒有——你得親手給它開三把鎖缺一不可。3.1 Docker 組權(quán)限讓 odoo 用戶成為容器調(diào)度員Docker 守護(hù)進(jìn)程默認(rèn)只允許root或docker組成員操作。odoo_saas_kit模塊底層調(diào)用的是docker-pyPython 的 Docker SDK它最終會(huì)觸發(fā)docker.sock的 Unix socket 通信。所以必須把odoo用戶加進(jìn)docker組# 添加用戶到 docker 組立即生效需重新登錄或重啟 odoo 服務(wù) sudo usermod -a -G docker odoo # 驗(yàn)證切換到 odoo 用戶測(cè)試能否列出鏡像 sudo -u odoo docker images # 若報(bào)錯(cuò) Got permission denied...說明組未生效執(zhí)行 newgrp docker # 臨時(shí)刷新組權(quán)限僅當(dāng)前 shell注意newgrp docker只影響當(dāng)前終端會(huì)話。生產(chǎn)環(huán)境務(wù)必重啟 Odoo 服務(wù)sudo systemctl restart odoo讓 Odoo 進(jìn)程以新組權(quán)限啟動(dòng)。3.2 Nginx 免密控制讓 odoo 用戶能 reload 配置而不輸密碼SaaS Kit 在創(chuàng)建客戶端時(shí)會(huì)自動(dòng)生成 Nginx 虛擬主機(jī)配置如/opt/odoo/Odoo-SAAS-Data/docker_vhosts/client1.example.com.conf然后執(zhí)行sudo nginx -t sudo systemctl reload nginx。這意味著odoo用戶必須被授權(quán)執(zhí)行這兩條命令且無需密碼。編輯/etc/sudoers必須用visudo禁止直接 vimsudo visudo在文件末尾添加嚴(yán)格按格式空格和標(biāo)點(diǎn)不能錯(cuò)# 允許 odoo 用戶免密執(zhí)行 nginx 測(cè)試和重載 odoo ALL(ALL) NOPASSWD: /usr/sbin/nginx -t, /bin/systemctl reload nginx驗(yàn)證方式切到 odoo 用戶執(zhí)行sudo -u odoo sudo nginx -t # 應(yīng)輸出 syntax is ok sudo -u odoo sudo systemctl reload nginx # 應(yīng)無報(bào)錯(cuò)Nginx 配置熱更新提示systemctl reload nginx在 Ubuntu 20.04 是安全的它等價(jià)于nginx -s reload不會(huì)中斷現(xiàn)有連接。3.3 PostgreSQL 數(shù)據(jù)庫(kù)權(quán)限不只是登錄是建庫(kù)建用戶的權(quán)力SaaS Kit 創(chuàng)建客戶端時(shí)會(huì)連接 PostgreSQL 并執(zhí)行CREATE DATABASE client1;和CREATE USER client1 WITH PASSWORD xxx;。這意味著odoo用戶連接 PostgreSQL 時(shí)必須擁有CREATEDB和CREATEROLE權(quán)限。登錄 PostgreSQL用 postgres 用戶sudo -u postgres psql執(zhí)行授權(quán)假設(shè)你的 PostgreSQL 超級(jí)用戶是postgresSaaS Kit 連接用的用戶是odoo-- 確保 odoo 用戶存在若不存在則創(chuàng)建 CREATE USER odoo WITH PASSWORD your_strong_password; -- 授予創(chuàng)建數(shù)據(jù)庫(kù)和角色的權(quán)限 ALTER USER odoo CREATEDB CREATEROLE; -- 驗(yàn)證 \du odoo -- 輸出中應(yīng)看到 Create DB 和 Create role 為 true同時(shí)必須修改 PostgreSQL 的訪問控制文件pg_hba.conf允許odoo用戶從 Docker 網(wǎng)絡(luò)通常是172.17.0.0/16連接# 編輯 /etc/postgresql/*/main/pg_hba.conf在末尾添加 # TYPE DATABASE USER ADDRESS METHOD host all odoo 172.17.0.0/16 md5 host all odoo 127.0.0.1/32 md5然后重載配置sudo systemctl reload postgresql避坑 / 常見問題 / 排查現(xiàn)象SaaS Kit 創(chuàng)建客戶端時(shí)卡在 “Creating database…” 10 分鐘日志里只有psycopg2.OperationalError: timeout expired原因pg_hba.conf沒加172.17.0.0/16規(guī)則或postgresql.conf中l(wèi)isten_addresses沒設(shè)為localhost,127.0.0.1默認(rèn)只監(jiān)聽本地 socket解決檢查sudo cat /etc/postgresql/*/main/postgresql.conf | grep listen_addresses確保為listen_addresses localhost,127.0.0.1再確認(rèn)pg_hba.conf規(guī)則已加并重載?,F(xiàn)象sudo -u odoo docker images正常但 Odoo 后臺(tái)點(diǎn)擊“創(chuàng)建客戶端”報(bào)錯(cuò)Command docker not found原因odoo用戶的$PATH環(huán)境變量里沒有/usr/binDocker 二進(jìn)制通常在此解決編輯/etc/systemd/system/odoo.service在[Service]段添加EnvironmentPATH/usr/local/bin:/usr/bin:/bin然后sudo systemctl daemon-reload sudo systemctl restart odoo?,F(xiàn)象Nginx 虛擬主機(jī)配置生成了但sudo nginx -t報(bào)錯(cuò)unknown directive upstream原因odoo_saas_kit生成的.conf文件里用了upstream塊但你的 Nginx 編譯時(shí)沒啟用http_upstream_module極少見但某些精簡(jiǎn)版鏡像會(huì)有解決nginx -V 21 | grep -o with-http_upstream_module若無輸出則重裝標(biāo)準(zhǔn) Nginxsudo apt install --reinstall nginx-full。現(xiàn)象odoo_saas_kit模塊安裝后后臺(tái)“SaaS 服務(wù)器”配置頁(yè)空白F12 看 Network 有 500 錯(cuò)誤原因saas.conf文件路徑配置錯(cuò)誤或odoo_saas_kit/models/lib/saas.conf里寫的nginx_vhosts /wrong/path導(dǎo)致 Python 讀取失敗解決進(jìn)入 Odoo 服務(wù)端 Python shellsudo -u odoo python3 -c from odoo_saas_kit.models.lib import saas; print(saas.nginx_vhosts)確認(rèn)路徑是否真實(shí)存在且odoo用戶可讀。4. SaaS 服務(wù)器與遠(yuǎn)程節(jié)點(diǎn)配置跨服務(wù)器部署不是加臺(tái)機(jī)器是重建信任鏈Odoo SaaS Kit 支持“主控服務(wù)器 多臺(tái)遠(yuǎn)程計(jì)算節(jié)點(diǎn)”的架構(gòu)。但這不是簡(jiǎn)單的docker run分發(fā)而是一整套 SSH、Docker、PostgreSQL 的信任鏈重建。主服務(wù)器上的odoo_saas_kit模塊會(huì)通過paramiko庫(kù) SSH 登錄遠(yuǎn)程服務(wù)器再調(diào)用其本地docker命令。任何一環(huán)斷開遠(yuǎn)程部署就變成灰色按鈕。4.1 遠(yuǎn)程服務(wù)器初始化UID/GID 必須和主服務(wù)器 odoo 用戶完全一致這是跨服務(wù)器部署的第一鐵律。遠(yuǎn)程服務(wù)器上新建的odoo用戶UID/GID 必須和主服務(wù)器odoo用戶一模一樣。否則當(dāng)主服務(wù)器通過paramiko執(zhí)行docker run -v /host/path:/container/path時(shí)容器內(nèi)進(jìn)程會(huì)因 UID 不匹配而無法讀寫掛載卷。在遠(yuǎn)程服務(wù)器上執(zhí)行假設(shè)主服務(wù)器odooUID998, GID998# 創(chuàng)建系統(tǒng)用戶UID/GID 強(qiáng)制指定 sudo adduser --system --home /opt/odoo --shell /bin/bash --uid 998 --gid 998 odoo # 設(shè)置密碼SaaS Kit 用密碼 SSH不用密鑰 sudo passwd odoo # 安裝 Docker同主服務(wù)器步驟 curl -fsSL https://get.docker.com | sh sudo usermod -aG docker odoo提示--system創(chuàng)建的是無登錄 shell 的系統(tǒng)用戶符合 Odoo 生產(chǎn)部署規(guī)范--home /opt/odoo路徑必須和主服務(wù)器一致因?yàn)閛doo_saas_kit模塊會(huì)硬編碼該路徑生成配置。4.2 Docker 守護(hù)進(jìn)程暴露tcp://0.0.0.0:2375 是把雙刃劍odoo_saas_kit調(diào)用docker-py連接遠(yuǎn)程 Docker 守護(hù)進(jìn)程用的是 TCP 協(xié)議docker://tcp://remote-ip:2375。這意味著遠(yuǎn)程服務(wù)器的 Docker 必須監(jiān)聽 TCP 端口而非默認(rèn)的 Unix socket。修改/lib/systemd/system/docker.service# 找到 ExecStart 行改為 ExecStart/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375然后重載并重啟sudo systemctl daemon-reload sudo systemctl restart docker但暴露 2375 端口極其危險(xiǎn)必須立即配置防火墻只允許主服務(wù)器 IP 訪問# Ubuntu UFW假設(shè)主服務(wù)器內(nèi)網(wǎng) IP 是 192.168.1.100 sudo ufw allow from 192.168.1.100 to any port 2375 sudo ufw enable提示ufw status verbose可查看規(guī)則是否生效。若用 iptables命令為sudo iptables -A INPUT -p tcp --dport 2375 -s 192.168.1.100 -j ACCEPT。4.3 主服務(wù)器連接測(cè)試用 Python 腳本代替 Odoo 后臺(tái)點(diǎn)點(diǎn)點(diǎn)在主服務(wù)器上寫一個(gè)最小化測(cè)試腳本繞過 Odoo 框架直連遠(yuǎn)程 Docker驗(yàn)證鏈路是否打通# test_remote_docker.py import docker # 替換為你的遠(yuǎn)程服務(wù)器 IP 和端口 client docker.DockerClient(base_urltcp://192.168.1.200:2375) try: # 列出遠(yuǎn)程鏡像驗(yàn)證連接 images client.images.list() print(f? 連接成功遠(yuǎn)程有 {len(images)} 個(gè)鏡像) # 嘗試?yán)∫粋€(gè)輕量鏡像可選 # client.images.pull(alpine:latest) # print(? alpine:latest 拉取成功) except Exception as e: print(f? 連接失敗{e})執(zhí)行sudo -u odoo python3 test_remote_docker.py只有這個(gè)腳本能跑通SaaS Kit 的遠(yuǎn)程部署才可能成功。后臺(tái)配置里的“測(cè)試連接”按鈕本質(zhì)就是跑這段邏輯。5. SaaS 訂閱計(jì)劃與客戶端實(shí)例從“創(chuàng)建模板”到“客戶收到郵件”的全鏈路拆解SaaS Kit 的商業(yè)閉環(huán)始于一個(gè)訂閱計(jì)劃Plan終于一封發(fā)給客戶的激活郵件。但中間每一步都是可編程的模板數(shù)據(jù)庫(kù)的初始化、客戶端容器的啟動(dòng)參數(shù)、Nginx 虛擬主機(jī)的動(dòng)態(tài)生成、甚至郵件內(nèi)容里的重置密碼鏈接。這一章我們拆開odoo_saas_kit模塊里最關(guān)鍵的三個(gè)動(dòng)作創(chuàng)建模板、創(chuàng)建客戶端、發(fā)送郵件。5.1 創(chuàng)建數(shù)據(jù)庫(kù)模板不是備份還原是 Odoo 的“全新安裝 模塊預(yù)裝”點(diǎn)擊“創(chuàng)建數(shù)據(jù)庫(kù)模板”按鈕odoo_saas_kit實(shí)際執(zhí)行的是調(diào)用erppeek連接 PostgreSQL執(zhí)行CREATE DATABASE plan_template_123;啟動(dòng)一個(gè)臨時(shí) Odoo 容器用你配置的odoo_image連接此新庫(kù)在該容器內(nèi)執(zhí)行odoo-bin -d plan_template_123 --init base,web,mail,hr,...--init后跟你在 Plan 中勾選的“相關(guān)模塊”初始化完成后停掉臨時(shí)容器模板庫(kù)plan_template_123就緒。關(guān)鍵參數(shù)在 Plan 配置頁(yè)數(shù)據(jù)庫(kù)模板字段填my_plan_template則庫(kù)名是my_plan_template留空則自動(dòng)生成plan_template_123相關(guān)模塊這里勾選的模塊會(huì)作為--init參數(shù)傳給 Odoo。注意這些模塊必須存在于common_addons目錄且版本兼容如 Odoo 14.0 的模塊不能 init 到 12.0 容器計(jì)費(fèi)周期純業(yè)務(wù)邏輯不影響技術(shù)流程但決定了后續(xù)發(fā)票生成頻率。5.2 創(chuàng)建客戶端實(shí)例docker run命令的完整展開式當(dāng)你點(diǎn)擊“創(chuàng)建并確認(rèn)客戶端”odoo_saas_kit會(huì)拼出一條完整的docker run命令。我們可以從源碼反推其結(jié)構(gòu)odoo_saas_kit/models/saas_client.pydocker run -d \ --name client_john_doe \ --restart unless-stopped \ -p 8080:8069 \ -v /opt/odoo/Odoo-SAAS-Data/client_john_doe/data-dir:/var/lib/odoo \ -v /opt/odoo/Odoo-SAAS-Data/client_john_doe/odoo.conf:/etc/odoo/odoo.conf \ -v /opt/odoo/common_addons:/mnt/extra-addons \ -e DB_HOST192.168.1.100 \ -e DB_PORT5432 \ -e DB_USERclient_john_doe \ -e DB_PASSWORDstrong_pass_123 \ -e ADMIN_PASSWDmaster_key_456 \ --network bridge \ odoosaas:14.0-ubuntu20.04各參數(shù)含義--name client_john_doe容器名也是客戶端域名如john.doe.example.com-v .../data-dir:/var/lib/odoo掛載數(shù)據(jù)目錄odoo_saas_kit會(huì)在此目錄下生成filestore/和session/-v .../odoo.conf:/etc/odoo/odoo.conf掛載配置文件odoo_saas_kit會(huì)根據(jù) Plan 配置動(dòng)態(tài)生成-v /opt/odoo/common_addons:/mnt/extra-addons掛載通用模塊所有客戶端共享-e DB_*數(shù)據(jù)庫(kù)連接參數(shù)指向?yàn)樵摽蛻舳藙?chuàng)建的專屬 PostgreSQL 用戶odoosaas:14.0-ubuntu20.04你構(gòu)建的基礎(chǔ)鏡像。5.3 郵件發(fā)送機(jī)制鏈接里的 token 是怎么生成的客戶收到的郵件里有這樣一個(gè)鏈接https://john.doe.example.com/web/reset_password?tokenabc123def456...這個(gè)token不是隨機(jī)字符串而是 Odoo 標(biāo)準(zhǔn)的reset_passwordtoken由res.users模型的action_reset_password()方法生成。odoo_saas_kit在創(chuàng)建客戶端后會(huì)調(diào)用self.env[res.users].create({...})創(chuàng)建管理員用戶郵箱為客戶填寫的郵箱調(diào)用user.action_reset_password()生成 token 并存入res_users表的login_date字段實(shí)際是password_write_date拼接 URLhttps://{client_domain}/web/reset_password?token{token}。驗(yàn)證方式進(jìn)入 Odoo 后臺(tái)打開“設(shè)置 用戶 公司 用戶”找到該客戶用戶點(diǎn)擊“重置密碼”看彈出的鏈接是否和郵件里一致。提示如果郵件沒收到先檢查 Odoo 的郵件服務(wù)器配置Settings General Settings Email再檢查odoo_saas_kit模塊里models/saas_client.py的_send_welcome_email()方法是否被正確調(diào)用可在日志里搜welcome email sent。6. 日志、備份與故障定位當(dāng)“創(chuàng)建中…”卡住時(shí)你該看哪 5 個(gè)地方SaaS Kit 的后臺(tái)界面很友好但它的“友好”是建立在大量后臺(tái)異步任務(wù)之上的。一旦卡在“創(chuàng)建中…”界面不會(huì)告訴你錯(cuò)在哪。你得像老中醫(yī)一樣望聞問切——看日志、查進(jìn)程、驗(yàn)網(wǎng)絡(luò)、翻配置、試命令。下面這五個(gè)位置是我每次翻車必查的“后悔藥”。6.1 Odoo 服務(wù)端日志/var/log/odoo/odoo-server.log里的第一行線索這是最頂層的日志。搜索關(guān)鍵詞# 查看最近 100 行過濾 saas 相關(guān) sudo tail -100 /var/log/odoo/odoo-server.log | grep -i saas # 查看 ERROR 和 CRITICAL sudo grep -E (ERROR|CRITICAL) /var/log/odoo/odoo-server.log | tail -20典型線索odoo.addons.odoo_saas_kit.models.saas_client: Error creating client: Command [docker, run, ...] returned non-zero exit status 1→ Docker 命令失敗轉(zhuǎn)去看docker logspsycopg2.OperationalError: FATAL: password authentication failed for user client_xyz→ PostgreSQL 用戶密碼不對(duì)檢查odoo_saas_kit/models/saas_client.py里create_db_user()的密碼生成邏輯ValueError: invalid literal for int() with base 10: None→saas.conf里某個(gè)路徑配置為空比如odoo_saas_data 后面沒填路徑。6.2 Docker 容器日志docker logs -f container_name是真相發(fā)生地當(dāng) Odoo 日志說“Docker 命令失敗”立刻docker ps -a找到對(duì)應(yīng)容器狀態(tài)可能是Exited (1)然后# 查看退出容器的日志-f 無效用 --tail docker logs --tail 100 client_john_doe # 如果容器還在運(yùn)行實(shí)時(shí)跟蹤 docker logs -f client_john_doe高頻錯(cuò)誤Could not open config file /etc/odoo/odoo.conf: Permission denied→ UID/GID 不匹配容器內(nèi)odoo用戶無法讀宿主機(jī)掛載的文件psycopg2.OperationalError: could not connect to server: Connection refused→DB_HOST配錯(cuò)了不是localhost容器內(nèi) localhost 是自己而是主服務(wù)器或遠(yuǎn)程 PostgreSQL 的 IPImportError: No module named hr→common_addons目錄里沒放hr模塊或模塊版本與 Odoo 版本不兼容。6.3 Nginx 錯(cuò)誤日志/var/log/nginx/error.log揭露 502 的真正兇手客戶端域名能解析但打開是 502 Bad Gateway一定是 Nginx 沒轉(zhuǎn)發(fā)到后端 Odoo 容器。查sudo tail -50 /var/log/nginx/error.log | grep client_john_doe關(guān)鍵線索connect() failed (111: Connection refused) while connecting to upstream→ Nginx 配置里的proxy_pass http://127.0.0.1:8080;但容器沒映射8080端口或容器根本沒起來open() /etc/nginx/conf.d/client_john_doe.conf failed (2: No such file or directory)→odoo_saas_kit沒生成 vhost 文件檢查docker_vhosts目錄權(quán)限和saas.conf里nginx_vhosts路徑no resolver defined to resolve client_john_doe→ Nginx 配置用了域名解析但沒配resolver改用 IP 地址。6.4 PostgreSQL 日志/var/log/postgresql/postgresql-*-main.log里的連接審計(jì)當(dāng) Odoo 報(bào)“數(shù)據(jù)庫(kù)連接失敗”但psql -h 192.168.1.100 -U odoo能連問題可能出在客戶端專屬用戶上。查 PG 日志sudo tail -50 /var/log/postgresql/postgresql-*-main.log | grep -E (client_john_doe|FATAL)典型記錄FATAL: password authentication failed for user client_john_doe→ 密碼不匹配檢查odoo_saas_kit創(chuàng)建用戶時(shí)的password字段FATAL: database client_john_doe does not exist→ 數(shù)據(jù)庫(kù)沒創(chuàng)建成功回溯 Odoo 日志里CREATE DATABASE是否執(zhí)行connection received: host172.17.0.3 port54322→ 看host后的 IP確認(rèn)是不是 Docker 網(wǎng)絡(luò) IP172.17.x.x如果不是說明DB_HOST配錯(cuò)了。6.5 手動(dòng)模擬創(chuàng)建流程用 5 行命令復(fù)現(xiàn)整個(gè)鏈路當(dāng)所有日志都模糊我就會(huì)放棄 GUI用最原始的方式手動(dòng)走一遍# 1. 手動(dòng)創(chuàng)建 PostgreSQL 用戶和庫(kù) sudo -u postgres psql -c CREATE DATABASE client_test; sudo -u postgres psql -c CREATE USER client_test WITH PASSWORD test123; # 2. 手動(dòng)啟動(dòng)一個(gè)客戶端容器復(fù)用你的基礎(chǔ)鏡像 docker run -d \ --name client_test \ -v /opt/odoo/Odoo-SAAS-Data/client_test/data-dir:/var/lib/odoo \ -v /opt/odoo/Odoo-SAAS-Data/client_test/odoo.conf:/etc/odoo/odoo.conf \ -e DB_HOST192.168.1.100 \ -e DB_USERclient_test \ -e DB_PASSWORDtest123 \ -e ADMIN_PASSWDmaster123 \ odoosaas:14.0-ubuntu20.04 # 3. 查看容器日志 docker logs -f client_test # 4. 如果成功手動(dòng)創(chuàng)建 Nginx vhost復(fù)制一份 template cp /opt/odoo/Odoo-SAAS-Data/docker_vhosts/vhosttemplate.txt /opt/odoo/Odoo-SAAS-Data/docker_vhosts/client_test.conf sed -i s/{domain}/client.test.example.com/g; s/{port}/8080/g /opt/odoo/Odoo-SAAS-Data/docker_vhosts/client_test.conf sudo nginx -t sudo systemctl reload nginx # 5. 瀏覽器訪問 client.test.example.com看是否能進(jìn) Odoo 登錄頁(yè)從那以后我每次遇到“創(chuàng)建中…”卡住都強(qiáng)制走一遍這 5 行命令——它逼我把所有隱式依賴路徑、權(quán)限、網(wǎng)絡(luò)、配置全部顯式化。往往走到第 2 步docker run就報(bào)錯(cuò)真相瞬間大白。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
伊人在线视频| 五月在线| Www99热| 亚洲综合激情五月久久| 婷婷色色婷婷| 国产成人va在线| 99在线视频资源| 午夜天堂一区人妻| 天天干电影| 五月天婷网| 超碰人人超碰| 免费97碰碰| 中文字幕日产A片在线看| 日日操日日撸| 五月天色社区| 天天操夜夜橾| 丁香六月婷婷综合欧美| 亚洲 五月 婷婷 成人| 九九色色| 国产真实乱对白精彩| 天天影视色综合网| 婷婷五月天性| 五月婷婷丁香在线视频| 日韩精品色| 婷婷丁香五月亚洲欧美| 亚洲综合婷婷| 婷婷色播色五月五色五月天色妇| 久久视频66| 大香蕉99热| 激情99。| www.minyis.com【JT】实力收量可预付TG@LXSPSW8 | 丁香五月婷婷Av| 91 九色大美女| 色综合色色| 热99这就是精品视频| 天天上天天爽| 九九热这里只有精品12| 俺也去综合| 天天爽成人综合网站| 色色操| 99re思思热久久| 久热这里精品免费| 99思思热只有在这里看| 色色色色色色色色综合网| 一區四區歐美日韓| 人人干AV| 久久这里只精品| www.五月天激情| 99热色在线精品| 婷婷色五月天第7色| www.色婷婷| 一逼色综合| 激情综合在线观看| 九九精品片一| 99爱免费视频| 日韩精品一品二区三区的使用体验| 丁香六月婷婷综合啪啪| 婷婷99狠狠| 97狠狠色| 开心五月丁香啪| 婷婷五月天综合蜜桃| 婷婷久久免费看| 天天激情综合| 综合五月天婷婷色| 五月丁香激情综合网| 五月天激情综合| 久久九九免费视频| 婷婷六月丁香五月| 激情玖玖综合网| 色都都狠狠色都都色综合色| 日本美女上人| 欧美英丁香开心快乐六月天网| 国产永久一黄| 久草婷婷| se99视频| 99热综合| 香蕉网久久| 性爱网五月天| www色五月天| 精品久久人妻| 人妻丰满精品一区二区A片| 色爽干| av超碰在线| 人妻精品在线| 午夜色丁香| 五月天婷婷影院| 色五月大香蕉| 色色九区| 精品成人无码A片观看香草视频 | 九九婷婷五月天| 久久天天| 99日这里只有精品| 亚洲综合五月天婷婷| 日韩十国产极品久久| 色欲色香综合网| 五月婷婷大香蕉| 日本熟妇乱妇熟色A片蜜桃| 日韩av在线播放综合网| 开心 五月 综合| 久狠日av| 夜夜穞天天穞狠狠穞AV美女按摩| 久久久WWW| 久久香蕉婷婷五月天| 久99综合婷婷| 色丁香影院| 99在线精品视频在线观看| 一点色成人网| 激情小说五月天社区丁香| 婷婷五月综合激情小说| 五月婷婷综合在线| 五月停停色色丁香| 99成人| 国产精自产拍久久久久久蜜| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 丁香五月综合婷婷| 九九热婷婷| 夫妇交换刺激做爰| 国产五月丁香在线| 97操碰| 狠狠 久久| 丁香激惜男女| 久久香蕉网| www.99热精品| 超级碰碰碰97免费| 色五月天丁香婷婷| 超碰成人电影| 色婷操逼| 色情五月天se| 欧美三级A做爰在线观看| 91趴趴| 五月丁香色五月| 丁香婷婷久久| 性色播| 亚洲午夜视频| 婷婷五月天激情网| 色综合色色| 天天干,天天操,天天射| www.五月天婷婷| www.婷婷激情网.com| 精品国产AV色一区二区深夜久久| 99高级会所久久| 九九青青草成人| 伊人青涩网| 开心五月色婷| 五月天综合色| 亚洲精品色| 超碰99热在线观看| 色狠狠综合网| 狠狠色五月激情| 五月天婷婷在线AN| 91精品刘玥| 五月婷婷久久激情| 久婷婷久草| 日本成人小说婷婷六月| 久久超级碰视频| 开心婷婷五月| 日本91在线| 激情婷婷丁香五月天| 亚洲AVDVD| 精品色色| 久婷婷五月丁香在线观看| av狠狠操| 丁香激情婷婷网| 日韩99无码| 久久婷婷五月天亚洲欧美| 久99久视频精品| 五月天色婷婷网| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 狠狠色噜噜狠狠| 色综合99色| 99久久免费精品| 天天色天天操天天射| 亚洲免费视频网站| 另类视频五月天| 婷婷成人在线| 色欧美日| 日本熟妇乱妇熟色A片蜜桃| 三十路磁力链接| 色吊操色妞| 亚洲色婷婷| 国产在线中文字幕| 激情五月成年| 91色五月| 99色 色| 色婷婷文字幕| 无码人妻AV久久久一区二区三区| 99热这里只有精品免费| 免费日韩99| 色约约视频一区二区三区四区五区| 思思热视频在线观看| 五月婷婷色影院| 久久a热| 森林影视大全,最好看的2019年视频 | 五月伊人婷婷999| 97碰久久| 99爱视频在线| 成人精品网站在线观看| 另类天堂| 激情综合九月| 97色色在线视频| 大香蕉啪啪| 国精产品一区一区三区免费视频| 久草视频一,二三四| 天天做天天双| 五月天激情综合网俺也去| 久久久国产精品黄毛片| 一个色的综合| 亚洲成人AV在线播放| 色婷婷成人做爰A片免费看网站| 99热免费看| 亚洲精品色色| av在线观看免费| 九九综合九| 超碰色综合| 五月婷伊人| 伊人婷婷五月天av| 91fuliwang| 五月婷在线| 五月婷婷六月激情| se99视频| 久久人妻视步| 色噜噜狠狠狠综合曰曰曰| 激情另类综合| 91超碰九色| 婷婷五月天综合久久日美女| 久久AV无码精品人妻系列试探| 天天爽天天爽| 五月综合在线| 久久免费精彩视频| 99在线小视频| 九九热在线视频观看| 婷婷五月天无码视频| caop在线| 五月综合久久| 丁香五月久久| 亚洲va欧美| 色五月婷婷影院| 日美三级| 久久天堂婷婷五月| 月色色综合婷婷网| 久久久久婷| 91久久人人操| 大香蕉伊在| 亚洲综合另类| 五月天婷婷色| 99日视频在线| 玖玖婷婷视频| 久久久jd| 好看的国产精品| 丁香五月综合激情性爱| 色呦呦美女| 色五月色情| 色八戒操婷婷| 人橾人| 极品五月天| 狠狠色中色| 国产一区二区av免费| 国产精品大香蕉| 五月天激情四射| 亚洲热视频| AA丁香综合激情| 日本啪啪网| 丁香五月婷婷大香蕉| 久久538| 可以直接看的av| 99热亚洲精品| 天天操无码| 久久久久久激情| 97人人干人人操| 囯产精品久久欠久久久久久九大| 国产无套精品一区二区| 丁香五月久久社区| 中文字幕在线不卡| 六月丁香深深爱| 五月天婷婷成人资源站| 人人摸人人干| 五月丁香婷婷色| 国产午夜精品一区二区三区四区| 国内在线99视频| 欧美乱码国产一级A片| 婷婷六月综合基地| 97五月天婷婷午夜| 五月婷婷天天| 99色在线| 91精品视频男人的天堂| 丁香婷婷大香蕉| 99热这里只有精品21| 激情纯色婷婷五月天在线不卡视频| 五月四色婷婷| 亚洲色碰| 欧美日本国产| 永久思思热在线| 丁香五月婷婷六月婷| 亚洲激情综合五月婷婷啪啪| 五月丁香成人| 久久探花91swag| 五月丁香色综合| 婷婷国产综合| 欧美激情VA永久在线播放| 99热精品在线观看| 日韩有码一区| 久久小视频免费| 人人摸人人干人人做| 欧美视频五区| 男同色五月开心五月激情五月| 亚洲色婷婷| 中文成人在线| 五月婷婷久久综合| ji'qi'luan'ren'lun| 综合色99| 日本色色影院| 激情五月视频| 九九亚洲| AV五月丁香| 久久这里只有精品无码| 26uuu亚洲| 日本超碰在线| 国产AV不卡福利| 五月激情丁香六月狠狠干| 天天舔天天摸视频| 99久久国产宗和精品1上映| 黄色99热| 巴基斯坦粉嫩无码视频| 色五月激情五月| 婷婷操久久| 99热这里只有精品1998| 婷婷综合网站| 99热自拍| 操一区| 狠狠色综合图片| 婷丁五月| 夜夜撸夜夜骑| 色五月琪琪| 激情五月六月婷婷| 国产原创视频91九色| 玖月婷婷爱丁香| 最新av在线观看| 天天久久九九| 婷婷色激情五月天| 婷婷字幕在线| 婷婷五月天在线综合| 免费精品99| 99在线免费观看| 色综合天堂| 丁香五月激情在线| www.com.色色| 天天干天天做| 91丨九色丨熟女|老版| 五月天色裸体视频| 99小视频在线观看| 亚洲欧美婷婷五月色综合| 精品热九九| 成人网站免费sxj| 九九人人操| 99操逼| 色吧综合网| 99毛片| 天天日天天舔| 九九精品自拍| 五月丁香六月婷婷网| 色婷婷亚洲| 丁香色六月婷婷| 玖玖色综合网| AA丁香综合激情| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 丁香花成人区| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 国产av网| 丁香五月婷婷五月| www.久久久久| 国产精品久久久久久久久久| 思思热在线视频99| www.色色com| 六月综合婷婷开心伊人| 91人妻人人操人人爽| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 亚洲狠9| 色色综合视频| 九月激情综合婷婷| 欧美久久婷婷| 美女要搞搞天天搞搞搞网站| 婷婷伊人综合| 丁香婷婷五月六月久久| 婷婷五月成人色综合| 99久久综合| 久久五月人人摸| 免费黄网不卡AV| 日本操逼九九九九58日本操逼| 久久久久久久,99精品视频| 99久在线精品99re8| 97色天堂| 亚洲婷婷五月天| 另类图片 五月激情| 亚洲区在线| 婷婷五月天综合网| 色亚洲中文| 丁香五月婷婷老师网站| 热久久99热欧美国产亚洲| 丁香五月另类小说在线阅读| 99丁香五月婷婷在线| 亚洲久热| 五月婷婷六月丁香综合| 国产伦理精品高清在线观看网站一区二区 | 天堂在线9| 桃色Av色哟哟| 亚洲有码在线视频| 激情六月天| 五月丁香色| 婷香五月| 热九九九九| 欧美日综合| 日日爽日日| 性色人人爽| 国产亚洲AV人片在线| 日本一级一片免费视频| 综合图区激情| 色婷丁香五月| 九洲一级A片| 亚洲三级无码| 激情丁香五月婷婷| 国产白丝在线一区| 五月丁香六月婷婷视频| 狠狠肏综合网| 啪啪色激情五月天| 日韩精品超碰在线观看| 成人国产网| 亚洲色婷婷五月天| 久九色| 五月婷婷激情综合网 | 无码99| 亚洲99手机免费看视频| 婷婷亚洲五| 婷婷狠狠97| 久久综合九色综合97婷婷| 99精品热视频| 丁香五月婷婷综合精品素人| 色色欧美色色| 秋霞电影理论| 色综合色综合色综合高潮| 九九99九九99九九99视频网| 久九九热| 丁香五月电影院在线观看| 丰满少妇猛烈A片免费看观看| 色婷五月天| 人人操五月天| 99精品在线观看视频| 五月综合亚洲| 五月丁香在线国产| 六月伊人婷婷| 久久五月丁香六月婷| 色五月网址| 九九色色色| 91热久| 激情五月丁香五月综合| 色99综合色88| 九一牛视频探花| 1024AV视频| 综合色五月亭亭| 国产99久久久国产精品免费看| 五月丁香六月婷| 日本九九视频| 91热99| 婷婷情色五月天| 婷婷五月天亚洲综合| 婷婷五月色天| 欧美色色色色色色色| 99这里都是精品| 五月丁香五月综合欧美| 色色综合激情| 玖玖婷婷五月天| 欧美久久婷婷| wwwss在线观看| 久久99热这里只频精品6学生| 这里有精品| 99视频只有精品| 亚洲日韩一页精品发布| 伊人五月婷| 国产av第一专区| 五月丁香综合久久夜夜| 插逼综合网| 99热99在线| 99色精品视频| 五月婷婷色情| 色五月大| 久色网| 综合AV网| 色婷婷丁香九月| 欧美日朝成人| 天天射综合网天天插| 色婷婷丁香五月色综合网| 四色五月婷婷在线观看| 五月丁香色| 丁香五月综合| 丁香五月综合激情久久潮喷| 亚洲av免费在线| 激情五月天啪啪视频| 99热精品综合| 亚卅毛片| 婷婷成人基地| 日本一级特黄大片AAAAA级| 天天操天天日天天爱| 激情婷婷综合| 久久久无码精品成人A片小说| 99久久婷婷国产综合精品草原| 激情第四色| 在线免费观看激情视频| 色噜噜狠狠色综| 开心五月丁香婷婷| 五月天堂色| 久久国产一区二区三区| 婷婷六月天天| 丁香五月综合亚洲| 99欧美| www.lchjjc.com| 任你擦免费视频| 亚洲婷婷开心五月| 91操在线视频| 婷婷五月综合丁香久久| 精品人妻伦一二三区久久| 91久久国产综合久久| 天天做天天爱天天爽夜夜揉| 激情综合网五月激情| 99视频精品在线| 国产三级在线播放| 婷婷五月天日本国产| 99re这里只有| 久热re视频在线观看网站| 婷婷99中文字幕| 中文字幕色色| 国产AV一区二区三区最新精品| 日本97在线| 密乳视频| 免费视频无码| 色五月天影视| 婷婷丁香宗合888| 久久九九思思| 婷婷五月天,影院| 色情综合| 久热黄色| 五月精品| 五月丁香久久婷| 天天操夜夜玩!| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 婷婷五月av| 六月婷久久| 婷婷香五月天| 97涩婷婷| 六月婷婷亚洲| 丰满少妇猛烈A片免费看观看 | 欧美久人人| 狠狠草综合网| 99精品视频免费观看近期发布| 亚洲欧洲另类| 九九色婷婷| 久久香蕉丁香| 91日日日| 91婷婷色 | 996热| 97色女人在线| 五月天操逼网| 综合大香蕉| 九月婷婷色色| 丁香五月日韩| 亚洲第一黄网| 婷婷五月天综合在线| 最新av在线观看| 婷婷六月综合基地| 99re久热只有精品6在线直播.com| 99思思| 99啪视频在线观看| 人人草人人看| 97色热| 婷综合| 91久久| 啪啪综合网| 丁香五月婷婷激情小说| 激情六月天| sS丁香五月婷婷| 五月天激情婷婷| 日日干夜夜撸夜夜骑| 欧美性猛交99久久久久99按摩| 91操色| 日日干四虎| 婷婷丁香五月,狠狠综合| 96丁香婷婷九月蜜桃综合久久| 九九热区一区二区三区| 99在线看视频| 991精品在线视频| 97视频久久| 久久五月天综合| 久色视频首页| 五月丁香 狠狠爱| 狠狠干在线| 香蕉久久六月| 99在线免费观看| 九九一综合精品| BlACKEDRAW视频一区二区| 欧美成人色婷婷| 婷婷成人综合| 国产精品18久久久| 天天日天天干天天操| 色色丁香婷婷| 99精品视频在线观看| 精品免费99| 日韩欧美老妇性视频91久久久| 久久精品99| 五月丁六月香av| 91jiuseshunv| 色婷婷电影网| 国产综合网在线| 色婷婷操逼| 香蕉AV福利精品导航| 性色视频| 精品九九在线观看视频| 色操综合| 99色色| 欧美日韩AAAA| 久久老码第一| 国产亚洲网站在线| 国产,欧美,学生妹,视频| 久久婷婷五月天| 夜夜骑日日操| 超碰在线9| 精品一二三区久久AAA片| 岛国av网站| 99热精品网| 五月天大香蕉AV| 99热这里全都是精品| 五月开心深深爱激情综合| 六月丁香综合| 卡视频1区2区| 欧美日本韩国亚洲| www.99在线| 99热这里只有精品在线播放| 人人爱干人人爱草| 婷婷五月电影| 青青操成人福利| 99综合| 狠狠色狠狠| 99热这里只要精品免费| 五月色情婷婷开心五月色情| 综合久| 超碰在线观看成人视| 国产av一区二区三区| 激情综合久久| 69色婷婷| 久久久久久久久人妻| 日日干综合| 91久久婷婷| 色综合色色色色| 色色综合网www| 色五月激情综合网| 激情综合网五月| 991国产精选视频在线播放下载| 夜夜骑福利资源| 翔田千里aV中文字幕| 亚洲av免费在线| 久久 无毛。| 激情婷婷五月社区| 波多婷婷久久| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 色播激情五月天| AAA亚洲AV| 亚洲久久婷婷丁香五月天| 五月天激情国产综合婷婷婷就去爱| 2016日日夜夜操| 色爱综合五月| 色开心五月丁香| 精品婷婷丁香五| 熟妇高潮一区av| 青青草免费公开视频| 五月天社区| 九九热最新| 操骚货在线| 99热综合网| 五月综合视频| 国产做爰视频免费播放| 欧美69久成人做爰视频| 色婷丁香91| www:99热视频| 国产九月婷婷| 六月婷综合| 久久免费婷婷视频| 开心激情网五月天| 久久综合中文字幕| 亚洲AV网站| 日日杆天天| 99久久久久| 日韩丰满少妇无码内射| 五月婷A V在线| 欧美,日韩成人在线| 日本97在线看片| g00d人体西西| 色9999日韩国产| ri电影在线| 伊人丁香花综合影院| 天天操天天草天天草天天| 第四色首页| 色色色在线观看| 婷婷伊人| 亚洲国产精品成人午夜| 激情性爱网站| 丁香五月天AV在线| 色性日本| 久久与婷婷| 狠狠操狠狠| 在线视频区| 婷婷五月天大香蕉| 九九热亚洲中文在线观看免费| 日韩欧美四五区| 五月丁香六月婷婷在线| 激情婷婷五月天| 精品一二三区久久AAA片| 色吊丝中文字幕| 丁香六月啪| 婷婷五月天性| 人妻AV在线观看| 99精品偷自拍| 激情五月综合第一页| 丁香五月天欧洲在线| 亚洲AAAA网| 色呦呦美女| 无码免费人妻A片AAA毛片西瓜 | 9l视频自拍9l九色9l成人| 99在线视频免费| 99视频在线精品| 亚洲人妻AV| 9 9 9色色| 五月丁香色色综合| 99色视频在线| 99国产在线精品视频| 狠狠色丁香久久| 五月天婷婷色小说| 99热精品在线观看| 91丨九色丨国产打屁股网站| 亚洲综合网区| 九九热精品99| 第四色色六月色综合| 天天久久66xxx| 色色色色色综合| 超碰v| 久久婷婷五月天激情四射| 天天综合五月| 思思热视频在线| 五月丁香婷婷婷激情爱爱| 五月婷婷和六月| 九九碰九九爱97| 五月丁香888| 五月婷在线色视频| 久99久视频| 97操碰碰无码视频| 免费不卡狠操美女视频网| 欧美搡BBBBB摔BBBBB| 成人五月丁香社区| 九九热最新| 婷婷99视频在线| 五月欧美色播| 五月婷婷综合网| 超碰资源在线| 国产精品久久久海的味道| 大香蕉五月婷婷丁香| 五月丁香网av| 五月激情天| 五月丁香综合啪啪| 色丁香婷婷| 色情婷| 99综合| www,99色| 丁香六月激情国产| 丁香六月婷婷久久亚洲天堂| 九九无码视屏| 182tv992tv人之初午夜免费观看| 美女100%露全身无挡网站| 午夜色婷婷| 97人妻碰碰中文无码久热丝袜| 久久大香蕉同僚| 91打屁股视频网站| 91九色熟女| 五月婷婷亚洲| 91一起操| 丁香五月激情六月欧亚激情综合导航| 任你草| 九九成人精品免费视频| 色吧五月婷婷| site:xmssd.com| 99久久99久久综合| 婷婷丁香久久五月综合| 国产成人AV| 婷婷五月综合在线视频| 99热99精品在线观看| 五月婷婷啪啪啪啪| 另类丁香综合| 亚洲AV网站在线观看| 影音先锋毛片网站| 色色色色色色色色网站| 韩日在线熟女| 日韩AV免费看| 色五月在线视频观看| 综合九九日本| 亚洲av免费在线| 亚洲欧洲99| 欧美三级巜人妻互换| 丁香激情婷婷网| 五月天久草| 91人操| 婷婷,五月天,丁香,第一| 精品一区二区三区免费毛片爱| 色婷婷伦理| 丁香五月婷婷影院| 再次出发二| 亚洲色无码A片一区二区麻豆| 天天爽夜夜爽夜爽精品| 婷婷五月天AV在| 久久精品99| 五月丁香六月婷婷综合免| 天天干人人奸97| 99只有精品| 99热在线爱| 97日本在线播放| 九九热免费视频| 久久五月丁香婷婷| 操逼电影免费看| 久久婷婷色色| 五月天婷婷丁香视频| 天堂久久大香蕉| 婷婷五月天福利| 日本熟女内射| 日本九九九九| 无语停婷丁香网| 九九色影视| xfplayav在线| 色婷婷9| 国产精产国品一二三在观看 | 日韩成人电影AV| 深爱激情久久| 色婷精品91| W色综合| 亚洲九九夜夜| 综合色色色色色色| 六月亚洲婷婷6月中文字幕| 日本在线观看aaa 99| 婷色五月| 第四色五月天| 丁香五月婷婷成人色区| 99视频九九热| 丁香五月瑟瑟| 日日爽夜夜爽| 亚洲碰碰碰| 99久久综合精品五月天| 色九网| 中文网婷婷字幕婷| 少妇2做爰HD韩国电影| 久久久ww| 亚洲综合激情五月| 婷婷五月天无码熟女| 91要啪| 婷婷激情五月天激情小说| 五月婷婷大香蕉| 欧美日本黄色| 天天骑天天操| 亚洲国产va| 欧美色六月婷婷| 九九99在线免费在线观看视频| 久久六月综合| 综合久久十三| 国产精品久久久久久久久久久久| 婷婷九月激情| 色综合五月| 丁香六月激情网C0W| 婷婷区日本| 天天狠天天狠| 啪啪综合网| 色呦呦美女| 日韩在线一级| 停停六月 综合| 日比视频91| 人人爽网| 性生生活大片又黄又| 色婷婷综合网站| 九九热在线视频观看| 超碰免费大香蕉| 色婷婷精品视频| 99热精品在这里| 99国产视频网| 思思热精品在线视频| 五月婷婷激情四月| 久久婷婷五月综合啪| 婷婷五月天色综合| 色综合久久88色综合中文字幕| 亚州精品色情在线观看| 综合五月丁香久久| 亚洲人成网亚洲欧洲无码久久| 日本综合久久| 一区色色色色网| 五月丁香六月婷婷精品| 色情五月天小说| 涩涩五月天综合| 日韩无码一区二区三区四区| 精品国产人人爱人人| 梁铮版《蜘蛛女侠》在线| 色色色综合视频| WWW、日本色丁香、co m| 丁香五月综合图片在线观看| 天天撸夜夜爽| 美女美女美女三级色天天天天天| 婷婷激情五月天在线| 五月婷婷六月丁香色| 久久99热免费最新版| 婷婷大乡焦噜噜| 五月激情综合网| 五月天婷婷久久| 国产肥白大熟妇BBBB视频| 亚洲精品a成人在线播放| 日韩人妻在线播放| 五月五月婷婷| 538任你爽| 亚洲激情 久久| 五月婷婷视频ab| 啪啪激情综合| WWW.激情| 99热只有这里才是精品| 九九热99热| 97人妻碰碰碰久久香蕉| www.婷婷五月天.com| 国产精产国品一二三在观看| 97啪在线观看视频| 丁香五月天激情四射网| 日韩啪啪视频| 欧美毛片www| 国产三级秋霞| 久婷五月| 亚洲最大成人综合网720P| 国产黄色大片| 超碰91在线| 婷婷免费无视频| 99视频在线| 婷婷99狠狠| 九九色插| 亚洲综合网 665566| 午夜青草资源| 色婷婷丁香五月| 久久五月婷| 91趴趴| 五月婷婷激情综合在线| 思思久日精品视频| 日韩无码成人电影| 色情终和网| 综合久久影院| 26uu| 武则天精品久久| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 97丁香五月| 日韩成人无码人妻| 五月丁香六月激情| 91操人视频| 99在线亚洲| 久久免费精彩视频| 婷婷五月天你懂的| 人人舔人人色人人高潮| 婷婷在线视频| 丁香五月狠狠在线观看| 99九色视频在线观看| 深爱五月最新网址| 色婷婷综合视频| 婷婷五月中文字幕| 婷婷五月综合激情小说| 99视频久久| 色99欧洲色19| 热的国产,热的综合,热的有码| 99性爱视频| 夜色五月天| 伊人婷婷青青cao| 婷婷六月天激情| 人与禽A片啪啪| 玖玖婷婷五月天| 色偷偷五月天| 久久婷婷丁香花综合网| 九九色综合| 思思热在线| 久久九网| 亚洲综合干| 天天艹夜夜爽| 五月丁香啪啪网| 五月丁香九九| 超碰1999| 色狠狠婷婷| 国产综合激情五月久久| 五月天桃色深爱网| 91尤物九色在线| 婷婷五月婷婷| 久久机热探花| 日日爽天天| 1024亚洲无码| 天天操天天爽天天爱| 99视频在线| 亚洲中文字幕网| 色婷婷中文在线| 丁香密臀AV激情网| 婷婷激情图片| 大香久久伊人网| 久久思思精品| av首页在线| 五月婷婷我| 色五月婷婷777| 婷婷五月天激情小说网站| 婷色五月天| 秋霞学生妹一二级| 能看的AV| 五月色无码| 久久精品国产AV一区二区三区 | 色五月丁香总合网| 久久免费精彩视频| 狠狠草天天草| 九九色逼| 婷婷色播六月无码| 色婷婷成人做爰A片免费看网站| 狠狠香婷婷五月| 色婷婷色99国产综合精品| 欧美成性色| 99热超碰| 五月婷婷在线网站| 91九色白丝| 色色网站免费| www.99热精品| 色五月婷婷基地| 激情五月综合| 五月天开心网| 俺去也在线官网| 色色色色色色色五月| 噜噜网免费视频| 成人在线日韩欧美| 五月丁香婷婷色| 婷婷欧美色| 日本三级成人秘书精品片| 夜夜操狠狠操天天操| 亚洲AV久久久久久久久久久久久久久久| 九九热精品视频九九| 操日本色| 久久性爱视频| 6月丁香婷婷激情| 日本婷婷色| 99热这里| 六月婷婷成人| 丁香六月天婷婷色| 天天综合色| 婷婷放心五日爱| 99久久玖玖| 亚洲综合色色| 无码成人AAAAA毛片AI换脸| www.ppypp| 五月丁香啪综合| 天天天天操| 亚洲色激情| 欧美熟女99| 在线播放人妻| 色在线99| 欧美日韓成人亚洲精品另类| jiujiuxiangjiaowang| 综合久久97| 一本道综合网| 99在线热视频| 成人无码髙潮喷水A片| 天天操天天操天天操天天操天天操天天操| 4399在线观看免费毛片| 天天插天天射| 五月天激情图片| bbwcuckold精品熟妇| 99视频日韩| 亭亭玉月丁香| 怡红院一二三| 亭亭丁香久久五月| 五月亭亭欧美女人| 99只有精品| 人妻久久久久久| 精品无码人妻一区| 五月婷婷激情性爱| 操日本99| 五月丁香亚洲综合| 综合五月网| 婷婷六月丁香激情综合| 色五月色图| 成人超碰网| 久久99精品九九久久久婷婷| 五月丁香激情婷婷综合| 91操操| 亚洲热久| 丁香五月婷婷色综合| 色99网| 婷婷五月天成人| 国际国外精品欧洲南美洲专区无码不卡| 伊人www22综合色| 激情婷婷五月在线合集| 六月婷婷激情| 色噜噜综合网| 天天插天天日| 99热只有这里才是精品| 久久婷婷五月国产激情综合片| 91九色中文| 校园春色亚洲色| 欧美性猛交 XXXX 乱大交| 人人妻人人澡| 99热这里只| 99热这里只有精品50| 99在线观看视频免费| 婷婷五月色图| 婷婷干六月综合旧址| 99精品偷自拍| 99热精品在线在线| 五月丁香天堂网| 色色色婷| 狠狠做婷婷| 久久久久久综合五月婷婷| 亚洲中文无码成人| 91中文在线| 99福利导航| 丁香玖玖| Caop在线| 激情久久综合网| 久久ri精品视频| 九九九激情网| 九月丁香婷婷基地| 五月J香蕉婷婷| 在线18av | 伊人在线视频| 久久久国产精品黄毛片| 国产精品一区在线观看你懂的| 天天做天天爽| 色综合五月天| 欧美在线干| 精品久热| 八戒青柠影视剧在线观看| 337p大胆噜噜噜噜噜91Av| 99久久网站| 婷婷激情综合网| 色婷婷综合视频| 丁香五月色| 国产在线aaa片一区二区99| 欧美搡BBBBB摔BBBBB| 麻豆AV一区二区三区| 国产成人精品一区二三区熟女在线| 亚洲成人综合在线| 成AV人片一区二区三区久久| 思思99热| 亚洲日韩成人三级av| 男人大jjc女人免费视频| 波多野结衣不卡AV| 婷婷五月综合免费在线| 青青草Avb在线| www.五月天婷婷| 大香蕉五月丁香| 深爱五月激情网| 蜜乳A√| 五月播播| 色婷婷超碰| 天天日夜夜拍| 午夜天堂一区人妻| 亚洲永远av在线播放| 国产婷婷五月| 91久久综合亚洲鲁鲁五月天| 操射国产日本| 好吊操这里只有精品| 天天色色婷婷| 日本五月天婷婷丁香| 天堂在线9| 久久久久久久久久8888| 精品人妻在线免费观看| 免费99色| 色综合网址| 色情五月天se| 日日爽日日| 色五月天丁香| 免费无码毛片一区二区A片| 视频一区二区在线| 97干视频在线| 夜夜躁狠狠 | 99色婷婷| 亚洲99一级无嗎特制在线| 丁香婷婷色色| 日韩激情婷婷五月天| 日韩在线婷婷五月天综合| 伊人五月婷婷| 亚洲精品又粗又大又爽A片 | 色欲色香,www,com| 久久久这里都是精品| 丁香五月av在线| 成人网站免费在线播放| 强壮的公次次弄得我高潮A片日本 | 免费一区二区三区| 99久久久久| 丁香六月无码| 99精品在线播放| 热99视频精品在线| 超碰人人操人人干| 亚洲激情综合五月婷婷啪啪| 99在线视频资源| 4438亚洲欧美| 色色免费网站| 五月激情婷婷开心| 亚州操人在线视频| 麻豆123区| 月月AV| 激情综合色婷婷啪啪六月天| 国产精品人成A片一区二区| 五夜丁香| 深爱激情av| 99热8| 五月天激情网址| 亚洲性色XXXXX| WWW,五月| 91热手机在线| 婷婷丁香五月欧美人| 狠狠色色| 碰碰操91| www.色擼擼.com| 丁香五月天啪啪| 九九精品综合| 99精品在这里| 老美AA片| 性爱综合网| 色色热| 沈娜娜av| 先锋资源996| 97色色色| 色99在线观看| 色播五月网| 免费碰碰视频久| 激情综合网五月天天| 色婷婷五月在线| 久久日本wwww色| 激情五月天网页| 五月色综合| 九九激情综合| 激情五月天综合网| 六月丁香开心婷婷欧美| 久久九九99字幕| 五月丁香| 九九热亚洲中文在线观看免费| 综合激情在线| 9视频1在线| 噜噜噜噜综合在线| 超碰69天堂| 天天综合永久| 荫道BBWBBB高潮潮喷| 青青操绿aaa一区日v| 久久综合丁香激情五月| 99re热99| 日韩久热| 超碰免费大香蕉| 91视频精品99| 日本久久视频| 狠狠狠狠狠狠色| 99干99| 伊人久久大香蕉网| 91狠狠色色丁香婷婷综合久久| 色婷婷六月天| 亚洲无aV在线中文字幕| 久热免费视频| 97丁香五月| 成人婷婷| 91成人视频| 色婷婷视频| 五月丁香色色综合| 久久怡红院| 啪啪干伊人婷婷| 97色精品视频| 五月丁香六月婷婷欧美综合|