久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

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àn)問(wèn)題處理結(jié)構(gòu)清晰、指令明確適合作為生產(chǎn)環(huán)境部署前的標(biāo)準(zhǔn)化參考手冊(cè)。目前已有140人學(xué)習(xí)下載適合具備Linux服務(wù)器管理、Odoo二次開(kāi)發(fā)及基礎(chǔ)Docker經(jīng)驗(yàn)的技術(shù)人員深度研讀與落地實(shí)施。1. Odoo SaaS Kit 不是“一鍵部署”而是你親手搭出來(lái)的多租戶黑匣子它把每個(gè)客戶塞進(jìn)獨(dú)立 Docker 容器用 Nginx 做門衛(wèi)、PostgreSQL 當(dāng)賬房、Odoo 當(dāng)掌柜——但凡一個(gè) UID 沒(méi)對(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)維跳出來(lái)、正被客戶反復(fù)問(wèn)“能不能給我單獨(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編譯出來(lái)的基礎(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ò)堆棧都不給你。下面這三步每一步都踩過(guò)血淚坑不能跳。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)程根本打不開(kāi)odoo.conf更別說(shuō)寫入 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 開(kāi)頭必須顯式聲明用戶 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ù)說(shuō)明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指定的用戶來(lái)讀取。2.2 entrypoint.sh那個(gè)被忽略的“容器啟動(dòng)守門人”O(jiān)doo SaaS Kit 不直接docker run odoo:14.0而是通過(guò)自定義entrypoint.sh控制整個(gè)生命周期。這個(gè)腳本干三件事校驗(yàn)配置路徑、動(dòng)態(tài)生成odoo.conf、檢查 PostgreSQL 連通性。如果它沒(méi)被執(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ì)通過(guò) --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ù)說(shuō)明--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 所有者常見(jiàn)失敗現(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)限問(wèn)題或saas.conf路徑錯(cuò)誤docker run啟動(dòng)后ps aux | grep odoo沒(méi)進(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 用戶開(kāi)三把鎖一把都不能少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)限都沒(méi)有——你得親手給它開(kāi)三把鎖缺一不可。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...說(shuō)明組未生效執(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í)行這兩條命令且無(wú)需密碼。編輯/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)無(wú)報(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 的訪問(wèn)控制文件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避坑 / 常見(jiàn)問(wèn)題 / 排查現(xiàn)象SaaS Kit 創(chuàng)建客戶端時(shí)卡在 “Creating database…” 10 分鐘日志里只有psycopg2.OperationalError: timeout expired原因pg_hba.conf沒(méi)加172.17.0.0/16規(guī)則或postgresql.conf中l(wèi)isten_addresses沒(méi)設(shè)為localhost,127.0.0.1默認(rèn)只監(jiān)聽(tīng)本地 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)境變量里沒(méi)有/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í)沒(méi)啟用http_upstream_module極少見(jiàn)但某些精簡(jiǎn)版鏡像會(huì)有解決nginx -V 21 | grep -o with-http_upstream_module若無(wú)輸出則重裝標(biāo)準(zhǔn) Nginxsudo apt install --reinstall nginx-full?,F(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ì)通過(guò)paramiko庫(kù) SSH 登錄遠(yuǎn)程服務(wù)器再調(diào)用其本地docker命令。任何一環(huán)斷開(kāi)遠(yuǎn)程部署就變成灰色按鈕。4.1 遠(yuǎn)程服務(wù)器初始化UID/GID 必須和主服務(wù)器 odoo 用戶完全一致這是跨服務(wù)器部署的第一鐵律。遠(yuǎn)程服務(wù)器上新建的odoo用戶UID/GID 必須和主服務(wù)器odoo用戶一模一樣。否則當(dāng)主服務(wù)器通過(guò)paramiko執(zhí)行docker run -v /host/path:/container/path時(shí)容器內(nèi)進(jìn)程會(huì)因 UID 不匹配而無(wú)法讀寫掛載卷。在遠(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)建的是無(wú)登錄 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)聽(tīng) 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 訪問(wèn)# 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è)試腳本繞過(guò) 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)容里的重置密碼鏈接。這一章我們拆開(kā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命令的完整展開(kāi)式當(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)打開(kāi)“設(shè)置 用戶 公司 用戶”找到該客戶用戶點(diǎn)擊“重置密碼”看彈出的鏈接是否和郵件里一致。提示如果郵件沒(méi)收到先檢查 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ī)一樣望聞問(wèn)切——看日志、查進(jìn)程、驗(yàn)網(wǎng)絡(luò)、翻配置、試命令。下面這五個(gè)位置是我每次翻車必查的“后悔藥”。6.1 Odoo 服務(wù)端日志/var/log/odoo/odoo-server.log里的第一行線索這是最頂層的日志。搜索關(guān)鍵詞# 查看最近 100 行過(guò)濾 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 后面沒(méi)填路徑。6.2 Docker 容器日志docker logs -f container_name是真相發(fā)生地當(dāng) Odoo 日志說(shuō)“Docker 命令失敗”立刻docker ps -a找到對(duì)應(yīng)容器狀態(tài)可能是Exited (1)然后# 查看退出容器的日志-f 無(wú)效用 --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用戶無(wú)法讀宿主機(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目錄里沒(méi)放hr模塊或模塊版本與 Odoo 版本不兼容。6.3 Nginx 錯(cuò)誤日志/var/log/nginx/error.log揭露 502 的真正兇手客戶端域名能解析但打開(kāi)是 502 Bad Gateway一定是 Nginx 沒(méi)轉(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;但容器沒(méi)映射8080端口或容器根本沒(méi)起來(lái)open() /etc/nginx/conf.d/client_john_doe.conf failed (2: No such file or directory)→odoo_saas_kit沒(méi)生成 vhost 文件檢查docker_vhosts目錄權(quán)限和saas.conf里nginx_vhosts路徑no resolver defined to resolve client_john_doe→ Nginx 配置用了域名解析但沒(méi)配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能連問(wèn)題可能出在客戶端專屬用戶上。查 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ù)沒(méi)創(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如果不是說(shuō)明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. 瀏覽器訪問(wèn) 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
返回資訊列表
日韩强奸av| 亚洲日本激情| 我想要 啊 啊 啊| 天天色天天干天天爱| 日本孕妇一区二区视频操逼免费看 | 中文字幕中文字幕一区二区| 日日夜夜模| 人人看欧美性爱| 久久久久国产精品喷潮免费观看臀 | 日本午夜操逼| 懂色aV一区二区天美传媒| 91欧美偷拍| 温婉少妇玩3p| 日韩中文字幕二区| 亚洲中文日韩精品| 啪啪视频亚洲第一| 尹人免费观看视频在线| 久久伊人影院| 欧美第五页| 欧美少妇高潮视频| 夂久色| 熟女色综合久久| WWW.加勒比人妻一区不卡.com| 秋霞成人做爱| 日韩不卡在线一区二区| 韩日精品福利视频一区不卡在线免| 91精品国产一区三一| 日韩中文字幕宗合在线| AV九九| 天堂亚洲精品| 久久熟女精品不卡一区| 99热综合在线| 婷婷久久久| 国产精品香蕉热久久新品| 一级性爱视频免费在线| 中文久久96| 亚洲精品久久久久久久久豆丁网| 成人日韩中文字幕| 色色五月婷| 富女玩鸭子一级毛片| 蜜臀久久99精品久久久久久酒店| 久久熟女久| 天天综合影院91| 91色五月俺来也| 亚洲国男人的天堂| 蜜桃视频成a人v在线| 操操操五月天婷婷丁香影院| 富女玩鸭子一级毛片| 日韩欧美性爱电影在线观看| 欧美色另类| 午夜美女诱惑电源网| 97精品久久久久久久| 婷婷色影院| 日韩性爱毛片操骚逼| 羞涩视频| 欧美亚洲中文字幕| 91伊人久| 欧美一级在线观看成人| 97精品熟女少妇一区| 日韩亚洲国产视频| 动漫爆乳3D奶水一区在线观看 | 99爱久久视频频| av绯色| 久久久久久国产手机AV| 一区二区不卡| 粉嫩久久久极品| 欧美亚洲厕所精品偷拍91| 国产按摩一区二区三区| 色综合潮| 欧美色图亚洲激情| 免费观看国产不卡av| 91麻豆va国产精品| 久久机热| 97在线免费公开视频| 97爱综合| 中文字幕aⅴ在线视频| 日本99视频| 少妇天堂网络| 日韩精品人妻中文字幕不卡乱码| 9ⅰ久久久天天| 成人AV在线网站| 午夜性生活av免费在线看| 日日干天天干夜夜爽| 成人午夜小视频手机在线看| 夜夜嗨AV蜜臀av| 91亚洲综合在线| 91丨豆花丨熟女| 97人人超| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | AV电影在线播放| 69综合网| 亚洲图片日本AⅤ欧美在线| 色色色天美视频| 欧亚不卡| 久久↗↗| 黑人操一区二区| 欧美熟爽综合| 欧美亚洲手机在线| 啊啊啊啊啊啊啊国| 欧美高潮| 九九九九精品精| 一级毛片久久久久久久女人18| 长长久久免费视频| 国语精品av| 激情啪啪拍91| 高清不卡视频| 中文字幕欧美日本乱码一线二线| 国产一级137片内射麻豆| 日本熟妇一区二区三区| 亚洲在线a| 欧美日综合| 国产精品高清2021在线| 看日韩美女二区三区免费操逼视频 | 秋霞鲁丝午夜无码一区二区三| 97资源亚洲| 91狠狠综合| 嗯啊不要在线观看嗯啊| 亚洲天堂男| 免费黄色片子| 男人的天堂VA| 黄色高清无码无码破解免费暗网| 日夜久久久九九九久| 三上悠亚在线毛片91| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 久久久久久午夜男人的天堂| 极品另类| 欧美精品三区| 成人黑料社久久| 亚洲涩图欧美| 成视频在线观看免费看| 精品无人区麻豆乱码1区2区图片| 极品白嫩美女白浆成人福利在线看| 国产999精品久久久久久| 国产91 丝袜在线播放00-百度| 黄色网址久久精品欧美喷水| 亚洲色图第一页| 五月婷婷久久综合| 插穴性爱视频在线观看| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 好吊色一区| 日韩欧美午夜一区二区| 亚洲精品亚洲人成在线麻豆| 国产天天噜一噜久久久| 草草影院最新网址| 九九热午夜欧亚国产视频| 国产超碰| 激情小说亚洲| 亚洲激情欧美色图 | 亚洲情色一区综合| 九九探花视频在线观看| se..亚洲欧美| 校园春色 亚洲| 91成人在线免费视频| 桑老女人九区| 欧美少妇大量自拍视频在线观看| 欧美大香蕉同搞| 精品二区三四区五电影 | 肥佬影院91| 射 色综合| 色综合大香蕉| 欧美情色贴图| 夜夜操狠狠操| 亚洲资源站| 欧美青青视频| 七久久久| 99久久e免费热视| 日本不卡在线二区三区| 任你干在线视频| 国产一级作爱毛片| 91肉片| 黄色一区三区| 久久久久久久久久久999| 成视频在线观看免费看| 日欧操屄| 亚洲久9| 精品久久久久久中文字幕三区| 男人天堂免费| 最新精品久久蜜桃| 精品国产一区二区久久| 色爱国产| 性爱精品一区| 激情无码日韩| 亚洲无码 国产无码| 天天拍天| 精品无码产区一区二| 99爱久久视频频| 五月丁香啪啪| 女人天堂av在线播放| 加勒比伊人综合| 欧美大香蕉97| 国产欧美一区二区| 国产九九久久久精品| 一级A啪啪啪啪| 亚洲二区精品在线观看| 亚洲最新中文字幕免费| 人妻干天天| 日韩视频中文字幕| 香蕉视频欧美一卡二卡| 精品欧美日韩在线观看| 性性久久| 少妇一线天久久久久久| 天天综合精品| www.狠狠干.coom| 色香色欲天天综合网天天来吧| 精品久久无码午夜福利| 国产 日韩 欧美一区| 99热这里只有精品18| 国产路线专区| 久久久久久久人妻丝袜| 亚洲欧美电影| 97超碰人人操人人操| 东北女人高潮视频| 欧美se综合| 欧日韩一二三f区| 无码九九九九| 91精品人妻一区二区三区蜜桃| 国产97av| 亚洲欧美日韩偷拍色图| 国产亚洲色停停久久99精品91| 蜜桃久久一区二区| A一区片| 強姦亂倫a| 日本国产亚洲一区在线观看| 欧美伊人久久综合网| 亚洲色系另类精品国产| 欧美极度丰满熟妇hd| 麻豆国产免费影片| 久久久久13| 亚洲精品丝袜| 免费看美国人人爽,人人操| 亚洲一区深夜| 91n.欧美| 日本精品五区| 综合欧美日韩在线观看| 能看的av| 精品无码一二三四区| 2017大香蕉国产精品久久| 四虎免费视频| 婷婷久久五月综合激情| 亚洲成人性爱在线观看| 精品久久久久久亚洲| 久久av网| 欧美 色 亚洲| 超碰色男人操熟女| 亚洲色综合| 久久中出在线| 嗯嗯不要视频| 国产一区二区啪啪视频| 国产免费大片| 女人18精品一区二区三区| 黄页| 黄片免费久久久久久久| 天天综合网久久ww| 天美久久久久| 国产操逼视频在线观看| 色婷婷丁香五月| 东北女人操比视频| 日韩性爱小视频| 国产精品久久成人免费| 99在线观看无大码| 色麻豆AV| V A在线| 日本护士高潮| 青青青艹在线视频| 91色综合| 天天综合色电影| 男女性扦B| 亚洲巨爆乳一区二区三区四季网| 色爱国产| 九九九999久久久网站| 亚洲性爱电影| 人妻天天爽夜夜爽精品2| 九九久精品| 在线观看不卡一区二区三区| 口爆欧美91| 天美传媒麻豆一区二区三区国产精| 一本色道久久天天射天天干| 麻豆精品久久久久久久| 欧美 亚洲精品首页| h无码动漫在线观看| 久久天天躁日日躁狠狠躁 | 99久久婷婷丁香| 天天综合网久久ww| 国产黄片精品在线| av东京热男人的天堂| 18禁看网站一区| 粉嫩国产精品久久粉嫩| 久久日韩肥臀| 97人人干| 亚洲精品久久久久毛片A片拉屎 | 999色欧美中文字幕| 国产精品探花在线| 精品女同一区| 91free福利| 精品女同一区| 一区二区三区欧美激情| 亚洲天堂少妇| 久久久婷| 午夜小电影在线插入淫高潮| av在线人气| 午夜精品久久一区二区| 欧美熟妇操操视频| 国产精品网址| 国产精品国产| 亚洲成人网站在线观看| 九九碰九九爱97超| 夜夜综合| 丁香五月天激情综合| 草B在线| 婷婷丁香五月激情啪啪| 亚洲高清欧美总合| 久草色悠悠在线视频| 明星性猛交ⅹxxx乱大交| 亚洲91网。| 久久久无码av精| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 国产不卡的视频 | 天天干嫩逼网| 粉嫩国产精品久久久| 强奸国产精品视频| 欧美 日韩第一性色| 91站街按摩店老熟女熟女| 日本韩国五十路六十路七十路老熟女作爱视频网站| 91网站18在线观看| 国产精品自在线发布| 性生活性生大爱77AV国产| 亚洲天堂综合AV| 日韩福利综合一区| 久久精品国产97欧美精品亚洲| 色情五月综合婷婷| 日韩成人精品| 青青青在线高清视频在线一二三四区| 精品人妻一区二区免费蜜桃| 51一区二区三区| 亚洲黄色电影| 久久久成人免费av电影| 91丨国产丨白浆| 91碰超| 欧美日韩久久精品爱爱| 狠肏骚人妻| 欧美一区二区三区日韩| 欧美偷拍区| 日日夜夜骑| 男生女生啊啊啊啊| 超碰97资源大奶| 91黑人无码激情在线| 一级性爱视频免费观看| 高清无码学生妹高潮| 殴美日韩m| 99热最新| 97最新在线播放视频| A片大香蕉在线| 亚洲女人91| 久久m| 一区二区三区精品黑丝白丝酒店对鸡| 欧美强奸一区二区诱惑| 久久久久久久久久久免费精品| 久久精品国产97欧美精品亚洲 | 九久9精品| 欧美日韩天堂| 四季AV综合网址| 大香蕉五月天| 日本熟女中文| 亚洲午夜福利视频| 婷婷午夜成人色中色| 亚洲成人黄色在线观看| 91天天综合日韩欧美| 精品无码产区一区二| 欧美日韩少妇色情| 亚州色图欧美| 日韩午夜国产| 操B久久| 用力操死我| 亚洲国产精品乱码在线观看| 综合婷婷| 婷婷激情啪啪| 日韩无码嘿咻黑热久| 国产日韩无码一区二区三区久久区| 97超碰影音| 尹人免费观看视频在线| 国产精品亚洲一区二区三区四区| 人人色人人射人人妻| AV有码在线| 午夜天堂精品久久久久91| 伊人宅男大香蕉| 久久婷婷五月综合| 天堂69亚洲精品中文字| 国产乱人妻精品入口| 国内精品a| 国产亚洲精品久久久久小| 我要去看2个日本美女.com曹逼| 本道综合精品| 久久精品视频28| 日本国产高清色www视频在线| 欧美 亚洲 91| 久久大香蕉手机高清视频| 国产色综合亚洲色综合吹潮| 97久久天天综合色天天综合色电影| 逼逼逼逼操操操操操操操操操午夜剧场 | 伊人精品久久网站| 亚洲不卡一| 素人播放一区| 欧美疯狂做爰xxxx| 亚洲āv网址在线观看| 熟妇激情| 欧美中字二区| 色av中文字| 人人操人人摸人人看人人干| 九九九九国产| 奶水 人妻 哺乳 在线| 美女AV一区二区| 日韩成人网址| 日韩视频啪啪| 囯戸精品高潮呻吟旡码| 国产福利合集| 婷婷国产精品一区二区| 亚洲综人网| 国产一区二区久久| 五月婷婷hd| 很黄很污的免费网站| 国产67194| 国产树林里野战在线看| 免费观看的黄色的网站| 亚洲欧洲无码bt精品合集| 2020中文字幕在线观看| 98久久超碰| AV女资源| 97超碰色| 亚洲中文字幕熟女| 在线视频 亚洲精品| 好吊色综合| 日本熟妇人妻一区二区三区| 日韩精品一区二区人人人| 日韩一性一交一A片俄罗斯| 天天看特黄的免费网站 | 强歼乱伦资源网| 噜噜噜在线视频| 国产精品呦一区二区三区| 人人 操人人 操人人| 日本色色视频网站| 亚洲中文日韩欧美大香蕉视频| 天天操天天射天天日| 家庭乱伦网站国产| 五月丁香综合激情| 欧美最婬乱婬爆婬性视频 | 色阁阁AV综合网| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | rion磁力链接| 国产操逼视频在线观看| 亚洲国产欧美中日韩成人综合视频| 一级久久久久久久久久久 | wwwcaobibi| 五月花婷婷| 天天摸天天碰天天添青青| 熟女露脸激情自拍视频| 九九九九精品| 日韩av不卡在线观看| 操少妇很爽av| 久久久九| 人人操肉肉| 日本十八禁免费看污网站| 无遮挡h肉动漫在线观看| 9久超碰| 色阁阁AV综合网| 亚洲自拍偷拍视频在线| 深夜激情无码| 国产九九九九九九| 成人八戒网站| 青青草玖玖爱| 亚洲性爱乱操x| 91狠婷| 九九九九一区| 亚洲五月丁香花狠狠干一区二区三区| 国产精品久久久九九九| 亚洲国产精品无码AV久久久| 婷婷久草一区二区三区| 亚洲最大网站av| www.婷婷六月天| 夜夜夜夜爽| 国产嫩草精品A88AV| 99热这里只有精品1| 97av,com| 少妇高潮九九九九| 国产无码一二三区| 欧美日韩操逼嗦吊| 久久久久久久久久久久欧美日| 亚洲高潮影院| 色999五月色| 韩日巨乳美女免费视频在线观看| 欧美牲| 久久久激情| 亚洲影视第一页| 亚洲欧美自拍偷拍| 91久久18禁| 手机看片日韩人妻| 欧美性爱一区二区三区四区| 日韩免费簧片| 欧美色综合图片| 天天日天天搞天天干| 青青草乱入乱欲视频在线观看| 91亚洲欧美| 嗯啊不要在线观看嗯啊| 偷拍精品一区二区三区| 91久久久久久久久久久| 看免费的黄片| 色噜噜日韩精品| 96AV精品| 亚洲人妻在线一区| 日韩欧美三级| 国产嫩草精品A88AV在线| 人妻一区视频| 欧美一区二区| 国产精品丝袜在线| 国产精品另类一区大香蕉| 青青草一本道福利视频| 丰满欧美放荡少妇在线| 久操视频免费观看| 啊啊啊轻点在线观看| 国产25页| 国产日韩怡红院| 国产97/欧美| 综合亚洲情色| 久久免费老司机精品| 韩日无码在线观看| 久久婷婷热| 国产无马视频| 91在线视频免费播放| 国产肏逼网站| 蜜桃臀AV在线| 1204av韩国| 中文字日本乱码| 97超碰巨乳| 日韩淫色网| 精品久久九| 国产熟女| 四虎精品永久在线观看| 啊啊啊啊嗯嗯嗯用力好爽| 立川理惠无码一区二区| 日韩天天综合| 18禁美女裸体无遮挡啪啪| 日语五十路和六十路亚洲国产精品| 干婷婷综合网| 久久中文色图| 高清国产av无码| 97精品视频网站| 亚洲无码99| 免费啪啪啪网站18岁| 狼天天狼天天大香蕉| 大胆91| 欧美九9 9 9| 激情深爱五月天| 亚洲午夜福利视频| 国产www色在线观看| 欧美狠狠操| 激情一区二区三区在线观看| 成人热久久精品| 成人无码欧美一级A片狼牙直播| 精品国产一区探花在线观看| 亚洲图片日本AⅤ欧美在线| ?亚洲伊人伊成久久人综合网| oumeisetu综合| 丝袜狠狠草尤物 91| 伊人麻豆传媒| 综合久久欧美| 亚洲情色图片区| 成人免费性爱视视| 97亚洲精品| 久夜操| 亚洲无码精品AV久久久| 精品人妻美妇91job| 大香蕉欧美伊| 97这里只有精品| 国产日比| 91热| 色99在线| 亚洲av资源| www激情| 国产精品一区在线播放| 国产美女mm131爽爽爽爽| 久久这里| 国产树林里野战在线看| 91亚.色| 日本在线播放不卡一区| 欧亚韩国999| 亚洲精品国产精品乱码不99| 久草电影网| 五月天婷婷综合网| 国产白丝精品在线观看| 亚洲男人天堂2012| 99久久久无码精品国产人| 亚洲欧洲日产国产综合网| 国产一区自拍欧美日韩| 色阁阁AV综合网| 久久久久久AⅤ无码免费肉站| 亚洲精品久久一区二区三区蜜桃臀| 日韩激情啪啪啪| 久久激情视频| 亚洲国产一区二区三区在线| 99这里只有精品国产| 精品一二三区四视频| 午夜福利免费精品视频| 97综合国产| 好屌色综合| 九九黄色网| 午夜男女爽爽大片免费观看| 欧美国产操逼| 亚洲天堂另类美腿| 人妻人人做人人澡人人爽欧美一区| 国产黑白丝在线| 中文字幕在线观看AV| 国产精品久久久久亚洲av| 亚洲狠| 99re6国产精品99re| 亚欧精品久久久久久久久久久| 91免费看一区二区三区| 五月天精品| 欧美白嫩在线放| 九九热免费视频| 国产操偷| 中文字幕一区二区三区高清| 国产99热| 欧美性夜| 91精品导航| 黄站在线免费观看| 久久久精品久久| 久久精品老司| 国产成人AV麻豆| 日韩紧密久久| 欧美亚综合色图| 欧美躁死她一区二区| 成人免费不卡在线视频| 看黄片视频免费| 最新三级网址| 国产亚洲精品农村妇女| 精品九九国产无码| 久久毛卡| 亚卅熟女乱色| 色久综合| 大香蕉手机在线视频| 亚洲天堂性爱| 啊啊啊好湿久久| 91av天美性媒精品视频| 日日橹狠狠爱欧美超碰| 欲射影视| 国产一二三福利视频网| 精品国产AV一区天美传媒| 一本久道久久综合狠狠爱一密臀精| 欧美伊人电影| 免费A片三p视频| 亚洲成人性爱网站在线播放| 国内毛片婷婷六月色| 亚洲综合婷婷| 国产高清不卡视频| 搡老女人老91妇女熟女| 午夜美女诱惑电源网| 欧美成人一级麻豆| 多乙久久久久久| 狠狠狠一区二区三区| 91新在线欧美| 91亚洲黄色网| 日本性爱欧美性爱| 五月婷婷六月丁香| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 99热亚洲天堂| 欧美青青草视频| 亚洲欧美日韩中文久久自慰| 清清草影| 熟妇一区二区| 久久久久久国产无码精品| 大香蕉在线SuP| 欧美日韩1234| 日韩无码专区| 女同性恋中文字幕| 国产精品熟女九色九色蜜臀| 吻戏激情性巴克| 91熟女视频网| 免费看A片毛毛片在线播| 欧美亚州手机在线| 91精品人妻一品二品三品| 亚洲中文一区二区三区| 97色碰| 九九热在线视频| 日日摸日日弄日日拍| 久久精品毛片免费不卡| 青娱乐大香蕉| 久久这里只精品免费福利| 99热这里| 99热在线播放| 91狠狠综合久久久久久| 色汉综合| 91女人的网站| 在线岛| 一级黄碟| 综合色啪| 亚洲色综合| 艾草av| 国产日韩区| 欧美日韩人妻婷婷一区| 日韩成人精品中文字幕| 91爱| 日日干夜夜操视频h| 影音先锋新男人| 超碰在线1234区| 国产11页| 日韩国产在线观看av| 狠狠爱夜夜干| 97国产精品国| 欧美日韩国内不卡| 2017天天拍大香蕉| 亚洲中文电影| 五月婷在线| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 狠狠操综合| 秋霞操逼片| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲人妻精品一区二区| 第四色色综合91| 在线人人人人人人精品超 | 97国产亚洲中文在线| 岛国艾薇凹凸视频天堂| 九九九九精品| www男人天堂| 九九自拍伦理| 色女女女导航| 五月天婷婷久久| 亚洲天堂人妻熟妇视频| 国产综合色精品在线观看| 日本精品一区二区三| 69综合网| 久久久亚洲精品电影免费看| 午夜天堂精品久久| www.99中文字幕| 另类专区加勒比| 99在线视频播放| 国产亚洲一黄| 91性情| 日日狠狠久久偷偷色综合免费| 久久一本大香蕉| 人人操我人人干| 91网站18在线| 日韩人妻 中文字幕| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 精品人妻中文字幕4399| 亚洲熟妇A V黑人| 天天干人妻| 欧美视频第二页| 欧美精品另类人妖xxxx| 曰韩无码777| 综合欧美日本三级| 国产偷拍自拍在线视频| 福利五区| 性色av一区二区| 91春色| 一区二区三区免费岛国片| 97爱亚洲| 九九亚洲| 中国一区二区亚洲人妻| 日本护士高潮| 亚洲色图久久精品蜜| 九X超碰| 亚洲中文电影| 中文字幕女同在线| 96国产污污污丝袜| 福利天堂| 看免费的黄片| 视频不卡中文字幕| 亚洲国产精品成人无码久久久 | 美女丝袜激情小说| 亚洲熟女av中文字幕| 国产狂喷潮在线精品| 久久一级无码精品毛片6| 丰满人妻一区二区三区免费,| 国产熟女一区二区丰满| 欧美久久人体| 久久久久亚洲av综合波多野制衣| 男人天堂一区二区| 亚洲第一男人天堂| 亚洲无吗在线视频| 欧美亚洲丝袜美女电影| 综合色久欲| 四虎精品永久在线播放| 加勒比综合88| 在线看的av| 国产蜜臀精品一区免费尤物| 亚洲综合色在线| 欧美另类精品xxxx| 欧美日韩青操| 日韩在线性爱免费视频| 欧美内射少妇| 国产三级资源在线观看| 欧美少妇一区二区三区| 亚洲天堂一区| 久久国产精品91| 亚洲图片欧美色图| 69AV女优男人的天堂| 亚洲av噜噜噜噜噜噜| 啊啊啊啊啊操我视频| 黑人免费福利视频| 久久最新视频免费观看| 午夜一级免费毛片| 97免费视频在线观看视频| 国语精品内射在线观看| 热热色AV| 久久超碰爱| 9国产超碰| 中文日韩欧美熟| 中文字幕黄色片| 国产精品久久久啊| 97AV在线免费观看| 偷窥自拍亚洲天堂网爆| 97日亚洲欧美| 91激情网| 亚欧精品久久久久久久久久久| 日韩免费a级毛片无码a∨| 狠狠亚洲| 国语人妻精彩刺激| 青娱乐国产精品| 蜜臀久久99精品久久久久久婷婷| 91色爽欧美| 国产成人+综合亚洲+天堂| 一起草三级AV电影在线观看| 久久精品中文字幕女同| 久久9 9 9精品| 久综合网| 精品一二三区久久AAA片| 成人性爱免费播放| 中文区中文字幕免费看| 久久久久国产| 欧美一二在线| 亚洲 中文 女同| 99色综合| 婷婷视频网| 日韩欧美午夜视频在线| 翔田千里AⅤHD无码| 国产高清自拍视频| 久久人妻熟女一区二区 | 性站 | 日韩人妻播放| 国产一级特黄大片处女| 日本阿v天堂在线观看| 凹凸 69堂 在线播放| 中文字幕av丝袜| 久久同城AV| 欧美影音在线| 欲色啪| 国产黑白丝在线| 欲综合网| 一区二区三区一亚洲中文字幕、综合区灬 | 久操视频免费在线观看| 中文字幕一二三区| 99热导航| 天天影视之亚洲综合网| 久久精品女同亚洲女同13| 日本不卡中文| 日本精品一区二区三区四区的功能| 国产精品96| 国产成年女人免费视频播放a| 91亚洲欧洲| 岛国免费视频在线| 亚洲一欧洲中文字幕在线| 凹凸视频特色日本特黄| 中文字暮97| ai欧美亚洲小说| 亚洲精品九九九九九九| 亚洲91在线| 乱伦a片视频| 人妻AV在线| 久久久久久91香蕉国产| 日韩无码服务区| 久操91视频| 日韩一级片| 日本天天干天天搞一区| 日本不卡一二区| 伊人久久综合精品欧美| 日本 欧美 亚中文字幕| 97资源免费视频| 啊啊啊想要| 粉嫩绯色AV一区二区在线| 精品人妻一区二区三区-国产| 98福利在线视频| 99婷婷一区二区| 91Chinese在线| 久久色AV线| 亚洲国产ⅴ高清在线观看| 伊人综合色网| 91爱网| 国产免费一区在线观看| 丝袜狂射91| 日本免费一级AAA大片器| 日韩精品人妻中文字幕有码午| 久久爱97| 欧美色棕合| 熟女人妻一区二区三区免费看| 天天日天天干天天整| 新精精品久久精品| 久久首页| 天天躁狠狠躁av| 日本欧美一区二区三区免费| 婷婷另类小说| 超碰日本97美女人妻人人玩人人爱| 乱码人妻一区二区三区| 操逼网站视频漫画国产| 超碰色美女| 九九成人视频| 女性喷水高潮在线观看| 天堂资源欧美| 精品人妻中文字幕4399| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 中文字幕丝袜美腿| 免费国产电影一区二区| 男人的天堂VA在线| a级成人毛片免费视频高清| 一二三卡欧美日韩人妻免费精品| 在线观看黄色电话| juliaann欧美丝袜办公室| 久久一留热品黄| 艹少妇网站| 另类欧美色| 日夜干射色啊| 99热这里是精品| 1级黄色夫妻对换性交免费看| 亚洲污污网站| 久操黄色视频| 国产精品久久99日日| 中文字幕三四五区| 激情人妻另类| 亚洲最大的黄色电影网站。| 约操熟妇| 人人人摸人人| 天天亚洲| 激情婷婷黑人91| 91老熟女老女人国产老太| 亚洲男人的天堂亚洲| 国产 亚洲 丝袜 制服| 亚洲国产美女久久久久| 97美日韩视频| 欧美精品日韩久久久九| 97视频播放| 亚洲97资源| 中国熟女91| 欧美青青视频| 一级黄碟在线观看| 内射中出日韩在线观看视频| 大香蕉手机视频| 久久激情五月| 伊人久久婷婷| 精品国产片亚洲一区| 91丨熟女丨丰满熟女| 中文字幕一区电影在线观看| 久久久久人妻二区精品叶可怜| 2024黄色视频| 欧美18 在线观看| 精品久久久久久AV无码| 高清无码久操视频| 久久精品福利影院| 国产精品久久久久无码A√| 老司机天天操| 成年人一级黄色毛片大全在线观看| 久草网站免费在线观看| 日韩av不卡在线观看| 久操婷婷| 久久久噜噜噜久久久| 玖玖爱一区在线| 伊人视频| 亚洲在线91| 婷婷丁香九月| 久久婷婷色| 亚洲人在线| 中文精品少妇天堂| 亚洲欧美综合| 久久一级无码精品毛片6| 99操99| 神马久久69| 青娱乐啪啪视频| 成人 日本A片无码8888| 很很干很很操| 呦女网站| 日韩一级性爱无码| 成人网址在线观看| 精品一久久久| 亚洲天天综合| 午夜高清成人在线视频| 中文字幕免费观看| 啪啪啪亚欧美视频| 91人妻Pr| 91女优在线观看| 日韩操p| 丝袜熟女2P| 抽插亚洲无码| 久久香蕉国产线看观看猫咪av| 97玖玖人妻| 欧美+日产+中文| 十八禁啪啦拍视频无遮挡| 日本999精品| AV一起草在线| 精品十三区| 免费久久一级毛片大黄| 久久久久久夜夜夜夜夜| 2017天天插| av大香蕉| 亚洲中文字幕一区二区| 久久久久国产无av| 欧美91网| 大香蕉免费中文| 人妻丝袜一区二区三区在线| 久9热| 91麻豆天美| 欧美高潮在线| 日本免费专区| 欧美日韩人妻精品一区二区三区| 久草福利在线资源站| 九九久精品| 亚洲综合色男人网| 中文操逼字幕| 在线五区| 97超碰美国| 做爱A级亚欧| 日韩大香蕉AV影片| 欧美色图偷拍另类| 国产一区二区精品久久99| 欲色啪| 男人的天堂2019AV| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲黄日韩无码专区| 日本一本道A级黄色毛片试看60分钟| 麻豆美女丝袜人妻中文| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 91亚洲人| 青青国产精品在线| 男人的天堂 在线一区| 久久久草成人网站久久久草成人久久久草久久久 | 欧美一级美片在线观看免费| 精品乱码久久久久| 国产区性爱在线视频秋霞豆| 七月丁香婷婷| 大香蕉黄色一区| 翔田千里Av在线| 又大又大又大又粗爽高潮观看| 97就爱干| 狠狠色一区二区中文字幕| 亚洲精品丝袜-不卡成人免费……| 人妻一二三区| 国产精品美女视频诱惑| 欧美韩日精品99综合| 欧美91网站| 久无码| 人妻少妇精品一区二区三区| 岛国视频免费在线观看| 东京热一区二区中文字幕| 婷婷性网| 肥臀熟女一区二区三区视频| 欧洲一区二区| 欧美色干| 日日摸日日碰夜夜爽视频| 人妻精品一区一区三区蜜桃91| 91国精产品| 国产熟码AV| 插入粉嫩少妇视频| 思思热在线| 98久久| AV色五月天| 欧美日韩亚洲少妇寂寞影院正在播放| 超碰导航97| 狠狠操夜夜| 亚洲青青青视频在线| 中文字幕欧美日本乱码一线二线 | 天天综合网日韩7799| 国产强奸91| www欧美性爱| 久妇网| 99re6国产精品99re| 热久久无毒不卡| 99操逼| 秋霞一级A片黄色视频| 一起草日韩| 午夜天堂精品久久久久91| 欧美熟妇视频| 啊啊啊啊啊啊啊啊要喷了| 91综合天天| 26uuu国产亚洲综合| 99在线无码精品秘 入口黑人| 国产视频一区二区免费| 91网站18在线观看| 免费97视频| 欧美黑人与女人91| 草草草视频在线免费看| 日日狠狠久久偷偷色综合免费| 国产妇女精品视频青青草| 91操操操操| 久久久久9999| 久操凹凸视频| 台湾佬中文娱乐自偷自拍| 亚洲熟女偷拍在线观看| 婷婷婷婷婷婷久久久久| 国产高清无码一区三区二区| 伊人婷婷五月天| 亚欧洲一区二区视频| 欧美黄色手机在线观看| 嗯嗯啊操我| 暴力av在线| 日韩性爱播放| www.acm成人黄色毛片| 国产精品一二三在线看| 欧美性暴力猛交XXXX| 九九九久久久| 99re6国产精品99re在线| 啪啪自拍九九综合| 无码一区二区三区四区五区六区七区八区九区十区视频 | 国产国产亚洲一二三久久| 精品国产www久久| 亚欧操逼片在线观看| 中文字幕一区二区免费在线| 色一射色一射| 美国日韩黄片| 骚货人妻偷情自拍在线视频| 桃花色综合影院| 日本影视久久免费| 欧美九九爱| 成人午夜高潮av猛片| 成人AV素股で擦久久| 精品免费视频国产一区| 亚洲AO在线| 精品偷拍13p欧美dodk视频| 精品无码人妻一区二区免费蜜桃| 一线黄色免费性爱片| 亚洲综合 欧美| 婷婷五月天AV| 精品国产乱码| 日本一卡二区在线| 人妻在线中出视频| 天堂无码精品国产久| 久久久久久久久久久久色网| 久久欧美按摩999| 思思热国产在线视频| 99久久久| 亚洲综合情色| 在线女人91| 色播综合| 九月丁香综合网| 中文字幕人妻资源在线| 欧美精品不卡一二三四在线91| 日韩99999色| 欧美 亚洲 偷拍自拍| 1769国内精品视频| 中文字幕三四五区| 亚州欧美综合| 丁香五月天久久精品视频一区二区三区| 日本性爱网址| 成人性爱av.com| 国产1024在线播放| 91A欧美电影网站| 欧美美逼| 欧美97免费| 日韩精品资源| 啪啪啪综合| 日日骚一区二区三区| 毛片99-全集电影手机免费观看完整-B029AV| 性色乱AV一区二区| 中文一区二区婷婷视频| 欧美图片偷拍|