国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲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é)構(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。現(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
返回資訊列表
国产成人无码久久精品| 成人麻豆av电影网站| 超碰97人人cao| 日韩精品电影| 夜夜中出国产| 中文字幕精品资源在线| 免费作爱一级视频| 国产精品懂色tv影视免费观看| 好看的91视频| 午夜福利久久久噜久噜久久综合| 日韩免费性爱视频在线观看| 3P乱轮视频| 久久97| 欧美九一精品久久久熟妇| 少妇高潮99p| 91小视频| 欧美很很操视频| 国产成人精品必看| 色九九九九久| 999久久久精品国产| 亚洲国产精品9999在线观看| 日韩精品在线视频,日韩精品……| 伊人午夜福利视频| 操曰本熟女| 欧美最婬乱婬爆婬性视频 | 超碰欧美COM| 久久曰曰| 操逼999| 99操| 久草成人影片| 中文欧丝袜诱惑| 啊啊啊啊啊啊好湿好爽视频| 91熟女综合| 另类图片五月| 天天天操天天天爱| 日韩操啪| 操逼视频国产无套| 国产精品久久久久综合| 日韩ab网| 噜噜噜亚洲精品| 亚洲丝袜色图| 国产精品高潮久久AV| 亚洲丝袜二区| 蜜臀亚洲中文| 亚洲永久永久永久永久一级一级一级精品 | 日韩Va亚洲va欧美Ⅴa久久| 国产极品精品美女视频| 中文字幕精品一区欧美| 日欧操屄视频| 91亚州日韩高清| 91在线综合网| 婷婷五月天无码| 噜噜噜久久亚洲精品色情| 亚洲大胆人体av| 夜夜人妻爽| 国产吹潮女在线观看| 欧美亚洲韩国视频十五区| 蜜汁欧美| 亚洲国产成人福利在线观看| 成人八戒网站| 男人天堂.AB| 日本不卡三级网在线播放| 91女在线观看| 操逼片国产| 加勒比久久综合网高清| 精品无码一二三四区| 欧美色图 人妻| 超碰 国产熟女精品一区| 中文字幕视频在线观看| 日韩一级二级三级免费看完整版| 大香蕉久操| 美女尤物福利视频| 91久久久老司机| 久久久久久人| 青娱乐福利99| 国产又黄又猛又粗又爽的网站| 日韩懂色网| 91精品国产91久久久久久久久久久久| 欧美一二三级精品在线| 99久久99九九99九九九| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 国产美女高潮视频| 澳门黄片一香蕉视频| 国产精品自拍xxxx| 久久久久久久 九九九九九九九| 欧美日韩人妻婷婷一区| 日本免费中文字幕在线| 国产免费一区二区三区最新不卡| 国产欧美黑人丰满在线| 一二三区操逼国产91| 亚洲一区二区三区AV无码| 91九九九馒头| 欧美色另类| 日韩精品 视频一区二区| 久久麻豆一区二区| 日韩精品午夜操呦呦不卡影院| 亚洲国产成人精品999| 国产伦精品一区二区三区在线观| 超碰人妻久久人妻中文97| 日韩电影中文字幕| 亚洲欧美日韩精品久| 96AV久久久| 国产精品欧美在线观看| 色牛牛AV| 91青青在线视频| 久久首页| AV在线资源| 99色网| 五月婷婷性爱| 999色欧美中文字幕| 美国黄片aaa| 综合网欧美在线| 欧日韩一二三f区| 欧美页片| 精品国产91内射久久| 天天操天天插| 中文不卡视频| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 国内毛片热久久思思热| 亚州色站 日韩电影| 97超碰中文在线| 美女被艹尤物视频| 久久在肏| 91久热这里只有精品| 天天综合~91| 九月AV| 久久伊人最新网址视频| 成人老鸭窝人人在线视频| 久久中文字幕在线观看| 国产999精品久久久久久| 久久久久久久久久久精| 久久国色天香香蕉| 一本一道波多野毛片中文在线| 老女人碰碰在线碰碰视频| 色色毛片| 性性欧美| 五月丁香婷婷啪啪| 欧美18老人禁| 天美传媒Av在线| 国产无马视频| 麻豆成人影音在线| 亚州高清色综合| 欧美色视频在线| 欧洲精品一二三在线| 亚洲砖码砖专无区2023| 青草一区二区| 75大香蕉| 熟女六十路| 久久精品国产亚洲av水密被窝| 亚洲男人天堂2019| 八戒无码国产午夜福利| 99热销国产这里有精品| 在线天堂999| 日本人妻中文字幕精品| 亚洲骚男同com| 精品妇女一区二区三区| 欧美丰满少妇xx高潮| 玖玖爱综合网| 91新在线欧美| 国产免费久久久久| 中文字幕AV乱伦| 大香蕉青青9| 色啪网| A级毛片在线看免费| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 久操网无码在线| 综合色区偷拍| 精品欧美日韩在线观看| 男人的天堂.com| 欧美婷婷五月天| 国产无码久久高清| 精品国产乱码久久久久久久| 色哟哟1区2区| 亚洲在线网站| 88在线一区二区三区| 天堂蜜桃无码视频一区二区| 日本有码久久| 先锋精品av色鲁| 亚洲春色欧美激情自拍| 久久久久久9| 啊啊啊啊啊啊啊啊啊在线观看| 涩五月婷婷| 色色色色日本| 黄人人操人人操| 亚洲资源站| 爱妻综合网| 热天堂一区二区| 婷婷亚洲综合| 亚洲欧美日韩精品久| 91免费看一区二区三区| 国产精品一区二区密臀| 熟妇女伦乱视频| 极品一区二区三区免费| 超碰午夜| 激情综合网一盗摄| 天天澡天天爽日日av| 青青草原人妻| 欧亚洲精品有视频| www.婷婷六月天| 91丨熟女丨丰满熟女| 久久这里只精品免费福利| 91色插| 99久久免费看精品国产一区| 欧美激情精品久久久| 婷婷美人网| 97亚洲资源| 婷婷色一区| 无码9区| 国内外色色色色色成人视频| 欧美99| 超碰av在线| 热久久这里只有精品| 综合色99| 激情一区二区三区在线观看| 香蕉在线一区二区三区| 久热精品色情| 亚拍在线| 色区97| 麻豆尤物视频网| 国内精品久9| 超碰97久| 国产精品天堂| 日产欧美电影一区二区三区| 久久双插| 欧美日韩性爱无码| 天天爽天天操| 宅男午夜在线视频| 97色妞| 青青草久久在线| 精品免费成人久久| 91情色| 国产午夜福利专区综合| 亚洲最大的综合性av| 久久精视频美日韩在线视频| 久久久久久亚洲精品不卡人乳| 大稥蕉免费视频这里只有精品| 日本九九久久99播| 加勒比性爱成人在线| 中文字幕成人乱码熟女精品国50| 黄片www视频免费| 欧美午夜视频免费观看| Julia在线播放亚洲久久| 九九九久千久久激情蜜桃在线看 | 97网色| 日本熟妇浓毛hdsex| 日韩精品字幕| 91欧美少妇| 亚洲se91| 欧美十八禁导航成人| 大香蕉啪啪啪| 欧美一二三区四五区| 久久久91福利姬| 三四中文字幕| 激情干在线| 91校园春色长篇| 一区二区三区蜜桃成人撸久久东京热| 精品无码一区二区三区| 日韩精品在线视频,日韩精品……| 亚洲精品白浆高清久久久久久 | 无码操逼天堂| 牛牛操视频逼| 精品精品精品| 舔人妻中文免费视频| 热99这里有精品综合久久| 岛国视频一二三区| 97精品一二区| AV天堂因数| 污污汅18禁网站在线永久免费观看 | 香蕉久久精品| 呦呦影院| 蜜臀久久99精品久久综合| 神马午夜久久久| 中文字幕熟女人妻丝袜丝| 九九精品99| 91肏屄网| 亚洲中文字幕精品一区| 久久婷婷五月天| 午夜九九| 日本高清有码网址视频| 亚州日韩97| 无码外流操逼视频| 久久久久久久久久久久久久久乱码| 亚洲性综合11| 极品极品色影院| 天天综合网久久ww| 精品97久久| 国产99 中文字幕日韩小视频| 青青草色情网站视频| 国产精品日日摸天天碰| 一区二区三区免费岛国片| 日日操天天操| 无套后入双马尾| 青娱乐久久艹| 亚洲另类色综合网站| 欧美91视频| 四虎 精品 WWW| 欧美少妇性乱| 日本免费中文字幕在线| 加勒比AV天堂| 69精品久久久久中文字幕| 伊人久久亚洲中文字幕不卡| 99久久久久久亚洲精品不卡| 欧美三级不卡| 亚洲色图91| 日韩偷拍色图| 精品国产一区探花在线观看| 五月天黄色av| 丁香色狠狠色综合久久小说| 一级毛片电影免费看| 六九九九| 国产中文字幕在线点播| 欧美色图 人妻| 日韩精品人妻一| 国产精品网站www| 国产狂喷潮在线精品| 天天干2019| 在线97视频| 爽爽爽免费视频| 91精品女厕偷拍视频| 男人把坤坤插入女人的下体| 久久成人午夜精品影院| 蜜桃臀一区二区三区久久| 操逼操网| 久久大| 日本天堂网| 国产欧美日本亚洲精品| 青草视频人妻在线观看| 久久极品伊人| 久热在线精品免费观看| 欧美玖玖爱免费玖玖| 一级特级aaaa毛片免费观看 | 超碰人人干天天射| 免费农村成人少妇人妻Aa一区二区视频| 96久久久| 99热99re6国产在线播放| 天天日天天干天天整| 久热这里只有精品9| 国产高清1234区| 强奸乱伦亚洲第一页| 密乳AV免费观看| 欧美制服网站美腿丝袜| 日本淫乱女一区二区三区视频| 欧美78p| 伊人久久综合影院精品久久久| 亚洲欧美在线综合| 国产精品美女在线一区| 试看60秒 爽| 亚州精品丝袜-不卡成人免费| 一级毛片久久久久久久女人18| 大香交| 日韩情色视频| 国产三级电影免费观看| 爱妃国产亚洲视频中文字幕| 性色亚洲| 欧美亚洲首页| 老鸭窝日丰县女人| 97人肏| 精品一二三区久久AAA片| 超碰97精品| 2019午夜福利视频| 青春草A| 91操人| 新久久AV| 国产亚洲精品一区二区三区| 亚洲欧美洲综合| 亚州国产成人精品女人久久| 丝袜喷水在线| 夜夜嗨AV一区天天| 丁香六月综合激情| 五月天综合| 国产精品人妻熟女aⅴ| 天天久久| 午夜美女诱惑电源网| 97视频620| 青草青青久久久久久国产| 综合色色婷婷| 99ri在线视频| 强奸乱伦日韩AV| 欧美色视频在线| 韩三级a视频在线观看| 国产免费内射视频| 国产一二三在线视频五十路| 91中文字幕在线观看| 欧美一区二区传媒| 欧美精品91| 天美av在线观看| 九九热AV| 91亚洲黑人| 800zy一区二区| 五月天婷婷成人网| 99综合网| 91neishe| 99色婷婷中文字幕乱色| 久久一区,青青青青草视频在线播放| 久久久久人妻| 色五月av| 视频在线观看一二三区| 91九色丨国产丨爆乳| 久久乐| 97操B| 久久日韩肥臀| 综合色好色| 久夜视频| 欧美十八禁视频| 日日超碰亚洲| 92性色国产午夜福利在线661| 天堂69亚洲精品中文字| av天堂精品久久| 亚洲黄色网址视频| 97人人干| 欧美美女自慰一区二区三区| 在线女人91| 欧美 亚洲 大香| 人妻少妇精品久久久| 欧美 综合 亚洲| 青娱乐 青青青操 日逼| 久久综合97| 亚洲国产婷婷在线播放| 黄色av片三级三级三级免费看| 成人性爱美曰韩| 一区二区日韩欧美久久| 大香蕉在线免| 人妻欧美| 国产超碰人人爽人人做| 日本亚洲vr欧美不卡高清专区| 神马久久中文字幕| 亚洲久久天堂| 91影库| 国产精品老师| 久久超碰大香蕉| 熟女少妇一区二区三区| 日韩Va亚洲va欧美Ⅴa久久| 色色色999| 密臀在线免费观看| 欧美日综合| 亚洲欧洲无码bt精品合集| 91天堂色男人的天堂| 人妻少妇视频在线播放| 91欧美丝袜| 9色国产精品一区粉嫩| 国产日韩在线播放| 一区二区偷拍拍视频| 加勒比伊人综合| 大JI巴好深好爽又大又粗视频| 欧美黄色大片在线观看| 精品四五区| 97久久天天综合色天天综合色电影| 久久久久亚洲Av无码专区老牛影视| 9色国产精品一区粉嫩| 成人八戒网站| 69久久久久久久久久久久久| 人人搞人人插人人操| 天天干人妇| 国产精品久久久777| 久久蜜桃一区二区| 九九精品无码专区免费| 欧美日韩丝袜| 成人精品久久| 91GD.COM| 亚洲大色鬼| 丁香九月 婷婷| 天色综合网| 操老熟女AV| 夜夜操青青草| 啊啊啊好舒服好爽啊啊啊视频| 外国91| 91校园春色长篇| 疯操AV| 免费看欧美美女黄色大片| 欧美18老人禁| 97天天搞在线| 男人的天堂1024| 凹凸视频特色日本特黄| 91美女视频直播| www成人啪啪18秘 免费| 好好的日:com久久九九| 国产精品久久久久久亚洲色欲| 2011国产精品| 密乳视频在线| 丝袜喷水在线| 欧美亚洲国产91在线| 东北黄色电影| 88xx成人精品视频| 伊人操操| 亚洲乱伦图片视频| 久久久禁| 中文字幕在线观看二区三区| 欧美日韩一二三| 欧美在线视频99| 校园春色AV天堂| 青青草视频这里只有精品| 欧美成人精品欧美一级乱黄一区二…| 五月丁香色婷婷| 麻豆av一区二区| 偷拍网站久久男女男| 屁股久久久久久久久久| 亚洲情色五月天 | 97色欧州| 亚洲一区二区三区中文字幕| 99精品久久久久久| 九九热AV| 亚洲 中文字幕 精品| 丰满少妇高潮无码| 8050午夜少妇无码| 亚洲学生妹高清av| 韩国一区二区精品亚洲| 性爱综合一区二区| 九九九草| 午夜大香蕉| 亚洲色天| 日韩电影天堂视频一区二区| 免费一级毛片在线视频观看| 九九九网站| 亚洲欧美精品一区天堂久久 | 两性综合网| 亚洲成人贴图| 美女黄码视频午夜| 920日本午夜免费| 欧美黄色手机在线观看| 中文字幕片| 日本高清有码网址视频| 97资源久久| 亚洲男人天堂2012| 国产欧美日韩精品中文| 国产成人亚洲精品无| 国产视频第2页| 麻豆人妻精品一区二区| 亚洲日韩在线a不卡99精品| 破处bbq| 精品国产网站| 久久综合九九| 国产一级舔足在线观看| 亚洲资源吧| 先锋音影AV| 我爱大香蕉| 韩三级a视频在线观看| 日韩电影天堂视频一区二区| 久久高清欧美国产| 亚洲国产欧美一区二区潘金莲| 78精品| 日韩欧美中文字| 97久久精品亚洲中六字幕| 91九九| 亚洲第一精品在线视频| 国产av激情无码久久天堂| 9I1性色影院| 久久人妇| 久久99手机免费视频| 婷婷五月天成人网| 极品色www影院| 黄色激情电影在线观看| 欧美v日韩v亚洲v最新在线| 97操97干| 日本东京热大香蕉a片| 亚洲精品成人激情在线| 欧美成人黄网色网站| 欧美激情性爱视频网站| 国产精品不卡一区二区电影| 新亚洲无码| 亚洲丝袜在线观看| 深爱伊人影院| 精品人妻久久久| 欧美另类天堂| 精品人妻一区二区蜜桃视频| 日韩成人色图| 久久久久久久久久久久久久久性生活视频| 99热精品在线播放| 免费一级视频特黄色大片| 再深点灬舒服灬太大了好硬好爽| 国产亚洲禁久一区二区| 国产高清精品福利| 日韩成人网址| 欧美另类色图片| 99无码| 亚洲天天艹| 久久综合18p| AV色天香在线| 艹我哪美一区无码| 亚洲天堂中文字幕无码男同| 激情文学网伊人| 91精品成人www| 天天操女人| 久久亚洲天天做| 涩爱AV在线| 四虎视频在线观看| 国产熟女二区| 粉嫩久久久极品| 狠狠躁伊人中文字幕| 亚州性9| 国产 日韩,欧美 自拍| 日韩簧片免费看| 国产第25页在线观看| 成人无码在线超碰网| 国产探花精品在线| 亚洲性爱高潮影院| 四虎AV无码| 97爱欧美| 91美女国产在线| 久久九九精品一区二区| 国内一区二区免费| 99精品成人免费看| 亚洲色天堂日韩中| 国产人妻一区二区三区欧美毛片| 97中文热色| 色吧5亚洲| 在线强奷到舒服的无码视频| 日本久久天堂| 欧美少妇内射| 欧美色亚洲色| 国产欧美日韩一区二区三区| 啪啪啪大香蕉| 麻豆精品天美| 另类图片综合| 亚洲āv网址在线观看| 国产第25页在线观看| 911粉嫩人妻| 嗯啊不要在线| 久操视频免费观看| 国产精品视频内谢女人| 一区二区视频在线播放| 久操高青| 久久激情视频| 尤物网址| 美女人妻色网站| 中文无线日韩一区| 日韩黄色片子| 久久婷婷国产一区二区色| 久久久久久久久久久久久久久久9| 加勒比aⅴ| 欧美一级久久久久久久大片动画| 青青草在线成人视频| 蜜臀一二三区| 岛国激情视频软件| 厕所偷拍在线| 97AV在线观看| 欧美视频在线视频免费va| 欧美精品丝袜久久久中文字幕| 成人性交午夜免费片| 国产精品久久久久久久黄无码| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 色噜噜精品一区二区三| 欧美日韩222| 欧美成人精品欧美一级乱黄一区二… | 人人做天天爱| 久久9精品视频| 中文在线视频| 国模不卡| 91久久久老司机| 日韩欧美大力操| 日本岛国黄色网址| 亚洲天堂久久| 国产在线精品偷| 伊人96在线| 无码人妻丰满热妇又大又粗| 日日日色色色色色| 黄色av片三级三级三级免费看| 久久香蕉超碰97国产精品 | 78超碰| 男人夜色天堂ss| 欧洲精品一级二级精品综合视频综合 | www.av在线观看| 久久超碰97中文字幕| 黄色大片免费在线| 人人澡综合涩| 男女性感激情网站| 天天干夜夜肏| 伊人女女资源在线观看| 97欧美色资源| 超碰成人最新最好看| 久久激情视频| 99久久久久久久久| 99日视频在线免费| 麻豆久久视频在线地址| 亚洲色阁| 国产精品小视频一区二区三区| 国产精品日韩在线一区| 97超碰久| 久热九九| 婷婷在线视频在线观看| 99re99视频在线免费观看| 偷拍自拍在线视频观看| 黄页av| 亚洲成人精品久久久| 青娱乐淫乱1314| 国产人妻一区二区三区欧美毛片| 一区二区三区黄片免费观看| 亚洲se电影| 五月激情综合网| 欧美爱三级日韩久久| 热久日综合| 久久 国产精品 一区| 96久久久久| 91美乳| 中文久久爆乳| 偷拍 欧美 日韩| 亚洲91综合| AV色天香在线| 天天看夜夜看日日干| 国产精品视频在线播放| 男人天堂2019亚洲| 一区二区三区免费岛国片| 大逼色网站| 嗯嗯啊啊好疼| 天天欧美欧美亚洲网| 日韩黄片影院| 91熟女丨91老女人| 99在线啪| 亚洲欧洲综合视频在线| 亚洲欧洲中文日韩女优乱码| 男人的天堂VA| 国产青视频| 深夜国产一区二区三区在线看| 青娱乐黄色录像| 夜夜嗷嗷一区二区| 久久极品一区二区| 不卡一区二区日本视频| 在线观看免费视频国产| 上特色A在线| 91处女在线视频| 91人妻视频在线| 国产免费永久精品无码| 国产Aα| 思思热在线视频免费| 天天碰久久入| 国产乱子伦一区二区三区免看| WWW4虎| 这里只有精品久久| 亚洲AV无码国产精品久久久久| 五月天婷婷在线看| 蜜臀久久99精品久久久久久酒店 | 人人爱人人乐人人操| 91久久精品美女高潮喷水| www.高清无码诱惑一区.com| 97精品国产97久久久久久户外免费| 欧美十八禁在线看| 中国操逼无码| 天堂69亚洲精品中文字| 国产精品操| 成人三级片一区二区三区视频| 超碰无码五月97| 97内射偷拍| 性吧在线视频| 国产超碰在线| 操99| 99热超碰| www.天天干| 亚洲综合网电影91| 日韩精品99999| www.婷婷六月天| 五月丁香网站| 婷婷中文字幕| 丝袜美腿欧美| 久久精品人体| 日韩熟女精品无码专区一区二区| 人妻精品综合中文字幕在线| 91在线免费观看处女| juliaann精品熟女一区| 情色日播放AV| 丝袜性亚洲| 欧美激情片一区二区| 骚逼一区二区| 98福利在线视频| 嗯嗯啊啊啊啊轻点视频| 精品无码产区一区二| 超碰4A| 99热这里只有精品18| 唯美清纯 妖精视频| 97精品视频| 岛国免费视频在线| 国产无马视频| 九九色逼| 久久女人视频| 在线观看A啊啊啊| 91真人天天在线| 欧美日韩人妻精品系列一区二区三区| 亚洲色性| 国产精品视频内谢女人| 日韩精品人妻一| 天美麻花大全视频| 人妻激情偷乱视频一区二区三区| 亚洲国产精品久久久久婷婷青年| 超碰 av 女人天堂| 国产免费一区| 超碰人妻久久| 思思热久久成人| 久久久亚洲Av| 中文字幕一区日韩精| 天天干2019| 欧美日韩人妻婷婷一区| 久啪视频| 欧美高清18A片| 国产精品探花视频| 中文字幕一区av| 干b在线性社区| 色约约一区=区三区| 十八禁啪啪视频| 日本在线播放不卡一区| 一区二区久久天天干狠狠| 欧美色日本| 亚洲Av诱惑| 欧美一级国产一级| 懂色AV一区二区三区| 91无码人妻| 97精| 成人午夜无码视频| 国产丝袜美腿美女麻豆| 怡红院久久老司机| 国产91啪| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 国产亚洲色婷婷99精品91| 五月天伊人网| 亚洲国产精品9999在线观看| 插入综合网| 中文字幕免费看| 強姦亂倫a| 亚洲人精品久久久喷水| 亚洲一区制服诱惑| 久久91视频| 久久免费中文字幕在线观看| 极品内射| 日韩一级二级三级免费看完整版| 偷拍自拍在线视频观看| 青青草色情网站视频| 97色在线视频| 国语对白在线播放视频| 久久欧洲| a级免费在线观看| 99综合网| 密臀成人视频久久久| av天堂天堂av日韩| 麻豆久久久久久久久丝袜 | 强奸抽插av| 人妻熟女午夜精品在线| 亚洲91射| 免费A V在线| 最新9久久久9免费视频| 综合网亚洲在线| 亚洲成A∨人影院在线欢看| 99热导航| 免费观看国产不卡av| 久久精品老司| 日韩无码a片| 国产传媒美日韩av| 国产黄色在线播放观看| 97久久精品亚洲中六字幕| 999久久芭蕾| 激情久久久| 日本幼女18+| 强免费黄色网址| 性高潮久久久| 五月婷婷丁香六月| 日本熟妇人妻一区二区三区| 欧美性爱日韩性爱| 国产AV人人夜夜澡人人爽麻豆| 欧美日韩一区二区三区四区蜜桃| 欧美日韩另类字幕中文| 乳欲人妻办公室奶水| com 首页 18岁 禁区 女优 免费 精选 同城| 岛国毛片手机在线观看| 韩国嫰模上门援交视频| 91日本在线观看| 欧美日韩久久精品爱爱| 天堂8在线新版官网| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 久久九操在线观看| 久久精品中文字幕无码l| 骚货 中文字幕 av| www.色五月| 97爱爱| 伊人网在线视频| 免费试看60秒| 美女91| 视频黄站| 激情文学 亚洲图片| 999 久久久| 9久精品视频在线观看| 国产精品天干天干综合网麻豆| 今日头条成人一区二区三区四虎精品| 亚洲日本成人动漫| 神马视频久久久久久| 色欧美天天| 一区二区首页| 亚州综合AⅤ| 九九九草| 东京男人天堂| 亚洲无码日韩电影| 老女人综合网| 乱伦av国产| 懂色天天爱天天日天天射天天澡| 国产精品久久久久中文字幕| 大香蕉免费乱伦视频| 青青久久手机线视频| 精品亚洲国产成人AV制服丝袜| 十八禁成人网站在线观看| 天天射影院| 亚洲第91页| 都市激情人妻一区二区青青操视频| 欧美同性恋 的搜索结果 - 91n| 在线视频亚洲无码| 国产高清成人mv在线观看| 美女超碰978| 欧美综合网1| 夜夜爽夜夜高潮夜夜爽| 久久久啊啊啊| 美国日韩黄片| 色婷婷五月天| 麻豆a'v电影| 亚洲欧美综合网| 香蕉99秘 一区精品蜜桃臀| 亚洲日韩美国人妻| 欧美性天天影视| 国内精品久9| 自拍偷拍 高清无码| 欧美夜夜狠| 久久久久久久久9| 377p欧洲日本亚洲大胆| 天天插天天操| 操死我了嗯嗯嗯| 秋霞免费无码视频日韩A片| 日韩欧美综合激情| 中文字幕在线观看第二页| 丁香婷婷激情五月天无毒不卡| 亚洲九九九| 91色艳| 亚洲综合第一页| 91在线页| 日韩欧美性吧婷婷乱伦大香蕉| 亚洲中文字母在线播放| 黄久在线| 久久人人爽人人爽人人片Ⅴ| 奇米四色网| 歐美一級亂黃99在綫精品| 亚洲一区二区三区中文字幕| 精品人妻一区春色| 最新日韩黄片| 成人欧美日超碰| 久99热| 免费看黄片现成| 一区二区国产视频在线观看| 久久久久国产一区二| 99国产精品久久久在线播放| 久久社区一区二区三区| 97欧美久久久久久久| 日韩精品99999| 精品久久久久久中文字幕三区| 情色五月天网| 97色在线| 精品少妇99| 天天摸天天插天天日| 国产一进一出视频网站| 天天搞欧美| 精品国产污一区二区三区| 秋霞久久亚洲精品成人| 天天日夜干| 久久国产精品一级二级三级| xxxx网站亚洲精品| 高精欧美色| 97超碰总站| 久久黄黄| 任你爽视频| 搡老熟女老女人老熟妇免费视频| av三级电影在线播放| 久久r精品| 日本东京热大香蕉a片| 曰韩av中文字幕专区| 亚洲精品乱码线路中文字幕| 欧美色网络| 天天综合网~91| 国产精品禁久久久精品| 超碰97在线中文| 超碰98综合网| 99精品伊人| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 大香蕉免费3| 91久久九九精品国产综合| 校园春色亚洲| 午夜操一操| 亚洲天堂2020| 91高潮| 亚洲成人ab| 欧美不在线| 欧美天天综合网| 思思热一热婷婷热一热| 91视频精品| 一区二区三区黄色片a| 中文字幕一区二区三区字幕| 亚洲一区二区久久久久| 久久久久久亚洲中文| 无码视频黄色网战| 大香蕉92| 97在线免费视频观看| 日日夜夜模| 日韩有码专区| 国产一区二区三区久久久精品| 欧美性爱中文字幕无线码| 逼逼逼逼操操操操操操操操操午夜剧场 | 亚洲免费精品一区| 欧美日韩亚洲五月天婷婷| 欧美,亚洲,日韩,v,天堂,手机在线观看| 97色欧洲| 欧美图片校园春色| 久久成年片色大黄全免费网站| 久久精品国产亚洲AV嘿嘿| 人妻久久久久久| 丝袜色综合| 欧美日韩中文字幕不卡| 日本人妻伦在线中文字幕| 人人做人人妻人人夜视频| 中文字幕视频在线观看一区二区| 蜜臀无码一区二区| av影片在线观看不卡| 熟女突然公开看18禁影片| baiduhicn.com。| 青青免费在线视频一区| 五月丁香影院| 91久久国产精品| 中日韩熟女| 欧美色天堂网在线视频| 欧洲精品一级二级精品综合视频综合 | 99热综合| 成人三级片一区二区三区视频| 99色热国产视频精品| AV天堂男人的天堂| 精品人妻av区天天看片| 午夜高清成人在线视频| 亚洲91网。| 欧美精品99久久久**| 色五月天AV| 性色av蜜臀av色欲aV| 中文欧丝袜诱惑| 国产精品婬乱一级毛片彝族| 久久精品国产精品| 亚洲一区二区三区中文字幕| 亚洲日韩熟女人妻高清在线| 91影库| 好湿好紧视频| 曰韩成人免费视频| 蜜臀99久| 丝袜无码a片| 99久久网站| 天天日天天干天天色| 久久久久久大| 性开放中文AV高清无码免费看| 好爽要喷了| 五月丁香综合啪啪| 7777奇米影视久久| 97操在线| 无码91| 免费亚洲黄色视频在线观看| 97一本大道亚洲一区| 一个人免费HD91视频| 男人天堂资源| 中文字幕精品三级久久久| 女优视频第10页| 国产精品久久久无码AV网站| 怡红院成人视频| 色男人色天堂东京热| 国产最新小视频在线播放下载| 中文字幕青青草| 亚洲欧美综合网站| 欧美日韩黄色片一区二区三区四区人与兽做爱| 国产专区第一页| 男人天堂2017| 人妻激情视频| 欧美偷偷网| 久久偷偷色综合蜜桃| 欧美白嫩在线放| 久久久久久久国产| 在线一区| 四季AV一区二区凹凸精品小说| 熟女丰满人妻一区| 97香焦色区| 久久AV无码网址| 中文字幕123| 91香蕉国产尤物视频| 久操97| a片久久久久久久久久久久| 日本一区二区不卡| 视频一区二区免费在线| 97神马久久| 91久久青青草原精品| 翔田千里AV无码秘 三区| 久久精品 六十路 熟女 欧美| 97九色| 日欧操屄| 久久久久久久国产a∨| 久久久久久日韩| 国产亚洲精品美女久久久m| 亚洲最大网站av| 99久久九九| 极品粉嫩一区二区| 一二三卡欧美日韩人妻免费精品| 久久精品操| 九九精品无码专区免费| 美女极品一区二区三区| 久久久工口| 日韩专区久久久| 2017天天插| 成人精品一区二区91毛片不卡| 五月天激情四射| 香港日本韩国人妇99www.wccm20| 精久久久| 国产区91柔拿会所技师| 91女人的网站| 一二区在线观看视频| a片偷拍视频| 你操综合| 91色综合激情| 久久视频,这里只有精品| 青青操在线亚洲视频观看欧美在线 | 亚州国产成人精品女人久久| 国产免费一区| 超碰诱惑| 极品五月天噜噜| 日韩大香蕉精品在线视频| 亚洲第一视频 欧美风情 日韩| 国产伦乱91| 黑人与人妻| 17c在线成人免费A片观看| 91原创在线观看| 搡老熟女免费视频| 亚洲国产精品久久久久婷婷青年| 97视频在线视频| av最新免费中文字幕| 上床不卡网站| 91视频综合在线| 国产乱码精品一区二区三区四川| 色婷婷一区二区三区久久午夜成人不| 永久免费发布性爱网| 精品午夜福利| 日本天堂在线播放| 激情婷婷综合久久| 按摩中文字幕| 欧美区亚洲区偷拍区| 麻豆AV一区二区| 久久久久久久精| 久久人妻办公室视频| 精品视频久久| 影音综合网| 中文字幕日韩电影人妻| 国产剧情一区在线观看| 97超碰碰| 午夜福利在线合集| 色播五月丁香| 亚洲αv一区二区三区| 亚洲综合在线第一页| 91久久伊人婷婷青青草| 欧美日韩第一页| 88xx成人精品视频| 超碰在线成人电影| 白丝AV网站| 色九九综合| 福利色色| 国产精品一区二区校花| 超碰在线一区二区| 一二三区精品视频| 麻豆a'v电影| 加勒比海成人视频网| 欧亚不卡| 久久久久久亚洲精品中文字幕人妻|