亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

Odoo SaaS Kit實(shí)戰(zhàn):Docker多租戶(hù)實(shí)例管理與部署

Odoo SaaS Kit實(shí)戰(zhàn):Docker多租戶(hù)實(shí)例管理與部署 簡(jiǎn)介這是一份圍繞 Odoo SaaS Kit 的 PDF 技術(shù)文檔重點(diǎn)講解基于 Docker 的多租戶(hù) Odoo 實(shí)例管理系統(tǒng)面向已有服務(wù)器管理和 Odoo 使用經(jīng)驗(yàn)、負(fù)責(zé)企業(yè)級(jí)應(yīng)用部署與運(yùn)維的 IT 專(zhuān)業(yè)人員。文檔覆蓋部署鏈路安裝 docker、erppeek、paramiko 等 Python 庫(kù)規(guī)劃 Odoo-SAAS-Data、docker_vhosts、common_addons 目錄構(gòu)建基礎(chǔ) Odoo Docker 鏡像配置 Nginx 虛擬主機(jī)與 PostgreSQL并為 Odoo 用戶(hù)授權(quán) Docker 與 Nginx 控制權(quán)限。隨后說(shuō)明如何配置 SaaS 服務(wù)器、創(chuàng)建訂閱計(jì)劃使客戶(hù)自助生成實(shí)例同時(shí)設(shè)置計(jì)費(fèi)周期、試用期與模塊列表還特別提醒構(gòu)建鏡像時(shí)須保持主機(jī)與容器內(nèi) Odoo 用戶(hù) ID 和組 ID 一致避免共享文件夾權(quán)限問(wèn)題。針對(duì)實(shí)際運(yùn)維文檔整理模塊上傳、域名管理、日志查看、備份恢復(fù)和重啟客戶(hù)端進(jìn)程等常見(jiàn)問(wèn)題解法便于快速排障。資源包共 1 個(gè) PDF 文件大小 3.99MB適合作為部署參考與運(yùn)維手冊(cè)。目前已有 140 人瀏覽學(xué)習(xí)適合有 Docker 與 Nginx 基礎(chǔ)的技術(shù)人員直接借鑒。1. Odoo SaaS Kit為什么多租戶(hù)實(shí)例管理是Odoo商業(yè)化繞不開(kāi)的一道坎做Odoo實(shí)施的團(tuán)隊(duì)遲早會(huì)遇到同一個(gè)問(wèn)題客戶(hù)從3家漲到30家不可能給每家單獨(dú)買(mǎi)一臺(tái)服務(wù)器也不可能在一套Odoo里塞三十個(gè)互不相干的業(yè)務(wù)庫(kù)。Odoo SaaS Kit這個(gè)方向解決的就是這件事——用Docker把每個(gè)租戶(hù)的Odoo實(shí)例、數(shù)據(jù)庫(kù)、資源配額管起來(lái)做到開(kāi)新客戶(hù)像開(kāi)賬號(hào)一樣快。它不是某個(gè)插件而是一整套“部署配置管理”的方案容器編排管實(shí)例生命周期PostgreSQL隔離租戶(hù)數(shù)據(jù)反向代理按域名分發(fā)請(qǐng)求再加一套運(yùn)維流程做備份、升級(jí)和擴(kuò)容。適合正在做Odoo實(shí)施交付的顧問(wèn)、小團(tuán)隊(duì)SaaS創(chuàng)業(yè)者以及要給客戶(hù)提供Odoo訂閱服務(wù)的技術(shù)負(fù)責(zé)人。2. 先搭地基Odoo SaaS Kit 的架構(gòu)選型與Docker最小拓?fù)?.1 多租戶(hù)的三種隔離方式為什么最終選“一實(shí)例一庫(kù)一容器組”O(jiān)doo做多租戶(hù)隔離方式大致有三條路共享數(shù)據(jù)庫(kù)共享Schema、共享數(shù)據(jù)庫(kù)獨(dú)立Schema、獨(dú)立數(shù)據(jù)庫(kù)。第一條路在Odoo里基本走不通因?yàn)镺doo的模塊安裝在數(shù)據(jù)庫(kù)級(jí)別不同客戶(hù)裝了不同模塊之后公共表結(jié)構(gòu)根本沒(méi)法統(tǒng)一。第二條路要改造ORM層動(dòng)到Odoo框架底子風(fēng)險(xiǎn)大且升級(jí)時(shí)每次都要打補(bǔ)丁不適合長(zhǎng)期維護(hù)。SaaS Kit走的是第三條路每個(gè)租戶(hù)一個(gè)獨(dú)立PostgreSQL數(shù)據(jù)庫(kù)前端可以共用一套Odoo容器也可以每個(gè)租戶(hù)獨(dú)立容器組。新手階段建議從“共用Odoo容器獨(dú)立租戶(hù)庫(kù)”起步成本和運(yùn)維量最低等某個(gè)租戶(hù)的負(fù)載明顯影響其他人時(shí)再把這個(gè)租戶(hù)拆成獨(dú)立容器組。這套方案依賴(lài)Odoo官方就支持的多數(shù)據(jù)庫(kù)機(jī)制PostgreSQL里建了庫(kù)Odoo通過(guò)db_filter參數(shù)自動(dòng)識(shí)別可用的租戶(hù)庫(kù)不需要改Odoo源碼。隔離性、升級(jí)靈活性、交付速度三個(gè)維度上它都是最穩(wěn)的折中。2.2 最小容器拓?fù)淅锩總€(gè)角色的職責(zé)與關(guān)鍵參數(shù)一套能跑起來(lái)的SaaS Kit最小拓?fù)涫撬膫€(gè)容器PostgreSQL、Odoo、Redis、Nginx。數(shù)據(jù)庫(kù)負(fù)責(zé)租戶(hù)數(shù)據(jù)隔離Odoo負(fù)責(zé)應(yīng)用邏輯Redis在Odoo里做session存儲(chǔ)和緩存Nginx負(fù)責(zé)按域名把請(qǐng)求路由到Odoo。四個(gè)容器放在同一個(gè)自定義bridge網(wǎng)絡(luò)里互相通過(guò)容器名通信。容器角色鏡像關(guān)鍵端口職責(zé)dbpostgres:165432每租戶(hù)一個(gè)獨(dú)立databaseodooodoo:208069處理HTTP請(qǐng)求與業(yè)務(wù)邏輯redisredis:7-alpine6379session存儲(chǔ)、緩存nginxnginx:1.27-alpine80/443域名路由、TLS終止、WebSocket轉(zhuǎn)發(fā)Odoo容器里有幾個(gè)參數(shù)直接影響多租戶(hù)行為必須在compose里顯式聲明。db_filter告訴Odoo哪些數(shù)據(jù)庫(kù)屬于租戶(hù)常見(jiàn)的做法是設(shè)為^odoo_只匹配以odoo_開(kāi)頭的庫(kù)避免把PostgreSQL里其他管理庫(kù)暴露到前端。list_dbfalse關(guān)閉數(shù)據(jù)庫(kù)列表展示防止用戶(hù)在登錄頁(yè)看到全部租戶(hù)庫(kù)名。proxy_modetrue讓Odoo信任Nginx轉(zhuǎn)發(fā)過(guò)來(lái)的HTTP頭否則生成的回鏈URL會(huì)帶上內(nèi)網(wǎng)端口。workers數(shù)量一般按CPU核數(shù)*21估算max_cron_threads保留1個(gè)線(xiàn)程跑定時(shí)任務(wù)多租戶(hù)場(chǎng)景下cron線(xiàn)程太多會(huì)互相搶數(shù)據(jù)庫(kù)連接。2.3 版本鎖定為什么從Odoo 20和PostgreSQL 16起步鏡像tag選擇上我的建議是直接鎖定Odoo 20和PostgreSQL 16不要用latest。latest在Docker里是個(gè)黑匣子今天拉下來(lái)能用三個(gè)月后再拉可能就是新版本升級(jí)引發(fā)的兼容問(wèn)題排查起來(lái)非常被動(dòng)。Odoo 20是目前社區(qū)活躍度最高的版本線(xiàn)Docker鏡像、第三方模塊適配都齊全Python版本和依賴(lài)在鏡像里已經(jīng)固定省去不少手工編譯的麻煩。PostgreSQL 16對(duì)Odoo 20的支持成熟還有一個(gè)實(shí)際原因備份恢復(fù)工具pg_dump/pg_restore在大版本之間不能保證向下兼容。如果線(xiàn)上是PostgreSQL 16恢復(fù)演練和災(zāi)備環(huán)境也必須是16鎖死版本能避免“生產(chǎn)好好的備份恢復(fù)不回去”的血淚事故。Redis用7-alpine即可Odoo對(duì)Redis版本不敏感但alpine鏡像體積小、內(nèi)存占用低適合容器密集部署。最后一個(gè)建議統(tǒng)一從私有鏡像倉(cāng)庫(kù)拉取這三個(gè)鏡像把版本號(hào)寫(xiě)進(jìn)compose文件不要在日常操作里手動(dòng)docker pull覆蓋tag。3. 部署落地用docker compose跑起第一套多租戶(hù)Odoo3.1 第一版docker-compose.yml先接受“一容器一庫(kù)”的簡(jiǎn)單拓?fù)湎葘?xiě)第一版compose文件不追求完美目標(biāo)是讓db、odoo、redis、nginx四個(gè)容器一次起來(lái)并且能通過(guò)db_filter識(shí)別租戶(hù)庫(kù)。后續(xù)要拆獨(dú)立租戶(hù)容器組時(shí)再擴(kuò)展但架構(gòu)骨架不變。version: 3.8 services: db: image: postgres:16 container_name: saas_db environment: POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo_password POSTGRES_DB: postgres volumes: - db_data:/var/lib/postgresql/data healthcheck: test: [CMD-SHELL, pg_isready -U odoo] interval: 10s timeout: 5s retries: 5 networks: - saas_net odoo: image: odoo:20 container_name: saas_odoo depends_on: db: condition: service_healthy environment: HOST: db USER: odoo PASSWORD: odoo_password DB_FILTER: ^odoo_ LIST_DB: false PROXY_MODE: true WORKERS: 5 MAX_CRON_THREADS: 1 volumes: - odoo_data:/var/lib/odoo - ./addons:/mnt/extra-addons networks: - saas_net redis: image: redis:7-alpine container_name: saas_redis command: [redis-server, --appendonly, yes] networks: - saas_net nginx: image: nginx:1.27-alpine container_name: saas_nginx depends_on: - odoo ports: - 80:80 - 443:443 volumes: - ./nginx/conf.d:/etc/nginx/conf.d:ro - ./certs:/etc/nginx/certs:ro networks: - saas_net volumes: db_data: odoo_data: networks: saas_net: driver: bridge這段compose的邏輯是db容器先啟動(dòng)healthcheck通過(guò)后odoo容器才會(huì)創(chuàng)建這套依賴(lài)機(jī)制在compose里用condition: service_healthy實(shí)現(xiàn)。DB_FILTER: ^odoo_是關(guān)鍵的正則Odoo啟動(dòng)時(shí)會(huì)掃描PostgreSQL里所有數(shù)據(jù)庫(kù)只把以odoo_開(kāi)頭的庫(kù)當(dāng)作租戶(hù)實(shí)例。LIST_DB: false對(duì)應(yīng)Odoo配置里的list_db False登錄頁(yè)不再展示數(shù)據(jù)庫(kù)下拉框。PROXY_MODE: true對(duì)應(yīng)proxy_mode True后面Nginx轉(zhuǎn)發(fā)時(shí)才不會(huì)出URL端口錯(cuò)誤。workers數(shù)量這里寫(xiě)了5適合2核4G的初始機(jī)器。workers不是越大越好每個(gè)worker都持有數(shù)據(jù)庫(kù)連接池PostgreSQL默認(rèn)max_connections只有100workers太多反而拖垮數(shù)據(jù)庫(kù)這是第一次部署時(shí)最容易忽略的容量關(guān)系。3.2 初始化租戶(hù)數(shù)據(jù)庫(kù)并讓Odoo識(shí)別多庫(kù)compose文件寫(xiě)好后先啟動(dòng)數(shù)據(jù)庫(kù)容器確認(rèn)健康狀態(tài)再啟動(dòng)Odoo然后手動(dòng)創(chuàng)建第一個(gè)租戶(hù)庫(kù)。不要用docker compose up -d一把梭第一次跑先拆開(kāi)做方便定位是數(shù)據(jù)庫(kù)沒(méi)起來(lái)還是Odoo連接失敗。docker compose up -d db docker compose exec db pg_isready -U odoo docker compose exec db createdb -U odoo -O odoo odoo_tenant_001 docker compose up -d第一行只啟動(dòng)db容器第二行用pg_isready探測(cè)PostgreSQL是否接受連接。返回accepting connections說(shuō)明就緒再執(zhí)行第三行創(chuàng)建租戶(hù)庫(kù)。-U odoo指定用戶(hù)-O odoo把新庫(kù)的屬主設(shè)為odoo用戶(hù)這一步不能漏否則Odoo用odoo用戶(hù)登錄后對(duì)這個(gè)庫(kù)沒(méi)有完整權(quán)限運(yùn)行時(shí)會(huì)報(bào)permission denied。第四行把odoo、redis、nginx一起拉起來(lái)Odoo啟動(dòng)時(shí)讀到DB_FILTER自動(dòng)把odoo_tenant_001識(shí)別為可訪(fǎng)問(wèn)的租戶(hù)庫(kù)。打開(kāi)瀏覽器訪(fǎng)問(wèn)http://服務(wù)器IP/web/database/selector如果配置生效頁(yè)面不會(huì)列出數(shù)據(jù)庫(kù)列表需要手動(dòng)輸入租戶(hù)庫(kù)名odoo_tenant_001才能進(jìn)入初始化安裝界面??吹竭@個(gè)行為說(shuō)明多租戶(hù)入口已經(jīng)通了。首次進(jìn)入會(huì)在租戶(hù)庫(kù)里初始化Odoo基礎(chǔ)模塊耗時(shí)一兩分鐘耐心等頁(yè)面跳轉(zhuǎn)。3.3 Nginx反向代理與租戶(hù)域名路由Odoo本身不處理域名路由它只按數(shù)據(jù)庫(kù)名分發(fā)請(qǐng)求域名到租戶(hù)庫(kù)的映射要Nginx來(lái)做。最常見(jiàn)的方案是通配符解析每個(gè)租戶(hù)一個(gè)二級(jí)域名結(jié)構(gòu)是tenant001.yourdomain.comDNS里加一條*.yourdomain.com到服務(wù)器IP的A記錄Nginx用一個(gè)server塊接住所有租戶(hù)請(qǐng)求轉(zhuǎn)發(fā)給Odoo容器。upstream odoo_backend { server saas_odoo:8069; keepalive 64; } server { listen 80; server_name *.yourdomain.com; proxy_read_timeout 720s; proxy_connect_timeout 10s; proxy_send_timeout 720s; proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; location / { proxy_pass http://odoo_backend; } }關(guān)鍵在兩處server_name *.yourdomain.com匹配所有租戶(hù)子域proxy_pass http://odoo_backend把請(qǐng)求轉(zhuǎn)給compose網(wǎng)絡(luò)里的odoo容器。Odoo拿到請(qǐng)求后根據(jù)Host頭里的子域前綴結(jié)合dbfilter正則匹配對(duì)應(yīng)租戶(hù)庫(kù)這就是為什么dbfilter必須用^odoo_開(kāi)頭來(lái)匹配數(shù)據(jù)庫(kù)名的原因——tenant001.yourdomain.com需要和庫(kù)名odoo_tenant_001在命名上強(qiáng)對(duì)應(yīng)。WebSocket要單獨(dú)處理Odoo的實(shí)時(shí)通信比如消息通知走WebSocket協(xié)議Nginx默認(rèn)轉(zhuǎn)發(fā)不了。需要先定義map $http_upgrade $connection_upgrade { default upgrade; close; }這段映射放到http塊里再在server塊里帶上Upgrade和Connection頭。不帶這段Odoo后臺(tái)的在線(xiàn)用戶(hù)列表和聊天功能會(huì)偶發(fā)斷連報(bào)錯(cuò)日志里能看到websocket connection failed。4. 實(shí)例管理打通租戶(hù)生命周期、備份恢復(fù)與資源配額4.1 租戶(hù)生命周期管理的常規(guī)操作序列SaaS Kit的管理對(duì)象是租戶(hù)實(shí)例實(shí)例管理的第一步是把生命周期標(biāo)準(zhǔn)化創(chuàng)建、暫停、遷移、歸檔、銷(xiāo)毀每個(gè)動(dòng)作對(duì)應(yīng)一組確定的命令。不要手動(dòng)去容器里亂改要把命令沉淀成腳本否則租戶(hù)一多必然出錯(cuò)。# 創(chuàng)建租戶(hù) docker compose exec db createdb -U odoo -O odoo odoo_tenant_002 # 暫停租戶(hù)停止Odoo側(cè)服務(wù)保留數(shù)據(jù) docker compose stop odoo # 恢復(fù)服務(wù) docker compose start odoo # 歸檔租戶(hù)導(dǎo)出數(shù)據(jù)并下線(xiàn) docker compose exec db pg_dump -U odoo -Fc odoo_tenant_002 backups/odoo_tenant_002.dump docker compose exec db dropdb -U odoo odoo_tenant_002創(chuàng)建租戶(hù)其實(shí)只做一件事建一個(gè)空數(shù)據(jù)庫(kù)。Odoo會(huì)在首次訪(fǎng)問(wèn)時(shí)自動(dòng)完成模塊初始化不需要事先安裝任何東西。暫停和恢復(fù)針對(duì)整個(gè)Odoo容器操作這在一容器多庫(kù)的架構(gòu)下是硬傷——停一個(gè)租戶(hù)所有人都訪(fǎng)問(wèn)不了。所以暫停操作更適合用在“整體維護(hù)窗口”場(chǎng)景單獨(dú)的租戶(hù)停用要通過(guò)nginx層做路由攔截或者用數(shù)據(jù)庫(kù)級(jí)權(quán)限控制不能簡(jiǎn)單stop Odoo容器。歸檔操作要特別注意順序先pg_dump導(dǎo)出確認(rèn)dump文件大小合理再dropdb刪除庫(kù)。順序反了就得從備份恢復(fù)多租戶(hù)系統(tǒng)里沒(méi)有后悔藥吃。dropdb之后dbfilter正則自動(dòng)不再匹配這個(gè)庫(kù)租戶(hù)的域名訪(fǎng)問(wèn)會(huì)直接404屬于安全的離線(xiàn)狀態(tài)。4.2 備份與恢復(fù)多租戶(hù)下恢復(fù)比備份難十倍單機(jī)單庫(kù)的備份很簡(jiǎn)單多租戶(hù)場(chǎng)景下難點(diǎn)在恢復(fù)不能把整個(gè)PostgreSQL目錄拷貝覆蓋那會(huì)把所有租戶(hù)一起回滾也不能在恢復(fù)時(shí)讓dbfilter誤匹配到半初始化狀態(tài)的庫(kù)。我的建議是采用租戶(hù)級(jí)備份策略每個(gè)租戶(hù)庫(kù)獨(dú)立導(dǎo)出獨(dú)立恢復(fù)互不影響。# 備份單個(gè)租戶(hù)壓縮格式支持選擇性恢復(fù) docker compose exec db pg_dump -U odoo -Fc odoo_tenant_001 backups/odoo_tenant_001_$(date %F).dump # 恢復(fù)單個(gè)租戶(hù)到新庫(kù) docker compose exec db createdb -U odoo -O odoo odoo_tenant_001_restored docker compose exec db pg_restore -U odoo -d odoo_tenant_001_restored --no-owner --no-privileges backups/odoo_tenant_001_20250601.dump恢復(fù)時(shí)務(wù)必用--no-owner --no-privileges否則dump里的屬主信息會(huì)和當(dāng)前容器里的odoo用戶(hù)不一致Odoo連上去后經(jīng)常報(bào)權(quán)限錯(cuò)誤?;謴?fù)完成后新庫(kù)名如果不符合dbfilter正則Odoo不會(huì)識(shí)別它這時(shí)把容器里的DB_FILTER臨時(shí)改成正則匹配新庫(kù)名或者直接在Nginx層加一條測(cè)試域名指過(guò)去驗(yàn)證數(shù)據(jù)完整后再把舊庫(kù)切換走。cron定時(shí)備份的腳本建議分成兩層每晚全量備份所有租戶(hù)庫(kù)每小時(shí)只對(duì)變更最頻繁的兩三個(gè)租戶(hù)做增量。PostgreSQL沒(méi)有內(nèi)置增量常見(jiàn)的做法是結(jié)合WAL歸檔但對(duì)SaaS Kit這種規(guī)模來(lái)說(shuō)太重。實(shí)際夠用的方案是夜間cron跑全套pg_dump白天每?jī)尚r(shí)對(duì)活躍租戶(hù)單獨(dú)跑一次輕量dump保留最近7天備份?;謴?fù)演練每月至少做一次不要等真出事了才試。4.3 容器資源配額與SaaS套餐定價(jià)的映射多租戶(hù)系統(tǒng)管理到后期最大的問(wèn)題不是功能是資源分配。一個(gè)租戶(hù)寫(xiě)死一個(gè)Odoo容器不現(xiàn)實(shí)資源浪費(fèi)嚴(yán)重但共用容器又沒(méi)法控制單個(gè)租戶(hù)的CPU和內(nèi)存占用。SaaS Kit的常見(jiàn)做法是在容器編排層給租戶(hù)定義配額模板用compose里的mem_limit和cpus字段控制。# 示例獨(dú)立租戶(hù)容器組的資源配額 services: odoo_tenant_001: image: odoo:20 mem_limit: 2g cpus: 1.0 environment: WORKERS: 3先把配額模板和服務(wù)套餐綁定基礎(chǔ)版1G內(nèi)存1核專(zhuān)業(yè)版2G內(nèi)存2核旗艦版4G內(nèi)存4核。Odoo的workers數(shù)量跟隨內(nèi)存配額走1G內(nèi)存最多配3個(gè)workers再高數(shù)據(jù)庫(kù)連接池會(huì)先撐不住。這個(gè)映射關(guān)系要在交付文檔里寫(xiě)明否則銷(xiāo)售簽了高并發(fā)客戶(hù)部署時(shí)內(nèi)存配額給不夠后續(xù)全是性能投訴。docker update可以在容器運(yùn)行中動(dòng)態(tài)調(diào)整配額比如某個(gè)租戶(hù)月底結(jié)賬時(shí)CPU飆高臨時(shí)docker update --cpus 2 --mem_limit 4g saas_odoo_tenant_001結(jié)完賬再調(diào)回來(lái)。調(diào)整后觀察容器重啟情況內(nèi)存配額調(diào)低到當(dāng)前占用以下容器會(huì)被內(nèi)核直接殺掉這個(gè)操作必須謹(jǐn)慎。quota和計(jì)費(fèi)系統(tǒng)聯(lián)動(dòng)時(shí)建議按“配額階梯計(jì)費(fèi)”而不是“實(shí)際消耗計(jì)費(fèi)”否則AWS賬單波動(dòng)會(huì)讓用戶(hù)投訴到懷疑人生SaaS套餐的費(fèi)用策略里這是最穩(wěn)的一種設(shè)計(jì)。5. 避坑清單Docker部署Odoo SaaS Kit的常見(jiàn)問(wèn)題與排查路徑5.1 現(xiàn)象Docker Desktop啟動(dòng)失敗提示virtualization support not detectedWindows環(huán)境跑Docker Desktop最常撞上的錯(cuò)誤就是啟動(dòng)時(shí)彈出virtualization support not detected。原因是BIOS里的虛擬化技術(shù)沒(méi)開(kāi)或者Windows的虛擬機(jī)平臺(tái)功能沒(méi)啟用。解決路徑重啟進(jìn)BIOS/UEFI找到Intel VT-x或AMD-V選項(xiàng)并開(kāi)啟然后在Windows功能里勾選“適用于Linux的Windows子系統(tǒng)”和“虛擬機(jī)平臺(tái)”執(zhí)行bcdedit /set hypervisorlaunchtype auto后重啟。啟動(dòng)不了Docker Desktop后面所有compose操作都無(wú)法進(jìn)行。Linux服務(wù)器上如果遇到docker: failed to start daemon先查內(nèi)核模塊lsmod | grep overlay和cgroup掛載大多數(shù)是內(nèi)核太舊或系統(tǒng)盤(pán)空間不足導(dǎo)致dockerd啟動(dòng)失敗。5.2 現(xiàn)象連接不上Docker引擎報(bào)failed to connect to the docker apifailed to connect to the docker api at npipe:////./pipe/dockerDesktopLinuxEngine這個(gè)錯(cuò)誤在Windows和Mac上都很常見(jiàn)。表面意思是Docker客戶(hù)端連不上引擎實(shí)際是Docker Desktop啟動(dòng)到一半卡住了或者引擎在后臺(tái)崩潰。解決路徑先打開(kāi)Docker Desktop界面看引擎狀態(tài)圖標(biāo)是紅色說(shuō)明引擎沒(méi)起來(lái)點(diǎn)Restart如果Restart無(wú)效執(zhí)行wsl --shutdown關(guān)掉WSL虛擬機(jī)再重開(kāi)Docker Desktop。Windows服務(wù)里重啟com.docker.service也行。最直接的辦法是查Docker Desktop日志路徑在%LOCALAPPDATA%\Docker\log\看到EOF或connection reset基本是WSL2內(nèi)核問(wèn)題執(zhí)行wsl --update更新內(nèi)核后解決。5.3 現(xiàn)象容器間網(wǎng)絡(luò)不通Odoo連接PostgreSQL失敗compose文件部署時(shí)一切正常一旦有人手動(dòng)docker run補(bǔ)充容器就會(huì)出現(xiàn)Odoo容器連不上db容器的情況。原因很簡(jiǎn)單docker run默認(rèn)加入的是bridge網(wǎng)絡(luò)而compose創(chuàng)建的是自定義網(wǎng)絡(luò)saas_net兩個(gè)網(wǎng)絡(luò)的容器無(wú)法通過(guò)容器名互相解析。解決路徑所有補(bǔ)充容器都加--network saas_net參數(shù)或者把已有容器連進(jìn)去docker network connect saas_net container_name。排查時(shí)用docker network inspect saas_net查看節(jié)點(diǎn)列表確認(rèn)目標(biāo)容器在不在網(wǎng)絡(luò)里。另一個(gè)常見(jiàn)故障是容器網(wǎng)絡(luò)模式設(shè)置了network_mode: host這會(huì)導(dǎo)致compose網(wǎng)絡(luò)無(wú)法管理和隔離流量SaaS Kit多租戶(hù)場(chǎng)景下不建議使用host網(wǎng)絡(luò)。5.4 現(xiàn)象docker pull odoo鏡像下載慢卡在等待層數(shù)據(jù)多租戶(hù)系統(tǒng)一旦跑起來(lái)擴(kuò)容時(shí)最不想遇到的就是拉鏡像卡死。odoo官方鏡像體積不小層數(shù)多國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境下直接拉官方倉(cāng)庫(kù)經(jīng)常幾KB每秒。解決路徑配置registry mirror是第一步。在/etc/docker/daemon.json里加registry-mirrors: [https://docker.mirrors.ustc.edu.cn]重啟docker daemon生效。如果公司網(wǎng)絡(luò)有緩存代理用registry-cache做內(nèi)網(wǎng)鏡像倉(cāng)庫(kù)20個(gè)租戶(hù)的服務(wù)器都從內(nèi)網(wǎng)倉(cāng)庫(kù)拉取速度質(zhì)變。切記不要在業(yè)務(wù)高峰期docker pull大鏡像這會(huì)擠占容器網(wǎng)絡(luò)帶寬出現(xiàn)整組服務(wù)響應(yīng)變慢的情況。實(shí)在拉不下來(lái)的鏡像換一臺(tái)網(wǎng)絡(luò)通暢的機(jī)器拉好再docker save成tar包scp過(guò)去docker load這是最土但最有效的后悔藥。5.5 現(xiàn)象所有租戶(hù)域名都進(jìn)入了同一個(gè)Odoo實(shí)例多個(gè)租戶(hù)域名配好后發(fā)現(xiàn)訪(fǎng)問(wèn)tenant002.yourdomain.com卻打開(kāi)了tenant001的登錄頁(yè)或者干脆提示數(shù)據(jù)庫(kù)不存在。這個(gè)坑十有八九是db_filter和域名路由失配。Odoo的多租戶(hù)識(shí)別鏈路是Nginx按Host轉(zhuǎn)發(fā)到OdooOdoo再用Host子域前綴去匹配數(shù)據(jù)庫(kù)名。任何一個(gè)環(huán)節(jié)的名字不對(duì)都會(huì)指向錯(cuò)誤的實(shí)例。解決路徑確認(rèn)數(shù)據(jù)庫(kù)名和子域名的映射關(guān)系。tenant002.yourdomain.com對(duì)應(yīng)的庫(kù)名必須是odoo_tenant_002dbfilter正則寫(xiě)成^odoo_才能匹配上。再看Nginx配置里有沒(méi)有多個(gè)server塊互相搶流量server_name *.yourdomain.com和server_name tenant002.yourdomain.com同時(shí)存在時(shí)Nginx按精確優(yōu)先規(guī)則匹配但很多人把精確域名寫(xiě)在通配前面導(dǎo)致所有請(qǐng)求都走精確匹配。最后檢查Odoo容器環(huán)境變量DB_FILTER有沒(méi)有被后面加載的配置文件覆蓋docker compose exec odoo env | grep DB_FILTER直接看運(yùn)行環(huán)境結(jié)果最可信。6. 進(jìn)階驗(yàn)證把SaaS Kit從“能跑”推到“敢上線(xiàn)”6.1 上線(xiàn)前要過(guò)的三關(guān)恢復(fù)演練、并發(fā)壓測(cè)、版本升級(jí)第一關(guān)是備份恢復(fù)演練選一個(gè)非生產(chǎn)租戶(hù)庫(kù)導(dǎo)出dump再恢復(fù)到全新庫(kù)全程記錄耗時(shí)。多租戶(hù)系統(tǒng)最容易翻車(chē)的就是災(zāi)備環(huán)節(jié)——備份天天跑恢復(fù)沒(méi)人試過(guò)。第二關(guān)是并發(fā)壓測(cè)用ab -n 1000 -c 20 http://localhost/觀察Odoo在20并發(fā)下的響應(yīng)時(shí)間和錯(cuò)誤率如果p95超過(guò)2秒先調(diào)workers數(shù)量再檢查PostgreSQL的shared_buffers。第三關(guān)是版本升級(jí)演練把odoo鏡像tag從20升到下一個(gè)版本前先在測(cè)試環(huán)境完整跑一遍odoo-bin -u all -d odoo_tenant_001確認(rèn)模塊遷移沒(méi)有破壞性變更。6.2 用兩條命令把多租戶(hù)狀態(tài)納入日常巡檢日常巡檢不一定要上監(jiān)控系統(tǒng)兩條命令足夠發(fā)現(xiàn)90%的問(wèn)題。docker stats --no-stream看所有容器的CPU和內(nèi)存占用哪個(gè)租戶(hù)容器內(nèi)存持續(xù)飆到配額上限就該考慮拆分或升級(jí)套餐了。docker logs --since 30m saas_odoo | grep -E CRITICAL|ERROR看近半小時(shí)的應(yīng)用錯(cuò)誤日志Odoo的ERROR日志通常會(huì)帶租戶(hù)庫(kù)名能直接定位是哪個(gè)實(shí)例出了問(wèn)題。我第一次上線(xiàn)SaaS Kit時(shí)最怕的不是某個(gè)容器掛了而是備份恢復(fù)沒(méi)人演練過(guò)結(jié)果第一個(gè)月就有一個(gè)租戶(hù)誤刪數(shù)據(jù)靠pg_dump恢復(fù)到十分鐘前才意識(shí)到這套方案的設(shè)計(jì)核心從來(lái)不是容器編排多花哨而是數(shù)據(jù)兜底夠不夠穩(wěn)。后來(lái)我把備份恢復(fù)腳本掛進(jìn)cron每月自動(dòng)郵件通知演練結(jié)果再也沒(méi)有因?yàn)槿藶檎`操作失眠過(guò)。做多租戶(hù)Odoo先敬畏數(shù)據(jù)再追求效率希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品女生av| 在线观看一卡二卡| 欧美中文综合| 超碰在线1234区| 日韩伦理视频| 中亚精品极乱| 少妇超碰在线| 丝袜美腿诱惑亚洲欧美视频在线观看 | 91在线精品| 欧美在线永久天堂| 一区二区三区麻豆| 91亚洲欧美综合高清在线| 九色 人妻 大香蕉| 99热综合在线| www.婷婷五月天| 欧美成人A天堂片在线观看| 97美日韩视频| 青青草影视蜜久久| 在线免费试看60秒| 伊人国产视频| 日韩av色图综合| 800zy一区二区| 丝袜 亚洲 偷拍| 色官网在线| 蜜乳AV一区| 影音先锋日本乱伦| 综合国产影视三级| 激情综合网五月婷婷五月天| 国产AV精久久| 大学生口爆吞精| 亚洲一卡二卡在线免费| 国产9 9在线 | 亚洲| 色综合加勒比| 欧美色偷偷| 深田咏美亚洲精品福利社| 久久久久久久伊人精品| 亚洲成人性爱网站在线播放| 黄色视频60分钟| 搞中出久久| 国产辣妈在线视频福利| 无码高清操逼网址| Blackedraw视频一区二区| 欧美的性爱网站免费| 最近2018中文字幕在线高清第一页| 99热这里都是精品| 人妻少妇精品视频一区二区三区| 亚洲综合影院| 国产男女无套视频免费观看| 日本天天操| 99超碰色| 久久精品中文| 人人摸.人人色| 四虎884| 综合色区偷拍| 99e久久国产精品| xxxx网站亚洲精品| 国产精品久久久久av| 欧亚性爱啪啪| 特级大荫道BBwBBwBBW| 青青草视频爽一爽| 人妻熟女一区二区| 91色宗合| av在线观看不卡网站| 人人妻人射| 在线观看黄色电话| 91偷拍欧美亚洲| 久久色一区二区| 超碰97导航| 97日韩超碰超碰中文字幕| 综合夜夜| 色爱综合网| 久久国产精品一级二级三级| 久久久久亚洲一区女同性恋中文字幕| 91大香蕉伊人| 女欧美一区二三区| 亚洲男人天堂Av| 99热免费精品| 久久精品国产亚洲5555| 囯产乱伦一区二区三女| 久久综合日韩亚洲欧美| 精品一区二区久久| av爱爱爱| 国产这里只有精品| 日日日色色色色色| 成人精品久久久午夜福利| 久久欧美性爱视频| 欧美中字二区| 99热国产精品| 亚洲人妻色图| 国产精品嫩草影院免费| 日韩精品三区四区| 97国产精品一区| 日韩性爱1级片视频| 精品国产久热在线观看| 久久9免费视频| 无码直播久久久| 免费看日本操逼视频| 成人女人国产| 亚洲无 码A片在线观看麻豆| 亚洲偷拍自拍在线视频| 欧亚揄拍偷拍精品视频 | aaa亚无码专区| 亚洲欧美经典一区二区| 日本二区不卡| 三级片网站在线播放| 今日头条成人一区二区三区四虎精品 | 欧美色网| 久久人妻精品| 免费男人的天堂| 成年人性爱日韩| 天天做天天爱天天爽AV| 另类TS人妖一区二区三区| 91国产精品在线看| 欧美日韩不卡传媒| 日韩啪啪视频| 美女上床网站| 偷看洗澡一二三区美女| 日本 情色 1区2区3区| 性爱综合一区二区| 乱老熟女一区二区三区| 另类小说综合网| 高树玛利亚无码流出| 91青青草| 久久久久久久久九九久孕交| 精品少妇人妻av久久免费| yazhousetuoumei| 超碰91在线| 日本不卡三级网在线播放| 一区二区不卡视| 96精品在线| 欧美劲爆第一页| 综合熟女| 视频国产成人精品日本亚洲18| 九九视品黄色| 另类小说综合网| 91/欧美| 国产精品自拍xxxx| 91色射| 婷婷五月影院| 国产熟女完整版中字| 亚洲偷拍欧美激情| 天天拍天天操| 国产成人精品无码久久| 久久久草草精品| 亚洲一区日韩| 欧美性爱无码一区二区三区| 伊人嫩草| 中文字幕在线免费观看| 美国人人操人人操| 欧美色图 色综合图| 久热免费视频| 1769一区| 欧美日本视频一区| 97视频在线免费看| 久久精品国产亚洲AV嘿嘿| 丝袜高跟澳门91视频| 99热超碰在线| www.久久制服糖| 日日AAvv| 激情亚洲天堂| 巨爆乳肉感一区二区三区竹菊影视| 超碰久久.com| 亚洲综合射| 久久香蕉网| 狠狠操夜夜| 国产一区二区精品久久久不卡蜜臀| 亚洲nv男人的天堂网| 欧美传媒| 97在线免费视频| 91在线国产后入风骚翘臀美女素人| 少妇二级| 免費黃色視頻觀看一| 亚洲一区在线观看欧洲| 九久9精品| 国产精品久久久久久久久久久久久久久久久久 | 91欧美大片| 久久美国毛片| 台湾佬中文娱乐网久久久久久久久久com| 欧美一级三级| 色小视频蜜乳| 91三级理论片播放器| 中英熟女操女| 男人综合网| 蜜桃臀一区二区aV| Aa东京男人的天堂| 日韩无码久久熟女一级片| 一本道综合色图| 国产精品视频白浆免费| 日韩欧美成人性爱在线| 欧美黄色大片在线观看 | 思思热在线cao| 欧美日韩插逼视频| 青娱乐淫乱1314| 青青草公开在线免费不卡视频| 新精精品久久精品| 精品久久久久久久久久久久| 免费看污网站| 久久香蕉超碰97国产精品| 97视频网站在线观看| 久久99久久99久久99人受| 国产日产精品久久快鸭的功能介绍| 中文字幕97| 日韩有码专区| 天天澡天天爽日日AV| 啊啊啊啊啊好多水| 一区二区三| 91丰满| 自拍啪啪视频| 午夜αv| 老熟女91视频| 91综合网| 欧美国产精品| 国产精品免费视频不卡| 亚洲精品视频在线播放| 97色婷| 欧日韩不卡视.频| 久久婷五月天| 国产久久一区二区午夜| 91逼逼女人91| 免费网色网站| 九九九九一区| 黑人娇小av在线播放| av网站免费看| 久草视频在线视频在线视频在线观看 | 狠狠综合| 1956日韩精品| 美女AV一区二区| 加勒比综合a∨| a啊啊啊啊啊啊啊啊一区二区| 亚洲色人阁| 午夜舔阴达高潮视频免费看| 天天日B夜夜干B时时操B| 欧美久热| 亚洲综合校园春色| 酒色综合网| 黄色香蕉视频网站一区| 国产真实野战在线视频| 少妇一区二区三区在线观看| 日日摸日日弄日日拍| 伦理第一页| 国产隔壁老王影院在线| 大香蕉免费乱伦视频| 中文字幕成人| 夜夜人妻爽| 国产丁香精品露脸视频| 亚洲AV成人无码一二三久久| 91丨九色丨43老版熟女| 性色av一区二区| 天美久久久久| 午夜一级免费毛片| 嗯嗯啊啊用力视频免费| 这里都是精品| 国产性久久久| 日本不卡三级网在线播放| 日韩二区三四区五区六区在线看| 日本人妻伦在线中文字幕| 无码视频黄色网战| 欧美视频第二页| 91黄站| 中文字幕国产| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 欧美 综合 亚洲| 三级色影综合网| 国产东北女人在线视频| 日韩二级| 午夜操一操| 久热大香蕉| 韩国女主播青草在线| 香蕉99秘 一区精品蜜桃臀| 久久av一级av少妇av高潮| 亚洲夜色在线| 97se亚洲综合自| 日本污ww视频网站| 日本Xx性爱| 国模一区二区三区| 久久久久久久伊人精品| 久久香蕉网| 狠狠操使劲操| 日本性爱少妇| 久久久久成人蜜桃精品| 欧美久久人妻少妇一区二区| 无码高清少妇久久| 国产五码丝袜屁眼| 久久的免费性爱视频| 天天做天天爱| 91无码精品| 天天色播亚洲综合网站| 啊啊啊啊啊好舒服视频| 无码直播久久久| 久久久久久大| 91天天看| 人人搡人人肉久久精品| av强奸乱轮| 青娱乐大香蕉| 亚洲日韩美国人妻| 成人精品欧洲亚洲| 日本理论在线| 欧美激情专区| 大香蕉伊人一区在线观看| 9丨久久九九九| 激情综合亚洲| 亚洲另类春色| 67194无码不卡| 天天看天天干| 嫩草影院永久在线制服丝袜| 久久精品店| 伊人9| 久热大香蕉| 欧美美女视频| 开心六月色| 7777奇米影视久久| 午夜九九| 国产高清1234区| 午夜精品久久久| 欧美成不卡网| 亚洲无码免费看| 综合网亚洲1| 五月天综合网| 日本羞羞的视频在线播放| 青青国产在线拍揄自揄拍| 国产中文大片资源中文字幕| 91少妇通奸网站| 99热思思| 男女猛烈无遮掩视频免费软件| 超碰97玖玖爱| 亚洲色啪| 精品人妻1区| 日本精品一区二区三| 长长久久88视频| 免费国产电影一区二区| 老鸭窝在线视频播放| 伊人网av| Av手机版天堂网| 久久嫩草国产成人一区| 爱妃国产亚洲视频中文字幕| 青青欧洲黑| 亚洲婷婷五月天| 欧美十八禁视频| 日本久久久精品电影| 婷婷五月天补不补| 91欧美性| 丰满人妻一区二区三区免费,| 亚洲国产精品V?在线播放| 97久久精品不卡| 67914亚洲精品| 中国一级特黄大片护士| 国产精品一区二区三区四区五区| 日韩欧美偷拍美女视频| 夜夜肏2021| 日韩A优精品在线观看| 999久久久九九九九| 亚州中文字幕超碰97| 亚洲激情网一二三四区| 久久综合九九| 亚洲最新中文字幕免费 | 日本狂喷奶水在线播放212| 青青草一区二区高清无码视频| 天操天操夜操夜月操月年年操| 无码日韩网站| 国产精品久久久久无码AV会牛| 亚洲一区操| 极品美女嘿咻| 97综合激情| 国模久久在线| Julia Annxxxxx| 久久综合日韩亚洲欧美| 天天干天天日天天射黄色| 日本精品成人无码| 免费的黄片wwwwww| 亚洲中文字母在线播放| 亚洲中文日韩精品| 亚洲αv一区二区三区| 国内毛片热久久思思热| 亚洲精品一区二区精品| 思思视频免费看网站| 精品午夜福利| 久久亚洲AV无码白度| 精品人妻一区二区三区免费视频| 农村少妇久久久久久久| 男人的天堂Va| 久久岛国| 试看60秒 爽| 久久久久久久九九九九| 搡老女人老熟女91老熟女综合网| 啊啊啊慢点| 国产久9| 后入式999| 欧美极品少妇| 91 丝袜在线播放| 天堂v无码免费视频| 欧美人黑A片无码免视费| 免费成人自拍视频在线| 日韩强奸av| 无码不卡八戒| 91人妻中文| 日本色色色色色视频| AV不卡在线| 午夜福利视频在线一区| 爱做久久久久久| 九月丁香| 久久久久密| 欧美色图私拍91| 日日日骚女人精品| 国语精品av| 欧美高清色| 精品人妻免费观看| 91快色色色色色| 蜜桃av综合网发布| 欧插网站| 白嫩91在线亚洲| 一区二区三区四区理论片| 欧美97| 天天弄天天操| 99综合视频一体| 91在线美女| 欧美色日本| 情色大香蕉| 东北女人操逼| 日本一本道A级黄色毛片试看60分钟| 日韩成人免费电影| AV丝袜少妇| 蜜臀99久久精品| 在线视频亚洲无码| 亚洲欧美日韩精品久久久一区二区 | 亚洲熟女中文字幕在线| 日韩精彩免费| 九九九九精品在线| 国产一区二区免费福利片| 粉嫩av在线一区二区| 日本天天吊| 久久久内射良家| 日本影视久久免费| 日韩中文字幕二区| 久久97资源 网| 日韩人妻无码不卡网站| xxx0国产在线播放| 日本A级视频| 日韩综合97p| 久热香蕉精品在线视频| 久久e6只有精品| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 久久夜嗨| a片 xxxx受爽视频| 最近的最新的中文字幕视频| 婷婷五月天久久精品视频一区二区三区| 九九九草| 人人操人人干网页| 97激情97激情| 一区二区三区国产在线播放 | 自拍视频大全亚洲专媒视频/一区二区三区| 亚洲,欧美,综合网| 熟女乱伦A| 欧美 亚洲 大香| 夜夜爽夜夜高潮夜夜爽| 五月丁香婷婷色| 99精品丰满人妻无码| 国产美女销魂在线观看不卡| 男人天堂.AB| 亚洲丝袜少妇在线| 99精品免费| 欧美97免费| 黄网色一区二区三区四区精品| 午夜啊啊啊| 无码人妻精品一区二区三区99不卡 | 91人妻丝袜无码| 夜夜爽夜夜| 亚洲有码 欧美精品| 亚洲色图欧美视频| 超碰碰小说97| www…国产操逼| 久草色在线观看| 抽插无码高清一区| 四季av一区二区凹凸精品小说| 国模无码一区二区三区在线| 亚洲日本天堂| 丁香九月激情| 亚洲欧美另类图片| 欧美亚洲国产自久久| 中文一区二区三区影院| 国产白嫩精品久久| 久久久久久69国产一区二区 | 无码av永久免费专区网站| 人妻天天爽| 嫖老熟女A片一二三区| 99最新日韩偷拍视频| 精品黑人一区二区| 少妇熟女一区二区三区| 少妇国产不卡| 久久91精品国产9丨久久分亭| 色偷综合| 人人乐大香蕉| 强奸乱伦AV网站| 粉嫩av一区二区三区四季| 免费操逼视频下载| 另类欧美色| 裸模AV女优| 国产亚洲精品av一区| 久久精品女同亚洲女同13| 97碰在线视频| 国产精品高潮呻吟av久久4虎| 射欧美综合| 国产精品久久久久久 百度| 午夜操操操| 91人人看| 国产 v乱码一区二| 亚洲天堂精品日韩电影| 色亚州人久干视频在线观看免费版| 牛黄色久午久| www.yeyecao| 疯操AV| 人人爱夜夜爱| www.丁香五月| 香蕉久久AⅤ...| 蜜臀AV一区二区三区| 青苹果影院男人的天堂| 91九色在线| 天天视频网站黄| 日本亚洲嫩草影院啪啪| 密臀AV在线| 99热超碰在线| 嫩草一区二区在线观看| 偷拍 欧美 日韩| 久久9免费视频| 亚洲综合影视| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 欧美日本国产日韩激情视频| 97超碰站| 亚洲 欧美 色图| 校园春色亚洲无码| 少妇人妻精品| 毛片中心9视频99| 在线人人人人人人精品超| 呦呦影院| 操东北女人| 后入福利| 日本道日本道中文字幕日本道最新日本道在线观看 | 久草婷婷| juliaann精品熟女一区| 狠狠操狠狠插| 粉嫩在线一区二区懂色| 久久精品国产亚洲AV高级北京| 牛牛AV人人夜夜澡人人爽| 综合五月天| 亚洲欧美天| 操老熟女AV| 使劲用力艹少妇视频一区二区| 欧美美女啪啪视频| 91美女在线精品视频| 99色热| 综合色99| 五月丁香婷婷综合网| 无码日韩人妻av一| 国产日韩欧美亚洲精品95| 国产日韩手机视频在线| 成人一道本免费视频| 69国产对白刺激| 熟女网站最新| 色偷综合| 天堂精品| 青青久久久| 干妹子| 久久9精品网站| 青青伊人加勒比海| 婷婷九月国产| 亚洲蜜臀精品视频久久| www.人人摸在线视频| 久草毛片| 日本幼女18+| 精品久久97| 麻豆亚洲AV成人无码久久精品| 日日不卡av| 久久久久99999| 国产白丝精品在线观看| 自拍内地三级在线观看| 污污汅18禁网站在线永久免费观看| 午夜福利无毒不卡| 亚洲午夜福利在线影院| 免费人成?大片在线播放| 婷婷综合五月| 好爽,再快点啊哈嗯嗯嗯嗯| 色哟哟-国产专区| 精品性爱久久视频| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 激情综合av| 色悠久久久av| 美女高潮国产高清| 国产高清视频无码在线| 人人插人人摸人人| 日韩啪啪啪啪啪| 色婷婷综合久久久久中文一区二区 | 加勒比海人人操超碰在线| 96精品久久久久久久久| 国产成年女人免费视频播放a| 国产精品宅男免费| 精品国产乱码久久久久久影片| 欧美最婬乱婬爆婬性视频 | 亚州AV无码国产精品| 爱爱60秒免费视频| 日韩欧美偷拍美女视频| 欧美天天综合网版| 国产家庭乱伦性爱视频| 九九无码| 天天超级碰碰碰| 欧美AB在线| 91人妻做a观看视频| 婷婷五月天av| 91无摭挡| 亚洲国产成人精品久久久国产成人一区二区| 国产亚洲精品美女久久久久久2021| 男人的天堂在线| 欧美高清16| 日韩国产不卡在线视频| 久久熟女人| 精品欧美日韩在线观看| 黑人精品XXX一区一二区| 亚洲福利中文字幕在线| 亚洲自拍欧美国产首页网曝 | 精品偷拍13p欧美dodk视频| 91婷婷伊人狠人| 果冻传媒A片一二三区| 凹凸视频在线一区二区| 色婷婷久久| 青青草久草AV| 婷婷丁香九月| 欧美亚男人的天堂| 欧州91高潮| 久草大| 一区二区三区在线日韩影院观看| 日本成人免费一区二区三区| 亚洲日韩一区电影| 午夜啊啊| 色综合色欲色综合色综合色综合| 无码男人天堂| 久久69精品久久久久久久| 观看视频图片一区二区三区| 精品对白久久不卡| 丁香五月婷婷啪啪| 熟女熟妇一区二区三区视频| 双插性欧美一二三区| 加勒比AV网| 人人操人人干xxx| 青青草在线成人视频| 一区二区不卡视| 亚洲熟妇极品| 亚洲综合20p| 日本特黄f c2| 日韩欧美日韩| 色眯眯射| 亚洲国产精品99久久久| 懂色AV中文| 国模私拍一区二区三区神乳| 成人A片男人的天堂| V A在线| 夜夜操91744565| 国产毛片片精品天天看视频| 夜夜狼人妻| 人人看人人插| 综合视频91| 亚洲九月丁香| 亚洲骚逼少妇| 亚州宗合另类| 国产av激情无码久久天堂| 蜜桃视频一区二区三区| 久草免费福利在线播放| 国产青青综合伊人| 久久性爱视频| 日韩一级久久毛片| 久9久精品视频| 黄片免费看黄片免费看| 清纯唯美综合| 色综合加勒比四四季| 无码丰满熟妇一区二区浪潮AV| 欧美日韩国产人人| 91粉嫩萝控精品福利网站_精品影音先锋国| 97精品一区| 中文字暮97| 亚洲一区二区三区不卡国产欧美| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 亚洲情色一区综合| 国产成人亚洲精品无码古代早漏男| 91美女国产在线| 国产乱码久久| 97露脸精品丝袜| 国产综合网站在线播放 | 嗯嗯啊啊啊好舒服| 亚洲国产成人精品无码专区| 欧美性夜| 亚州综合图片| 久久精品一区二区三区不卡| 久久亚洲欧美中文字幕国语| 亚洲同性aV综合| 性生活久久久久久久久久| 久久精品美女一区| 亚洲av综合伊人久久| 玖玖大干人妻| 亚洲乱色视频一区、二区在线| 欧美日韩 强奸乱伦| 中文字幕乱码在线| 嫩草 我啊~嗯~在线| 丝袜熟女2P| 综合色啪| 熟女五十路一区二区三| 欧美熟妇精品黑人巨大91| 久热久| 97网址www| 欧美亚洲中文字幕| 国产亚洲精品无码三区| 九九热九九| 大香蕉日韩欧美| 伊人久久大香蕉线AV五月天| 久久精彩免费视频| 抽插无码高清一区| 成人av福利在线观看| 国产精品久久久久久久久久久久久久吹 | 国产精品视频电影| 久久九九99| 日韩激情啪啪| 国产亚洲精品农村妇女| 国产强奸乱伦无码视频| 中文字幕乱妇免费视频| 99re综合伊人| 久久精品高清无码一区| 九九拍拍精品视频在线播放| 97中文天堂| 成人情色一区二区| 婷婷久久五月| 蜜乳av首页| 一个人免费HD91视频| 中国少妇XXXX做受| 影视综合无码少妇| 亚洲AV成人无码一二三久久| 国产又黄又爽| 欧美超碰97| 久草加勒比一区在线| 高清无码91| 日本道人妻久久久在线不卡色视频| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 天堂伊人久久| 大香蕉欧美国产日韩高潮| 激情文学欧美| 嗯嗯啊啊好疼| 中文字幕文字幕无码一区二区三区电影99| 亚洲日韩青青草色月| 桃色六月天| 久久AV无码1区2区3区| 亚洲色图欧美色图制服丝袜| 天天摸夜夜摸| 91丝袜激情在线| 人妻黑丝袜电影| 日韩八十路老熟女| 999色欧美中文字幕| 亚州,欧美在线| 亚洲图片91| 老熟女91视频| 亚洲无码 国产无码| 涩综合导航| 夜夜操青青草| 亚欧高清在线| 在线观看一卡二卡| 超硑97精品| 亚州熟妇精品| 91男女| 亚洲色91| 一级@啪啪视频| 岛国在线一区二区三区| 91精品国产麻豆国产自产在| 青青草中文-久久青草精品一区二区三| 日韩啪啪啪啪啪| 日本丝袜美腿人妻九九| 97av,com| 久久日本熟妇熟色一区| 性爱视频免费网址| 图片区小说区| 97超碰美国| 熟女网站最新| 伊人91| 国产一区二区三区白丝| 精品区国产区一区二区三区| 激情综合五月天| 中日韩久久人妻一区二区| 天操天操夜操夜月月年年操操 | 色性综合| 亚洲青青草| 91黑丝在线| 欧美亚洲另类在线蜜桃| 天天影视综合网欧美精品| 久啪| 97在线免费视频| 久久亚洲AV无码专区首页| 五月丁香六月激情综合| 四虎视频在线观看| 日夜精品| av无码av无码专区| 丝袜AV一二三区| 欧美色图97| 亚洲 欧美 日韩 国产一区二区| 蜜乳AV一区二区三区四| 香蕉一区二区三区在线视频| 国产精品69久久久久久久| 18禁止看精品中文字幕| 一二三区在线| 国产吹潮女在线观看| a男人的天堂久久一级A毛片| 久久婷五月| 亚洲性图91| 欧美日韩国产一区二区小黄片大全| 六十路日本| 亚洲鸥美色图| 国产传媒午夜理伦精品| 欧美综合站| 操一对老熟妇爽上天视频| 男人高清无码一区二区| 亚洲 中文 女同| 日韩一级二级三级| 天天干人妇| 天天草AV| 人妻 丝袜美腿 中文字幕| 大香蕉伊人一区在线观看| www欧美91| 中日高清无码操逼视频| 青青操视频在线| 久久精品国产99精品亚洲蜜...| 天美传媒av 在线| 欧美综合天堂| 91精品黄在线观看| 啊啊啊啊,啊啊好多水| 日欧亚洲二三区大片不卡| 色五月天AV| 精品久久无码午夜福利| 人妻天天爽夜夜爽精品2| 欧美性暴力| 女人的久久久| 蜜臀久久99精品久久久电影| 嗯嗯啊在线视频| 天天色欧美| 欧美亚洲综合色| 人妻精品一区二区| 久久精品人体AV| 女生久久网| 天天日天天干少妇日| 亚洲av国产av综合av卡| 午夜精品99久久久久传媒| 97超碰超| 亚洲丝袜二区| 人人妻人人爱人人玩| 婷婷五月天伊人| 精品传媒在线一区| 96AV精品| 亚洲熟伦熟妇AV无码春色| 冬京热男人的天堂| 无码久久亚洲高清,| 麻豆天美传媒在线视频天堂| 91久久免费视频互動交流| 东北女人| 亚洲天堂7777| 一本久久久精品| 91久久久久免| 婷婷色色五月天福利| 99热导航| 亚洲情色中文字幕一区| 亚洲麻豆av一区二区| 一区二区 日韩 欧美 国产 传媒| WWW操逼| 9999九九九久久久| 日本九九九九| 999久久久| 青草香蕉网| 日韩成人大片在线观看| 超碰在线91| 色av中文字幕| 亚欧性爱在线无码| 久久久999| 久久夜精品一区二区三区| 色爱国产| 中文字幕在线免费观看2| 欧美少妇色综合| 亚洲午夜AV| 曰韩人妻中文字幕在线| 色男人色天堂东京热| 日韩成人网址| 国产一区二区三区免费视频在性观看| 久久久精品中文字幕麻豆| 婷婷六月色| 国产成人精品必看| 91狠狠综合久久| 岛国人妻少妇av在线观看| 婷婷视频在线免费观看| 一级性爱网| 色噜噜狠狠色综无码久久| 97视频观看| www网站黄| 四虎国产精品永久在线囯在线 | 亚洲三级。日韩三级| 九九热超碰97亚洲最新香蕉 | 嗯嗯啊啊亚欧精品| 中文字幕一区日韩精| 亚洲在线网站| 青青草原伊人网| 91熟女综合| 亚洲欧美大| 久久性爱大全| 精品日韩人妻视频| 亚洲精品乱码久久久久久蜜桃麻豆| 射丝袜高跟鞋99| 日本午夜久久电影| 日本三级一区二区 在线| 亚洲激情视频| 亚洲激情深爱文学小说网站| 亚洲美女30b| 久热免费视频| 九九黄色视频在线观看| 99视频这有这里有精品| 91欧美在线| 日韩三级av片| 后入式视频国产自| www.99热在线只有精品| 99热99re超碰精品| 久久综合五月天| 国产视频一区二区免费| 18禁精品网站在线看| 三级日韩一区二区三区| 9久久久久| 日韩日韩日韩-国产乱码精品一区二区| 国产精品视频播放| 99啪啪| 蜜桃视频一区二区三区在线观看| 亚洲日本成人动漫| 99热超碰| 亚洲色综合| 午夜男人一级A片7777| 操B在线观看| 无码WWW免费视频网站| 欧美 日韩 亚洲 春色| 久久久久久99AV无码免费网站| 中文字幕后石码三区四区| 91人人| 999精品久久久久久久| 亚洲精品电影| 91丝袜视频在线观看| 91美女片在线| 国产熟妇 码视频户外直播 | 99操| 男人的天堂亚洲| 99久久综合| 欧美日韩丝袜| 中文字幕精品丝袜| 国产久久一区二区三区野外在线| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 欧美色五月| 天综合网| 人妻一区久久二区三区色播| 国产精品 午夜福利| 97视频在线观看高清资源| 伦理弟一页| 91精品婷婷国产综合久久| 理论久久婷婷网8| 色五月AV| 欧美日韩啪啪电影| 黄色一区二区秘书性感| 久久香蕉综合一本到3atv| 土豪酒店各种姿势玩弄极品幼稚| 97超碰人操| 色97欧美| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 日本不卡在线二区三区| 女人天堂av在线播放| 国产精品久久久久无码Av网曝门| 欧美国产欧美在线观看| 中文字幕精品资源在线| 亚洲五月丁香花狠狠干一区二区三区 | 欧洲小说色图视频另类| 91男女| 秋霞 色色| 久久无码成人| 99色在线| 成人热久久精品| 超碰偷拍| 一起草三级AV电影在线观看| 久久直播国产| 污啪啪啪视频| 97在线观视频免费观看| 密臀在线视频| 亚欧毛片基地国产毛片基地| 日韩乱插| 好吊色一区| 国际精品久久久| 日本性交操一区二区不卡系列| 天天干夜夜一操| 9久久9综合| 毛片99-全集电影手机免费观看完整-B029AV| 日本天天干天天操一区| 黄骗免费| 亚洲。日韩。欧美| 亚洲色棕合| 欧洲黄色网| 久久99久久99久久99人受| 欧美亚洲AN| 97欧美在线| 日本午夜精品理论片A级APP发布| 67194无码不卡| 99精品九九九九九九| 高清国产性猛交xxxx乱大交| 91狠| 在线播放欧洲免费av| 欧美极品性爱天天射| 亚洲AV无码天美传媒一区| 福利大香蕉| 黄色片一区二区三区四区五区 | 国产精品片| 在线国产探花| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 色原狠狠天天天| 亚洲图片婷婷五月天| 偷拍欧美激情| 久久9精品| 亚洲免费人妻在| 日韩精品怡红院| 欧美区亚洲区偷拍区| 色97| 超碰97伊人| 人妻22p| 96精品久久久| 日韩不卡毛片Av免费高清| 区二区亚洲婷| 无码操逼视频一下| 淫色网综合| 日本熟妇浓毛hdsex| h在线看免费版在线看| 97在线/亚洲| 中文字幕日本久久| 9.1小视频| 日本在线视频导航| 亚欧美色图| 国产18精品亚洲精品| 欧美玖玖爱免费玖玖| 日韩欧美中文日韩欧美色| 久久伊人青青草| AV一区观看| 国产乱码精品久久久久久| 伊人一区二区在线播放| 天天综合影院91| 国产精品久久久久久高清无码免费看| 色精品极品| 日韩av在线精品观看| 草b在线 | 97在线青| 久久精品中文字幕无码l| 夜夜操一区二区| 韩日无码在线观看| 国产熟女高潮一区二区三区| 囯产操逼片| 精品夜夜澡人妻无码AV| 亚洲欧美精品一区天堂久久 | 中文字幕91综合| 26uuu久久| 国产25页| 日本高清一区二区在线| 亚洲操操操无码| 午夜免费视频1000| 熟妇综合一区二区三区| 久操操| 8050午夜少妇无码| 综合亚洲欧美| 欧美一区二区在线资源| 亚洲 日本 国产 综合| 蜜臀aV午夜一区二区三区| 久久精品美女一区| 久久一二三四| 96国产污污污丝袜| 免費黃色視頻觀看一| 欧美日韩在线小说 | 最新日本中文字幕| 精品久久久不卡一区二区| 丰满人妻大屁一区二区| 亚洲图片另类| 九九九九九九九九九五码| 日本精品一区二区中文字幕| 蜜臀久久99精品久久久久久-DVD| 天天干天天日天天射黄色大片| 无码最新| 亚洲高清综合网| 伊人991| 天天干,夜夜爽| 欧美日日操| 久久人妻熟女一区二区| 国产乱弄免费在线视频。| 欧美网站免费| 97精品一区二区视频| 国产精品久久久久久夜夜夜夜| 精品久久久久久亚洲| 隔壁邻居波多野结衣中文字幕 | 在线观看色视频| 久久91| 日韩高清一二三| 丰满少妇一区二区三区专区| 欧美人妻一区| 91丨国产丨白浆秘 洗澡动漫| 天天干1区2区在线| 国产性感骚丝袜在线| 国产精品亚洲免费| 国产强奸乱伦xd| 亚洲综合97| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 中文字幕55555| 少妇高潮喷水无套久久久久久| 99热成人| 亚洲色图殴美色图激情乱伦| 人妻久久久久久| 青草一区二区| 天天草AV| 9 7超碰在线免费观看| 久久婷婷六月综合| 国产偷拍自拍在线视频| 免费久久一级毛片大黄| 丰满人妻一区二区三区四区| 欧美性视频二区三区| 91久久久视| 欧美亚男人的天堂| 五月开心网| 天天插天天操| 中文一区在线视频| 亚洲好看强奸乱伦| JIZZJIZZ亚洲女人被躁| 97AV在线观看| 97超碰精品图片| 久射吧| 91美女視頻| 色综合20p| 欧美色图下一页| 久久久久久91香蕉国产| 毛片视频白嫩| 五月久久HDAV| 91xingse| 91色综| 国产11页| 精品一区二区啪啪啪| 久久五月丁香| 任你草| 日韩三级视频一区二区三区| 天天躁日日躁XXXXYY| 美国一区二区免费视频| 综合欧美激情网| 无色无码| 另类一区| 97综合在线| 在线另类| 超碰97起碰| 久久女人视频| 亚洲不卡av在线| 96爱综合| 亚洲精品一卡二卡三卡福利视频网站| 自拍视频大全亚洲专媒视频/一区二区三区 | 午夜理论片在线观看免费| 中文字幕交换人妻| 黄aaaaaaaaaaaaaaaaaa色网站| 爆操无码| 日韩久久三区| 91黑丝少妇| 99黄页网站| 公司1区2区3区精产精|