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

ARTICLE DETAIL

資訊詳情

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

PHP社區(qū)交友系統(tǒng)搭建指南:從寶塔部署到APP封包全流程

PHP社區(qū)交友系統(tǒng)搭建指南:從寶塔部署到APP封包全流程 簡(jiǎn)介PHP社區(qū)交友系統(tǒng)開(kāi)源項(xiàng)目定位于快速搭建集實(shí)時(shí)聊天、視頻通話、語(yǔ)音通話于一體的社區(qū)交友平臺(tái)適合想低成本起步的創(chuàng)業(yè)者、獨(dú)立開(kāi)發(fā)者及技術(shù)學(xué)習(xí)者。采用傻瓜式安裝流程通過(guò)導(dǎo)入數(shù)據(jù)庫(kù)、上傳源碼、修改配置文件即可完成網(wǎng)站部署默認(rèn)管理員賬號(hào)便于后臺(tái)管理配套視頻教程同時(shí)覆蓋APP端編譯過(guò)程附帶Android Studio軟件與環(huán)境說(shuō)明能幫助零基礎(chǔ)用戶繞過(guò)環(huán)境配置障礙。壓縮包共2000個(gè)文件以js、html、css為主構(gòu)成網(wǎng)站界面與前端交互json、xml承載數(shù)據(jù)配置md、txt為搭建說(shuō)明與操作筆記另含sql數(shù)據(jù)庫(kù)文件和sh、py輔助腳本整體152.71MB結(jié)構(gòu)清晰。已有134人學(xué)習(xí)下載適合希望快速驗(yàn)證交友產(chǎn)品想法或?qū)W習(xí)社交系統(tǒng)全棧搭建邏輯的個(gè)人團(tuán)隊(duì)項(xiàng)目開(kāi)源程度高可根據(jù)需求二次開(kāi)發(fā)。1. 為什么“PHP社區(qū)交友系統(tǒng)”依然是搭建本地社交產(chǎn)品的最短路徑想做一個(gè)本地興趣社群或者校園交友平臺(tái)買(mǎi)商業(yè)源碼動(dòng)輒幾千上萬(wàn)從零開(kāi)發(fā)一個(gè)帶私信、動(dòng)態(tài)、好友關(guān)系的系統(tǒng)至少要三個(gè)月。開(kāi)源PHP社區(qū)交友系統(tǒng)把這兩件事都?jí)嚎s了它本身就是一個(gè)能直接跑的網(wǎng)站源碼注冊(cè)登錄、發(fā)布動(dòng)態(tài)、評(píng)論點(diǎn)贊、私信這些社交基礎(chǔ)功能全都有網(wǎng)站跑通之后再用APP封包把它套成一個(gè)安卓安裝包整個(gè)產(chǎn)品就有了“網(wǎng)站APP”雙端形態(tài)。這個(gè)標(biāo)題里最容易被低估的詞是“傻瓜式”它指的不是零基礎(chǔ)就能點(diǎn)幾下交差而是指整個(gè)流程已經(jīng)被前人踩平了——裝一個(gè)面板、傳一套源碼、配一個(gè)數(shù)據(jù)庫(kù)、點(diǎn)一次云打包剩下的問(wèn)題基本都能在日志里找到答案。適合的人群也很明確會(huì)一點(diǎn)PHP、了解寶塔面板但不想碰安卓原生開(kāi)發(fā)又想快速把社區(qū)產(chǎn)品推到手機(jī)上的那批人。2. 網(wǎng)站端搭建從開(kāi)源源碼到可訪問(wèn)的站點(diǎn)2.1 源碼選型PHP版本、框架和功能邊界選源碼之前先明確一件事同樣是PHP社區(qū)交友系統(tǒng)代碼質(zhì)量差別很大。常見(jiàn)做法是在開(kāi)源站搜索“PHP 社區(qū)交友”或“PHP 社交系統(tǒng)”找到下載量靠前、最近半年還有更新記錄的項(xiàng)目。判斷一個(gè)系統(tǒng)適不適合自己重點(diǎn)看三處運(yùn)行環(huán)境要求、自帶功能列表、目錄結(jié)構(gòu)是否規(guī)范。環(huán)境要求通常在源碼包的README或安裝文檔里寫(xiě)著最常見(jiàn)的是PHP 5.6到7.4搭配MySQL 5.7部分新項(xiàng)目已經(jīng)適配PHP 8.0以上用ThinkPHP框架或原生PHP實(shí)現(xiàn)的都有。我一般優(yōu)先選ThinkPHP版本因?yàn)樗娜肟谖募?、路由?guī)則和偽靜態(tài)配置在寶塔里都有現(xiàn)成模板不懂框架也能照抄。功能邊界要看“交友”做到什么程度有的只做會(huì)員展示和私信有的帶動(dòng)態(tài)流、關(guān)注關(guān)系、禮物打賞有的還含付費(fèi)解鎖聯(lián)系方式。先想清楚自己要運(yùn)營(yíng)什么場(chǎng)景再選對(duì)應(yīng)功能否則裝完之后發(fā)現(xiàn)缺了核心模塊二次開(kāi)發(fā)的工作量比自己從零寫(xiě)還大。目錄結(jié)構(gòu)方面規(guī)范的源碼通常分成app、public、sql等目錄入口在public或web下。選好后把源碼包下載到本地解壓先掃一遍README和install目錄確認(rèn)是手動(dòng)導(dǎo)入SQL還是走網(wǎng)頁(yè)安裝向?qū)?。網(wǎng)頁(yè)安裝向?qū)?duì)新手更友好但它會(huì)在根目錄生成install.lock文件二次安裝時(shí)要先刪掉這個(gè)細(xì)節(jié)后面避坑章節(jié)會(huì)詳細(xì)說(shuō)。2.2 用寶塔面板完成部署的最小操作集寶塔是目前搭建PHP項(xiàng)目最省事的面板LNMP環(huán)境Linux Nginx MySQL PHP兩分鐘就能裝好。部署這套系統(tǒng)的最小操作集如下創(chuàng)建站點(diǎn)、上傳源碼、設(shè)置運(yùn)行目錄、配置偽靜態(tài)、導(dǎo)入數(shù)據(jù)庫(kù)、修改配置文件。先創(chuàng)建站點(diǎn)在寶塔面板的“網(wǎng)站”菜單里添加站點(diǎn)域名可以先填服務(wù)器IP或臨時(shí)域名PHP版本選擇7.4后面會(huì)解釋為什么不要一上來(lái)就選8.x數(shù)據(jù)庫(kù)選擇MySQL 5.7。創(chuàng)建完成后用SFTP或?qū)毸募芾砥靼言创a上傳到站點(diǎn)根目錄# 假設(shè)站點(diǎn)根目錄為 /www/wwwroot/community # 上傳源碼壓縮包后在命令行解壓 cd /www/wwwroot/community unzip community.zip -d . # 如果解壓后多了一層嵌套目錄需要把內(nèi)層文件移動(dòng)到根目錄 # 例如 mv ./community/* ./ 這樣把文件提升到站點(diǎn)根 # 查看目錄結(jié)構(gòu)確認(rèn)入口位置 ls -l這步的關(guān)鍵是確認(rèn)入口目錄。如果看到public或web文件夾說(shuō)明框架是入口分離模式需要在寶塔站點(diǎn)設(shè)置里把“運(yùn)行目錄”指向它如果直接看到index.php在根目錄則不需要這一項(xiàng)。很多新手在這步翻車(chē)源碼上傳了但訪問(wèn)域名時(shí)目錄列表被打開(kāi)了就是因?yàn)檫\(yùn)行目錄沒(méi)有指到public。接下來(lái)配置偽靜態(tài)。在站點(diǎn)設(shè)置里找到“偽靜態(tài)”選項(xiàng)卡選擇ThinkPHP或PHP框架對(duì)應(yīng)的規(guī)則模板然后手動(dòng)補(bǔ)一條location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s$1 last; } }這條規(guī)則是ThinkPHP框架的標(biāo)準(zhǔn)寫(xiě)法。它把所有不存在的文件請(qǐng)求統(tǒng)一轉(zhuǎn)發(fā)到index.php由框架路由解析。如果你選的源碼是原生PHP無(wú)框架偽靜態(tài)可能只需要location /默認(rèn)配置所以這一步要和源碼目錄結(jié)構(gòu)對(duì)應(yīng)起來(lái)不能盲目套模板。2.3 數(shù)據(jù)庫(kù)導(dǎo)入和配置文件修改網(wǎng)站代碼就位后開(kāi)始處理數(shù)據(jù)。在寶塔面板的數(shù)據(jù)庫(kù)菜單里創(chuàng)建一個(gè)新庫(kù)和一個(gè)專(zhuān)用賬號(hào)賬號(hào)權(quán)限只給這個(gè)庫(kù)不要用root。把源碼包里的.sql文件導(dǎo)入# 進(jìn)入源碼中的sql目錄找到安裝腳本 cd /www/wwwroot/community/sql # 用命令行導(dǎo)入替換成你實(shí)際的庫(kù)名和賬號(hào) mysql -ucommunity_user -p你的密碼 community_db install.sql # 如果sql文件是壓縮包先解壓 # gunzip install.sql.gz導(dǎo)入之后修改配置文件。ThinkPHP項(xiàng)目的配置一般在.env文件或config/database.php里以.env為例# 復(fù)制環(huán)境配置模板 cp .env.example .env # 編輯數(shù)據(jù)庫(kù)連接參數(shù) vim .env需要改的參數(shù)有四個(gè)分別是數(shù)據(jù)庫(kù)地址、庫(kù)名、賬號(hào)、密碼。地址通常填127.0.0.1端口默認(rèn)3306不用動(dòng)。改完保存后訪問(wèn)站點(diǎn)首頁(yè)此時(shí)應(yīng)該能看到系統(tǒng)的安裝向?qū)Щ蛞呀?jīng)可以登錄的頁(yè)面。如果頁(yè)面報(bào)數(shù)據(jù)庫(kù)連接錯(cuò)誤多半是賬號(hào)密碼填錯(cuò)或者這個(gè)賬號(hào)沒(méi)有被授權(quán)訪問(wèn)該庫(kù)。授權(quán)問(wèn)題可以在寶塔數(shù)據(jù)庫(kù)菜單里點(diǎn)“權(quán)限設(shè)置”勾選對(duì)應(yīng)庫(kù)再保存。安裝向?qū)J较绿詈脭?shù)據(jù)庫(kù)信息后它會(huì)自動(dòng)創(chuàng)建表并生成管理員賬號(hào)。如果是手動(dòng)導(dǎo)SQL的模式那么管理員賬號(hào)一般在源碼自帶的說(shuō)明文檔里例如admin賬號(hào)初始密碼admin123。首次登錄后第一件事就是改密碼。2.4 網(wǎng)站端驗(yàn)收從首頁(yè)到一條動(dòng)態(tài)站點(diǎn)能打開(kāi)只是第一個(gè)關(guān)口前后端功能是否完整還需要按用戶路徑走一遍。注冊(cè)一個(gè)新賬號(hào)完善頭像和昵稱發(fā)布一條帶圖片的動(dòng)態(tài)再拿另一個(gè)賬號(hào)去評(píng)論和私信。這條路徑覆蓋了用戶表、上傳邏輯、動(dòng)態(tài)表和私信表任何一個(gè)環(huán)節(jié)報(bào)錯(cuò)都說(shuō)明對(duì)應(yīng)的模塊沒(méi)配好。最容易在這一步暴露的問(wèn)題是圖片上傳失敗。瀏覽器F12打開(kāi)開(kāi)發(fā)者工具切到Network面板再點(diǎn)一次上傳如果請(qǐng)求返回403或500通常是uploads目錄沒(méi)有寫(xiě)權(quán)限。處理方式chown -R www:www /www/wwwroot/community/public/uploads chmod -R 755 /www/wwwroot/community/public/uploads上傳目錄權(quán)限是PHP項(xiàng)目里最常見(jiàn)的排查點(diǎn)。執(zhí)行完上面兩條命令再重新上傳試試。如果上傳成功但圖片顯示不出來(lái)注意看圖片URL是相對(duì)路徑還是絕對(duì)路徑絕對(duì)路徑是否帶了正確的域名靜態(tài)資源404通常和偽靜態(tài)規(guī)則無(wú)關(guān)而是站點(diǎn)根目錄配置錯(cuò)了。3. APP封包把H5站點(diǎn)封裝成安卓APP的完整流程3.1 封包的原理為什么網(wǎng)站做得好還不夠所謂APP封包本質(zhì)上是做一個(gè)極薄的殼應(yīng)用——用系統(tǒng)的WebView組件加載你的網(wǎng)站地址用戶在APP里看到的內(nèi)容其實(shí)還是那個(gè)PHP網(wǎng)站。這種做法在業(yè)內(nèi)叫H5套殼適合內(nèi)容型、社區(qū)型產(chǎn)品快速上架缺點(diǎn)是按原生應(yīng)用標(biāo)準(zhǔn)衡量時(shí)交互略生硬但在冷啟動(dòng)驗(yàn)證需求階段足夠用了。選擇封包方案時(shí)我推薦HBuilderX它是目前個(gè)人開(kāi)發(fā)者套殼成本最低的工具。原因是它的云打包服務(wù)不需要本地安裝安卓SDK點(diǎn)幾下就能產(chǎn)出APK新手不用碰Gradle也不用配Java環(huán)境。替代方案是Android Studio建一個(gè)WebView原生工程靈活度高但配置繁瑣且升級(jí)維護(hù)成本明顯更高。另一個(gè)坑是網(wǎng)上有些封裝工具號(hào)稱“免配置一鍵打包”把網(wǎng)站地址填進(jìn)去就生成安裝包這類(lèi)工具生成的包往往包名、簽名混亂上架時(shí)容易出問(wèn)題不建議使用??匆曨l教程時(shí)你會(huì)發(fā)現(xiàn)不同UP主用的工具不一樣但底層邏輯都是同一個(gè)創(chuàng)建一個(gè)只含WebView的應(yīng)用啟動(dòng)時(shí)加載網(wǎng)址。把這層邏輯弄清楚后面換任何工具都只是配置頁(yè)面不同。3.2 用HBuilderX做一個(gè)最小WebView殼工程打開(kāi)HBuilderX新建一個(gè)5App項(xiàng)目項(xiàng)目模板選“默認(rèn)模板”會(huì)生成manifest.json和index.html兩個(gè)關(guān)鍵文件。把index.html的內(nèi)容替換成下面的最小實(shí)現(xiàn)!DOCTYPE html html head meta charsetutf-8 meta nameviewport contentwidthdevice-width,initial-scale1.0,maximum-scale1.0,user-scalableno title社區(qū)交友/title style body, html { margin: 0; padding: 0; background: #f5f5f5; } /style /head body script // plusready是5App環(huán)境初始化完成的事件 // 只有在這個(gè)事件之后才能調(diào)用plus API document.addEventListener(plusready, function() { // 創(chuàng)建WebView加載線上站點(diǎn)首頁(yè) var webview plus.webview.create(https://你的域名, community, { top: 0px, bottom: 0px, scalable: false } ); // 將該WebView作為主界面顯示 plus.webview.show(community); }); /script /body /html邏輯說(shuō)明plusready是5App的核心生命周期事件必須等它觸發(fā)后再調(diào)用plus.webview系列API。plus.webview.create的三個(gè)參數(shù)分別是網(wǎng)址、WebView標(biāo)識(shí)、樣式對(duì)象。這里的網(wǎng)址必須寫(xiě)完整協(xié)議頭https://寫(xiě)成http://在部分安卓系統(tǒng)上會(huì)被攔截。top和bottom設(shè)為0px表示全屏顯示殼工程不保留原生導(dǎo)航欄復(fù)用網(wǎng)站自己的頭部導(dǎo)航。參數(shù)說(shuō)明scalable: false用來(lái)禁止用戶雙指縮放頁(yè)面可以避免頁(yè)面布局錯(cuò)亂。community這個(gè)標(biāo)識(shí)名是當(dāng)前WebView的唯一ID后續(xù)操作返回鍵要引用它不要輕易改。將這個(gè)項(xiàng)目跑起來(lái)之前還需要在manifest.json里配置應(yīng)用名稱等基礎(chǔ)信息下一節(jié)展開(kāi)。此時(shí)可以先在HBuilderX內(nèi)置瀏覽器里預(yù)覽一下頁(yè)面確認(rèn)網(wǎng)站移動(dòng)端適配正常。3.3 manifest.json參數(shù)與云打包簽名manifest.json是5App的配置文件在HBuilderX的可視化界面里直接編輯。重點(diǎn)參數(shù)有四個(gè)應(yīng)用名稱、AppID、版本號(hào)、圖標(biāo)與啟動(dòng)圖。應(yīng)用名稱會(huì)顯示在手機(jī)桌面上建議直接用社區(qū)產(chǎn)品名不要帶“測(cè)試”“demo”字樣。AppID由HBuilderX自動(dòng)生成首次創(chuàng)建項(xiàng)目時(shí)會(huì)彈出申請(qǐng)免費(fèi)賬號(hào)就能用。圖標(biāo)建議準(zhǔn)備一張1024x1024的PNG圖片系統(tǒng)會(huì)自動(dòng)裁切各尺寸。啟動(dòng)圖如果不想設(shè)計(jì)可以直接選“使用默認(rèn)啟動(dòng)圖”先把安裝包跑通后續(xù)再補(bǔ)品牌視覺(jué)。打包入口在“發(fā)行 - 原生App云打包”界面里有兩個(gè)選項(xiàng)經(jīng)常讓人猶豫使用公共測(cè)試證書(shū)還是自有證書(shū)。第一次體驗(yàn)流程時(shí)選公共測(cè)試證書(shū)即可安裝包可以直接裝到手機(jī)上。但它有個(gè)限制公共證書(shū)簽名的應(yīng)用無(wú)法覆蓋安裝升級(jí)每次都要卸載舊包再裝新包適合開(kāi)發(fā)期驗(yàn)證功能。準(zhǔn)備上架應(yīng)用市場(chǎng)時(shí)再用keytool生成自有證書(shū)云打包界面導(dǎo)入即可。云打包完成后會(huì)下載到APK文件。這里要注意安裝包體積通常在10MB到30MB之間如果構(gòu)建出來(lái)的APK只有幾百KB大概率是打包失敗或頁(yè)面資源被精簡(jiǎn)掉了重新打包前先檢查云打包返回的錯(cuò)誤日志。日志里最常見(jiàn)的錯(cuò)誤是圖標(biāo)格式不對(duì)或包名包含特殊字符按提示修改即可。3.4 封包后的三個(gè)聯(lián)動(dòng)問(wèn)題返回鍵、登錄態(tài)、加載進(jìn)度殼做完、APP能打開(kāi)首頁(yè)只是第一步。真正讓用戶覺(jué)得“這是個(gè)APP而不是網(wǎng)頁(yè)”的是下面三個(gè)交互細(xì)節(jié)。第一個(gè)是安卓返回鍵。默認(rèn)按返回鍵會(huì)直接退出APP但用戶在瀏覽社區(qū)時(shí)往往想的是返回上一頁(yè)。在index.html里補(bǔ)上返回鍵監(jiān)聽(tīng)document.addEventListener(plusready, function() { var mainWebview plus.webview.currentWebview(); // 監(jiān)聽(tīng)安卓物理返回鍵 plus.key.addEventListener(backbutton, function() { // 判斷WebView內(nèi)部能否后退 if (mainWebview.canBack()) { mainWebview.back(); // 后退到上一個(gè)頁(yè)面 } else { // 在首頁(yè)時(shí)按返回鍵退出應(yīng)用 plus.runtime.quit(); } }); });這段邏輯說(shuō)明canBack()會(huì)查詢WebView內(nèi)部的歷史棧能后退就執(zhí)行頁(yè)面后退不能后退說(shuō)明用戶已在首頁(yè)此時(shí)直接退出。如果不做這個(gè)區(qū)分用戶在二級(jí)頁(yè)面按返回鍵直接退出APP體驗(yàn)會(huì)非常差。第二個(gè)是登錄態(tài)。網(wǎng)站端通??緾ookie維持登錄但安卓WebView的Cookie策略可能與瀏覽器默認(rèn)行為不同導(dǎo)致用戶在APP內(nèi)登錄后刷新又掉線。穩(wěn)妥的做法是在WebView創(chuàng)建時(shí)設(shè)置cookie的持久化同時(shí)讓網(wǎng)站端支持URL參數(shù)傳遞登錄憑證。常見(jiàn)做法是登錄成功后跳轉(zhuǎn)一個(gè)帶token的URLhttps://你的域名/index.php?s/user/logintokenxxxxxxxx網(wǎng)站端識(shí)別到有效token后寫(xiě)入自己的Session再重定向到首頁(yè)。這個(gè)方案比依賴Cookie更可靠且后續(xù)接消息推送時(shí)也需要同樣的token機(jī)制。第三個(gè)是加載進(jìn)度。殼工程啟動(dòng)時(shí)首頁(yè)可能需要2到3秒如果白屏無(wú)提示用戶很可能認(rèn)為應(yīng)用壞了。最簡(jiǎn)單的方式是在WebView加載前顯示一個(gè)原生啟動(dòng)圖加載完成后自動(dòng)隱藏。HBuilderX默認(rèn)模板自帶啟動(dòng)圖邏輯只要不在create方法里設(shè)置background屬性啟動(dòng)圖會(huì)自然覆蓋加載過(guò)程。4. 上線前把參數(shù)調(diào)對(duì)性能、安全與數(shù)據(jù)維護(hù)4.1 PHP與Nginx的核心運(yùn)行參數(shù)系統(tǒng)能跑起來(lái)和能扛住用戶是兩碼事。PHP社區(qū)交友系統(tǒng)屬于動(dòng)態(tài)請(qǐng)求比重很高的應(yīng)用每個(gè)動(dòng)態(tài)列表都可能觸發(fā)多次數(shù)據(jù)庫(kù)查詢所以PHP運(yùn)行參數(shù)的調(diào)整會(huì)直接影響響應(yīng)速度。先改PHP配置。在寶塔面板的“軟件商店 - PHP 7.4 - 配置修改”里調(diào)整參數(shù)名推薦值作用說(shuō)明memory_limit256M限制單次請(qǐng)求最大內(nèi)存過(guò)低會(huì)導(dǎo)致圖片處理或批量操作報(bào)錯(cuò)max_execution_time120腳本最長(zhǎng)執(zhí)行時(shí)間私信群發(fā)、批量導(dǎo)入這類(lèi)任務(wù)容易超時(shí)post_max_size32M表單POST上限動(dòng)態(tài)發(fā)圖時(shí)必須大于圖片大小upload_max_filesize16M單張圖片上傳上限和post_max_size保持合理關(guān)系這四個(gè)參數(shù)是PHP環(huán)境里調(diào)整頻率最高的。視頻教程里常說(shuō)“調(diào)大就好”但實(shí)際要按業(yè)務(wù)平衡圖片社區(qū)把上傳限制調(diào)到32M沒(méi)問(wèn)題純文字社區(qū)調(diào)這么大只會(huì)浪費(fèi)內(nèi)存。然后是Nginx的FastCGI緩沖區(qū)。PHP動(dòng)態(tài)頁(yè)面如果沒(méi)開(kāi)緩存每次請(qǐng)求都要重新編譯解析壓力一上來(lái)CPU就跑滿。在Nginx配置文件里增加fastcgi_buffers 8 16k; fastcgi_buffer_size 32k;這兩個(gè)參數(shù)控制Nginx把FastCGI返回的內(nèi)容緩沖到內(nèi)存后再發(fā)給客戶端能顯著減少小文件碎片化輸出帶來(lái)的IO開(kāi)銷(xiāo)。同時(shí)開(kāi)Opcache擴(kuò)展PHP 7.4默認(rèn)自帶在php.ini里把以下兩條打開(kāi)opcache.enable1 opcache.memory_consumption128Opcache的作用是緩存編譯后的PHP字節(jié)碼讓第二次請(qǐng)求不再走編譯流程。對(duì)于ThinkPHP這類(lèi)帶大量框架文件的系統(tǒng)開(kāi)Opcache后接口響應(yīng)時(shí)間通常能下降50%以上。4.2 MySQL索引與連接配置數(shù)據(jù)庫(kù)是社區(qū)交友系統(tǒng)最容易被拖垮的環(huán)節(jié)尤其是users、posts、messages這三張表。很多開(kāi)源源碼建表時(shí)只做主鍵索引查詢條件完全裸奔用戶量上千后一次列表查詢就要掃全表。登錄MySQL把項(xiàng)目SQL文件里最常用的查詢字段加上索引-- 用戶表用戶名和郵箱常用于登錄查詢 ALTER TABLE users ADD INDEX idx_username (username); ALTER TABLE users ADD INDEX idx_email (email); -- 動(dòng)態(tài)表按用戶查動(dòng)態(tài)列表 ALTER TABLE posts ADD INDEX idx_user_id (user_id); -- 動(dòng)態(tài)表按時(shí)間倒序拉取最新列表 ALTER TABLE posts ADD INDEX idx_create_time (create_time); -- 私信表查兩個(gè)用戶之間的會(huì)話 ALTER TABLE messages ADD INDEX idx_from_to (from_user_id, to_user_id);關(guān)于聯(lián)合索引和單個(gè)索引的差別上面idx_from_to建立在兩列上是因?yàn)樗叫挪樵兺ǔM瑫r(shí)帶兩個(gè)用戶ID條件而idx_create_time單列索引就夠因?yàn)榕判蜃侄魏苌僭侬B加其他過(guò)濾條件。加完索引用EXPLAIN SELECT ...驗(yàn)證是否命中看到type從ALL變?yōu)閞ef或range就說(shuō)明生效了。MySQL連接數(shù)同樣要關(guān)注。寶塔默認(rèn)的max_connections是100左右當(dāng)網(wǎng)站的并發(fā)請(qǐng)求超過(guò)這個(gè)值時(shí)新連接會(huì)直接報(bào)Too many connections。在my.cnf的[mysqld]段調(diào)整max_connections 300 innodb_buffer_pool_size 1Ginnodb_buffer_pool_size是InnoDB引擎的緩存池大小建議設(shè)為服務(wù)器物理內(nèi)存的50%到70%。如果服務(wù)器只有2G內(nèi)存設(shè)1G合理如果設(shè)得過(guò)大系統(tǒng)本身的內(nèi)存會(huì)被耗盡反而觸發(fā)OOM。改完重啟MySQL。線上驗(yàn)證時(shí)再看三個(gè)監(jiān)控指標(biāo)SHOW STATUS LIKE Threads_connected確認(rèn)當(dāng)前連接數(shù)SHOW GLOBAL STATUS LIKE Slow_queries查看慢查詢數(shù)量。如果慢查詢?cè)跐q說(shuō)明還有查詢?nèi)彼饕^續(xù)排查日志。4.3 登錄態(tài)與Cookie參數(shù)社交系統(tǒng)登錄態(tài)的安全直接決定賬號(hào)是否會(huì)被盜。默認(rèn)PHP配置里Cookie的HttpOnly和SameSite屬性往往沒(méi)開(kāi)導(dǎo)致JS腳本能讀到登錄Cookie遭遇XSS時(shí)令牌直接泄露。在公共的配置文件里設(shè)置會(huì)話Cookie參數(shù)session.cookie_httponly 1 session.cookie_samesite Lax session.use_strict_mode 1HttpOnly讓JS無(wú)法讀取Cookie能擋住大部分XSS竊取SameSiteLax限制跨站請(qǐng)求攜帶CookieCSRF攻擊的窗口會(huì)小很多。注意SameSite不能設(shè)成None雖然那能讓第三方WebView正常發(fā)Cookie但會(huì)帶來(lái)更嚴(yán)重的跨站風(fēng)險(xiǎn)。APP封包場(chǎng)景下登錄態(tài)優(yōu)先用token參數(shù)傳遞不要依賴第三方Cookie。同時(shí)確認(rèn)登錄接口的傳輸協(xié)議線上必須全站HTTPS否則密碼和Cookie都是明文在網(wǎng)絡(luò)中流轉(zhuǎn)。后面第6章會(huì)寫(xiě)具體配置方法和注意事項(xiàng)。4.4 附件目錄與CDN分離用戶上傳的頭像和動(dòng)態(tài)圖片默認(rèn)都存在服務(wù)器本地隨著運(yùn)營(yíng)推進(jìn)這些靜態(tài)文件會(huì)持續(xù)消耗磁盤(pán)和帶寬。當(dāng)圖片請(qǐng)求和動(dòng)態(tài)API請(qǐng)求共享同一出口時(shí)網(wǎng)站并發(fā)再高也會(huì)被圖片拖慢。標(biāo)準(zhǔn)做法是把附件目錄拆出去單獨(dú)托管。如果暫時(shí)不打算上云存儲(chǔ)至少在Nginx里關(guān)閉附件目錄的PHP解析并把靜態(tài)緩存開(kāi)起來(lái)location ^~ /public/uploads/ { expires 30d; add_header Cache-Control public, immutable; # 防止有人上傳PHP后門(mén)后通過(guò)uploads目錄執(zhí)行 location ~ \.php$ { deny all; } }這段配置有兩層意思請(qǐng)求uploads下的圖片時(shí)Nginx直接返回并讓瀏覽器緩存30天命中緩存后不再消耗PHP進(jìn)程同時(shí)顯式屏蔽該目錄下所有PHP文件的執(zhí)行即使有攻擊者上傳了惡意腳本也跑不起來(lái)。這是一個(gè)低成本但必須做好的安全習(xí)慣。后續(xù)流量上來(lái)后把附件目錄遷到阿里云OSS或騰訊云COS配個(gè)CDN加速PHP代碼里只需要把圖片URL的域名前綴換成CDN地址業(yè)務(wù)邏輯不用動(dòng)。5. 搭建中的五個(gè)常見(jiàn)問(wèn)題與避坑記錄5.1 偽靜態(tài)規(guī)則不匹配網(wǎng)站能開(kāi)首頁(yè)卻全站404現(xiàn)象訪問(wèn)域名首頁(yè)正常點(diǎn)開(kāi)任何一個(gè)欄目或文章詳情都返回404。原因站點(diǎn)使用的偽靜態(tài)規(guī)則與框架不匹配。很多PHP源碼自帶.htaccessApache規(guī)則但寶塔默認(rèn)用的是Nginx壓根不讀.htaccess規(guī)則沒(méi)生效路由無(wú)法解析。解決在寶塔站點(diǎn)設(shè)置里的“偽靜態(tài)”菜單選擇對(duì)應(yīng)框架的規(guī)則。ThinkPHP選thinkphp模板原生PHP項(xiàng)目可以先把規(guī)則清空只留location /再逐個(gè)試。具體規(guī)則可以參考2.2節(jié)中那三條的寫(xiě)法。5.2 SQL導(dǎo)入報(bào)“Unknown collation”MySQL版本與字符集沖突現(xiàn)象導(dǎo)入.sql文件時(shí)命令行報(bào)Unknown collation: utf8mb4_0900_ai_ci。原因源碼在MySQL 8.0環(huán)境里導(dǎo)出的utf8mb4_0900_ai_ci是MySQL 8.0專(zhuān)屬的字符集排序規(guī)則而MySQL 5.7不認(rèn)。解決兩個(gè)方向任選。一是把寶塔的MySQL切換到8.0版本再重新導(dǎo)入二是用文本編輯器打開(kāi)SQL文件把所有的utf8mb4_0900_ai_ci全局替換成utf8mb4_general_ci。前者適合新項(xiàng)目直接使用8.0后者適合服務(wù)器上已有多個(gè)5.7數(shù)據(jù)庫(kù)、不能隨便動(dòng)全局版本的情況。5.3 PHP版本過(guò)高已廢棄函數(shù)導(dǎo)致的空白頁(yè)現(xiàn)象打開(kāi)列表頁(yè)或執(zhí)行某個(gè)操作時(shí)頁(yè)面完全空白PHP錯(cuò)誤日志里出現(xiàn)Call to undefined function。原因部分開(kāi)源源碼是在PHP 5.x時(shí)代寫(xiě)的使用了一些高版本已移除的函數(shù)比如mysql_connect、each、create_function。直接跑在PHP 8.x上就會(huì)觸發(fā)致命錯(cuò)誤。解決這是為什么第2章推薦PHP 7.4的原因。7.4對(duì)舊代碼的兼容性遠(yuǎn)好于8.x。如果一定要用PHP 8.x需要逐個(gè)修復(fù)報(bào)錯(cuò)函數(shù)。用grep -r搜索源碼里的廢棄調(diào)用一個(gè)一個(gè)替換成新寫(xiě)法工作量視代碼規(guī)模而定。5.4 APP封包后白屏證書(shū)與混合內(nèi)容攔截現(xiàn)象APK安裝后能啟動(dòng)但頁(yè)面一直白屏在手機(jī)上用瀏覽器打開(kāi)同一網(wǎng)址卻完全正常。原因包含兩方面。安卓WebView默認(rèn)禁止HTTP明文流量如果你的站點(diǎn)還是http://WebView會(huì)直接攔截另外一個(gè)常見(jiàn)原因是HTTPS頁(yè)面里嵌入了HTTP的圖片或接口資源系統(tǒng)認(rèn)定為混合內(nèi)容后也一并攔截。解決把網(wǎng)站全部升級(jí)到HTTPS同時(shí)檢查頁(yè)面里是否有http://開(kāi)頭的靜態(tài)資源引用改用相對(duì)路徑或統(tǒng)一替換成https://。升級(jí)方法見(jiàn)第6章。WebView創(chuàng)建時(shí)也可以加mixedMode: always_allow屬性但這只是權(quán)宜之計(jì)治標(biāo)不治本不建議長(zhǎng)期依賴。5.5 封包內(nèi)登錄失效Cookie的SameSite問(wèn)題現(xiàn)象APP里點(diǎn)登錄始終失敗或反復(fù)掉線同一套賬號(hào)密碼在手機(jī)瀏覽器里能正常登錄。原因5.3節(jié)提到PHP配置了SameSiteLax后WebView內(nèi)部發(fā)起跨域請(qǐng)求或被第三方環(huán)境攔截時(shí)Cookie不會(huì)自動(dòng)帶上服務(wù)端就認(rèn)為請(qǐng)求未登錄。解決停用Cookie依賴換成token傳遞方案。登錄接口成功后返回隨機(jī)token客戶端存儲(chǔ)后續(xù)請(qǐng)求在HTTP頭里帶Authorization: Bearer token。服務(wù)端每次從token解析用戶不讀Session。這是前端APP與后端API直連時(shí)的標(biāo)準(zhǔn)做法徹底繞開(kāi)Cookie的跨域問(wèn)題。提示上面的五個(gè)案例前三個(gè)集中在網(wǎng)站端后兩個(gè)是APP封包特有的。先按網(wǎng)站端流程跑通再封包排查時(shí)就能二分定位問(wèn)題來(lái)自哪一層。6. 上線后的三個(gè)實(shí)用技巧HTTPS收尾、消息推送與二次開(kāi)發(fā)點(diǎn)6.1 全站HTTPSWebView封包的前置條件APP封包前務(wù)必先做HTTPS否則云打包后的APK在大多數(shù)安卓設(shè)備上都會(huì)白屏。寶塔面板里申請(qǐng)免費(fèi)的Let‘s Encrypt證書(shū)在站點(diǎn)設(shè)置里勾選“強(qiáng)制HTTPS”再把Nginx配置里的HTTP請(qǐng)求301跳轉(zhuǎn)到HTTPS即可。注意全站HTTPS之后接口和靜態(tài)資源都要走HTTPS用grep查一遍模板文件里是否殘留HTTP開(kāi)頭的硬編碼地址grep -rn http:// /www/wwwroot/community/app/ | grep -v https://查出來(lái)的行改成相對(duì)路徑或者把域名換成HTTPS。這一步完成后重新封包白屏問(wèn)題基本絕跡。6.2 用一個(gè)極簡(jiǎn)輪詢實(shí)現(xiàn)站內(nèi)消息提醒很多開(kāi)源系統(tǒng)自帶的私信模塊沒(méi)有新消息提醒用戶必須打開(kāi)頁(yè)面才看得到。在還沒(méi)接入專(zhuān)業(yè)推送服務(wù)時(shí)可以用前端輪詢接口代替。網(wǎng)站端寫(xiě)一個(gè)返回未讀數(shù)的接口APP端H5頁(yè)面里定時(shí)拉取// 每30秒檢測(cè)一次新私信頁(yè)面放在公共底部導(dǎo)航邏輯里 setInterval(function() { fetch(/api/unread_count) .then(function(resp) { return resp.json(); }) .then(function(data) { if (data.count 0) { // 更新底部導(dǎo)航的角標(biāo) document.getElementById(badge).innerText data.count; } }); }, 30000);這個(gè)做法優(yōu)點(diǎn)是零成本缺點(diǎn)是耗電且不實(shí)時(shí)。用戶量超過(guò)幾百之后可以考慮接入個(gè)推或極光的免費(fèi)額度它們?cè)赪ebView里也提供前端SDK邏輯可以直接替換。6.3 二次開(kāi)發(fā)值得先改的三處注冊(cè)防刷、敏感詞、積分規(guī)則開(kāi)源系統(tǒng)默認(rèn)的注冊(cè)接口通常沒(méi)有任何防刷機(jī)制上線第一天就可能被腳本灌進(jìn)上千垃圾賬號(hào)。第一件事是在注冊(cè)接口加圖形驗(yàn)證碼或行為驗(yàn)證。第二件事是敏感詞過(guò)濾動(dòng)態(tài)和私信都是UGC不做過(guò)濾后面的麻煩更大常見(jiàn)做法是把敏感詞表存數(shù)據(jù)庫(kù)發(fā)布時(shí)遍歷替換。第三件事是積分規(guī)則開(kāi)源系統(tǒng)多半寫(xiě)了積分邏輯但沒(méi)接支付接口運(yùn)營(yíng)前想清楚積分從哪來(lái)、能換什么否則這個(gè)模塊就是擺設(shè)。吃過(guò)一次虧才長(zhǎng)記性。之前圖省事封包完成后直接拿公共測(cè)試證書(shū)簽名的APK發(fā)給用戶測(cè)試結(jié)果第二周想升級(jí)功能時(shí)舊包只能卸載重裝好幾個(gè)用戶的本地?cái)?shù)據(jù)全沒(méi)了被群里吐槽了一整天。從那以后我再也不敢跳過(guò)自有證書(shū)那一步每次打包前都先確認(rèn)簽名文件在位。這套流程做下來(lái)從拿到源碼到雙端跑通慢一點(diǎn)三天快一點(diǎn)一個(gè)下午中間那些坑基本都集中在環(huán)境版本和封包細(xì)節(jié)上。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
午夜寂寞欧美| 久久极品一区二区| 国产400孕妇孕交群| 天美精品一区二区三区四区在线观看| 激情久久久| 亚洲欧美国产va在线播放频| 变态另类专区| 亚洲精品97p| 亚洲色图国产另类| 96精品久久久久中文字幕| 色爱三区| 国产成年免费大片黄在线观看| 伊人九九| 色与欲影视天天看综合网| 欧美性爱一区二区三区四区| 18一区二区三区| 五月天丁香网| 新婚人妻扶着粗大强行坐下| 国产中文大片资源中文字幕| 1人人看人人摸人人操| 人人操,人人液| 一二区在线观看视频| 欧美日韩精品国产91| 啊啊啊啊啊啊啊国| 男人的天堂2019AV| 色噜噜人妻av 中文字幕| 国产激情视频在线观看| 亚洲黄色a级片| 温婉少妇玩3p| 操逼操逼逼操操逼91 | 97色综合中文网| 国产AV天美传媒一区二区三区| 久久超碰、| 天天弄天天操| 四虎永久在线精品免费网址| 国产女同性恋视频| 草久久久| 俞拍自拍| 偷窥自拍亚洲| 欧美色图欧美| 亚洲色天| 美国日韩黄片| 国产人妖视频一区在线观看| 国产精品视频白浆免费| 婷婷色在线| 99re这里| 亚洲清纯唯美| 亚洲综合伊人无码久久| 天天综合网网欲色| 最新亚洲人成网站在线影院| 国产性爱在线视频一区二区| 免费A V在线播放| 立川理惠加勒比无码| 欧美成人性爱视频大全| 午夜欧美J进J出白浆流出久久久| 玖玖爱一区在线| 超碰天天操你比| 少妇第一页| 久9爱经典视频| 久久久啊啊啊| 内射夫妻三片| 日韩一级二级| 男人 天堂 日 亚洲| 亚洲国产中文字幕| 无码人妻一区二区三区四区老鸭窝| 国产精品在线免费| 岛国免费视频在线| 亚洲一区二区三区欧美日韩| 国产一区96在线| 亚洲日本男人天堂网| 亚洲自拍另类丝袜综合| 日本不卡免费二区| 大香蕉乱级| 日韩欧美国产高清视频| 欧美 亚洲 制服 精品| 熟妇高潮一区二| 欧美在线综合| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧美在线观看综合国产| 大香蕉 222| 天天干夜夜肏| 麻豆视频国产一区二区| 中文字幕在线免费观看视频| 中国黑人三级片网站上区| 道久久五香丁月婷婷激情综合| 九七超碰人人乐| 中国AV美女| 人人扣人人操| 色网1| 无码78| 国产精品蜜乳AV| 91人人看| 九久9精品| 中文字幕成人理论在线| 激情终合网| 中文字幕一二三| 色乱二区| 欧亚成人在线视频| 精品免费视频国产一区| 99久久网站| 成人在线午夜视频一区| 国产精品美女视频诱惑| 婷婷五月天av| 狠狠爱大香蕉| 操99| 国产丁香精品露脸视频| 一起草日韩| 一二三啪啪专区| 国产精品乱码久久久久久久久| 中文字幕日韩精品久久| 中文字幕久久亚州无码| 欧美丝袜制服久久| 久久人妇| 亚洲精品xxx| 日韩成人午夜精品久久高潮| 久久久久久网址| 色婷婷成人| 久久精品一区一起草| 久草视频在线视频在线视频在线观看| 亚洲欧洲日产国产综合网| 欧美精品97| 日韩精品区二区三区不卡| 大香蕉草草| 午夜天堂啪啪| 亚洲色图A| 日韩精品在线观看网站| 97中文综合| 青青草丝袜在线视频| 欧美一级专区免费大片| 日韩Va亚洲va欧美Ⅴa久久| AV99热18这里只有精品| 日韩午夜精品一区二区三区电影| 丝袜高跟澳门91视频| 国产一区二区a毛片| 欧美日韩国产色五月综合在线| 婷婷丁香九月| 亚洲欧美骚| 亚洲熟妇自偷自拍另欧美| 男人的天堂2018| 99超碰色| 91九色蝌蚪在线观看| 日韩国产十八禁| 亚洲欧美在线观看无码| 99国内熟女露脸视频| 青娱乐日韩无码| 九九久久国产精品怡红院| 婷婷色综合| 国产精品久久久久久久久久久久久久吹 | 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 啊啊啊啊,啊啊好多水| 色爱三区| 97综合在线| 久久国产精品91| 男女啪啪网站免费视频| 国产乱弄免费在线视频。| 草草网站影院白丝内射| 成人怡红院| 色九九九九| 欧美在线观看综合国产| 亚洲天天操| 亚洲色图国产另类| 久99热| 国产无码精品久久久久久| 97超久碰| 亚洲成人免费在线| 高清无码久操视频| 精品一区二区2| 亚州色站 日韩电影| 性影在线视频| av黄图片在线观看| 97亚洲色图| 78久久久| 最新一二三区视频| 五月天激情网站| 亚洲无码一二三区| 精品无码一区二区三区色欲| 九九人妻| 蜜臀久久久国产| 蜜臀av一区二区三区免费观看| 黄色一区二区秘书性感| 91精品人妻偷情| 亚洲成人AB| 99re这里只有精品3| 久操精品网| 亚洲欧美在线观看无码| 国产精品第一区第一页| 久久啊啊| 97色欧洲| 亚洲亚洲亚洲天堂天堂 | 秋霞午夜成人福利片片| 亚洲 欧美 日韩另类 麻豆| 亚洲综合888| 亚洲色五月| 欧美国产欧美在线观看| 亚洲h片在线免费观看| 热热色91| 97碰碰色| 91免费看中出视频| 国产蜜臀在线| 伊人嫩草| 亚洲欧美激情小说| 超碰色老头| 日韩无码服务区| 天天热精品| 欧美午夜视频| 亚洲精品美女操逼| 97超碰久久色| 亚洲美女 晚间男人天堂| 神马久久久久眼| 人妻天堂综合网| 精品人妻伦一二三区久久| 国产亚州精品美女久久久免费| 日韩操p| 成人五月天丁香激情综合| 色逼综合| 2024黄色视频| 奇米四色网| 亚洲啪啪视频免费| 国产乱伦亚洲| 在线观看精品国产免费| 99九九精品| 91久操| 久久黄黄| 日韩钢筋无码高清啾啾啾| 区一二区日韩亚洲乱码av电影| 日本999精品视频| 青青草五月天| 日韩中文9| 欧中美三级一区二区三区| 国产精品一区二区三区在线| 精品无码秘 人妻一区二区| 久久久久久久强迫| 狼狼色丁香久久婷婷综合五月| 国产欧美日韩精品中文| 国产视频一区二区三区久久亚洲天堂| 亚洲自拍欧美国产首页网曝| 久久综合久色欧美综合狠狠 | 人人干黄色| 青椒国产97在线熟女| 欧美日本国产日韩激情视频| 98一区二区精品| 女一区二区| 99re热| 日日操夜夜操天天操免费观看麻豆| 日韩超碰97| 麻豆视频国产一区二区| www欧美性爱| 人妻少妇久久久| 久久久久骚| 性爱AV天堂| 天躁夜夜躁2021| 影音先锋日本乱伦| 色色色综合网| 五月天AV资源| 色y情视频免费看| 香蕉人人操tv| 大香蕉一人在线| 91麻豆天美国产欧美高潮| 美女黄网| 色五月首页| 久久少妇视频| 日日骚中文字幕| 欧美日韩色综合网| 成人AV素股で擦久久| 久久 久久国内精品亚洲| 99久久精品国产系列| 成人性爱美曰韩| 伊人久久青青草| 亚洲精品黑丝| 99色热国产视频精品| 激情综合五月婷婷| 国产熟女高潮一区二区三区| 欧美性爱日韩高清| 久久发布国产伦子伦精品| 尤物视频新赏网鲜网色诱网| 人妻一二三区| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 加勒比av网| 久久久久久综合久久伊人蜜月| 性暴力欧美猛交在线直播| 亚洲欧洲小说图片视频 | 欧亚免费视频| 国产成人精品网站| 欧美精品1区2区3区| 亚洲中文电影| 18禁精品网站在线看| 久久国色天香香蕉| 七月婷婷综合| 亚洲 日韩 欧美 国产综合体| 啊啊啊操死我了| 性开放中文AV高清无码免费看| 啊啊啊啊啊在线观看网址 | 校园春色 男人天堂| 欧美线天码中字| 粉嫩绯色AV一区二区在线| 亚洲成人色情五月天丁香花| 99精品欧美一区二区三区桃色| 欧美老妇女内射网址| 亚洲AV无码秘 蜜桃臀国精产品| 男人夜色天堂ss| 性欧美91| 天美传媒国产原创中文字幕亚洲欧美另类 | 91精品老女人| 啊啊好多水| 无码免费在线观看黄色片| 91久久午夜无码鲁丝片久久人妻| 成 人片 黄色大片| 97视频www| 亚洲色 国产 欧美 日韩| 91 国产丝袜在线播放-百度| 日本护士高潮| 天天92av| 色天堂综合| 人人操人人大香蕉| 国产一二三福利视频网| 国产 日韩 欧美 人妻 熟女 中文| 日本在线999| 色播丁香| 一个国产在线综合网站| 91在线/欧洲| 国产91久久九九免费精品无码| 国产后入式在线观看| 精品久久一区二区三区四区五区| 免费AV中文网在线观看| 人妻美腿丝袜制服诱惑综合天堂-| 韩三级a视频在线观看| 丝袜av一区二区三区| 欧美强奸乱能| 东北女人性交| 91欧美成人色站| 国产精品久久久久久夜夜夜| 以及麻豆国产入口在线观看免费| 丝袜高跟澳门91视频| 免费精品99| 欧美欧美啪啪视频| 中文有码9| 97视频在线免费看| 婷婷大香蕉| 人人干人人操人人爱| 成熟熟女国产精品一区二区| 91爽啪| 色婷婷六月丁香七月婷婷| Julia Annxxxxx| 天天综合网一91网| 国产一区二区啪啪视频| 成人av毛片在线观看| 亚洲欧洲无码97久久精品| JIZZJIZZ国产精品喷水| 岛国1区2区3区在线观看| 欧美 综合 亚洲| 欧美性爱五月天| 亚洲色色探花| 日韩人妻一区二区| 欧美96在线|欧| 欧美天堂超碰97| 欧美综合骚| 日韩中文字幕在线视频观看| 福利操逼| 亚洲一区在线观看欧洲| 国内伊人久久久久久网站视频| 欧美在线中M| 国产精品熟女AV中文字幕在线播放| 国产成人bd在线观看| 中文字幕精品免费一区二区| 午夜毛片亚洲精品片国产久久久| 亚洲在线A| 极品久久久久久久久久久久久久| 中文字日本乱码| 97精品国产97久久久久久免费| 天堂8在线新版官网| 看大黄色大片原件| 久久男人精品| 久久国产热视频97电影| 欧美精品日韩久久久九| 日逼视频日本| 黄片国产精品一区二区| 黄色一区二区秘书性感| 人妻系列无码专区中文有码| 日韩一级成人毛片免费观看| 一个人免费HD91视频| 手机在线播放国产福利| 美女午夜福利免费视频| 国产一级特黄大片处女| 99热99在线播放激情| 日本性爱欧美性爱| 人人 操人人 操人人| 国产精品原创巨作?v网站| 精品国模无码| 在线观看一级α片刺激高潮视频| 欧美日韩国产一区二区小黄片大全| 99这里有精品| 久久天堂婷婷网| 五月激情综合网| 色婷婷丁香五月| www.婷婷五月天| 国产欧美伊人| 久久AV无码1区2区3区| 75大香蕉| 视频在线中文字幕| 人妻夜爽夜夜爽| 亚洲97精品| 欧美色图20p| 懂色中文一区二区三区 | 香蕉免费一区二区三区不读| 91亚洲黄色网| 麻豆国产97在线| 天天草夜夜草高潮片| 手机在线视频国内精品| 日韩成人精品中文字幕| 67194无码不卡| 精品久久九| 日韩精品三级| 激情天天视频| 91呆哥人妻| 人妻激情另类| 黄日韩| 欧美色图片色哟哟| 国产黄色小视频网站| 夜夜影视四色| 性站| 中国91AV| 三级激情网站| 91日本在线观看| 五月天伊人| 密臀成人视频久久久| 久久午夜色播影院免费高清| 国产精品久久久久久久毛片1| 屌逼麻豆| 日韩AV噜噜噜一区二区三区四区 | 亚洲成人一二三区| 亚洲日本大香蕉1| 九九AV| 日韩,欧美,中文在线| av优播| 国产风韵犹存熟妇三区| 亚洲人体视频在线观看| www.99热| 亚洲国产中文字幕| 国内毛片国产欧美拍| 女人高潮大叫一级毛片| 欧美久久久| 少妇久久久| 国产吞精a级片激情电影| 99热导航| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 日本性一区| 麻豆国产精品午夜视频| julia高潮后不停追击中出| 1二区9| 91天天看| 天天添天天干电影| 蜜臀久久99精品久久久久久成人小说 | 久偷拍欧美日韩三区| 97视频在线看| 国产乱码久久| 久久久青青草| 90后性网国产欧美| 中文字幕第7页| 萌白酱自拍视频| 亚洲情色在线| 久久久亚洲Av| 91久久堂| 天天躁日日躁xxxxx| 亚洲欧美性生活| 一区在线精品中文字幕| 91熟女熟妇视频网站| 久9爱精品| 精品久久人妻成人网| 亚州国产成人精品女人久久| 被体育老师抱着c到高潮| 久久久精品久久| 亚州操逼图| 国产情色在线| 粉嫩不卡一区二区性爱| 精彩久久中文| 久草视频分类在线| 男人的天堂va| 少妇天堂网络| 5278欧美一区二区三区| 狠狠躁久久躁| 日本免费中文一区二区三区四区| 婷婷婷婷婷婷久久久久| 性色高清在线| 国产精品人妻熟女aⅴ| 动漫区日韩区欧美区| 亚洲成人日韩小说| 极品色综合| 91在线美女| 免费αV在线视频| 97在线资源| 日本中文字幕在线电影| 日本精品五区| 国产乱码久久久久久| 色婷亚洲五月在线观看| 在线视频97| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 特色a在线上| 色婷婷综合久久久久中文一区二区| 岛国在线国产| 国产精品电| 国产欧美伊人| 九九久久一区二区伦理| 久久αⅴ| 久久啊啊啊视频| 中日高清无码操逼视频| 97精品一区二区视频| 日日夜夜模| 婷婷99狠狠| 性久久久| 精品人妻高清麻豆av| 18一区二区三区| 亚洲无码AV九九九| 立川理惠被中出无码| 久久久91福利姬| 九九精品美女高溯喷水| 国产精品久久成人免费| 欧美传媒| 精品欧美乱码久| 日日夜夜草草草| 天天爽天天| 天天综合网日韩7799| 亚洲色图欧美| 欧美专区17页| 综合天天网| 青青草九九九九九| 97人人模人人爽人人| 日本操逼aaaaa| 日本黄色精品| 99爱爱| 人妻插插人妻人| 欧美十八禁在线看| 精品毛片久久久精品毛片| 成人午夜高潮av猛片| 欧美BT 亚洲色图| 青青草玖玖爱| 九九自拍伦理| 夜夜騷av、一區二區| 小少妇| 日本熟女中文| 免费人成?大片在线播放| 天天日天天搞天天干| 午夜美女福利视频| 友优传媒精品在线一区二区| 欧美色爱综合| 五十路熟女在线不卡观看一区二区| 欧美午夜色妇色鬼| 亚洲欧美性生活| 青青草在线成人视频| 五月丁香综合网| 91性高潮久久久久久久久| 日本视频在线观看污污污| 色就色综合| 国产中文字幕在线点播| 国产美女口爆吞精视频| 20cm女自慰在线日韩欧美| 啊啊啊草死我| 成年女人一区| 天天激情干| 澳门成人网站久国产日韩| 韩国黄色片精品久久久| 国产精品三级视频网站| 乱老女人一区二区视频| 国产精品视频精品一二| 国产粉嫩出水在线播放| av天堂5| 国产精品无码av在线| 中文字幕日韩人妻视频一区二区三区| 亚洲精品影视老司机| 午夜男人av| 91爆操视频| 日本操BAV| 久热超碰| 久久久久久亚洲精品中文字幕人妻| 嗯嗯啊啊视频在线看| 97蜜桃综合| 96免费视频在线| 大香蕉色欲AV| 伦理第一页| 日韩视频中文字幕| 日韩操p| 亚洲少妇综合在线播放| 国产成人网| 国产天天骚| 大香蕉综合在线| 激情文学亚洲| 免费精品无码一级毛片牛牛影视| 国产亚洲精品无码三区| 91黑人无码激情在线| A V少妇特黄三级| 亚洲中文人妻色| 97精品在线| 91亚洲欧美激情| 香港澳门日本三级网站| 女人 A一级| 九九碰九九爱97| 少妇六月天| 91热色| 欧美国产精品久久九九| 艹少妇网站| 97人妻色| 天美传媒精品一区二区三区| 搡老熟女免费视频 | 亚洲毛片一级带毛片基地| 狠狠色色| 老司机免费视频在线91| 天天干电影| 成人八戒网站| 美腿色图| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 乱伦日本色图AⅤ| 色哟哟国产精品免费网址| 啊啊啊久久久视频| 日韩欧美福利视频看看| 国产 码在线成人网站| 亚洲色图国产另类| 熟妇乱伦一区二区| 久久xxxx| 欧美高潮| 国模不卡| 五十路熟女工口| 国产精品久久久久久久久久久久| 日韩人妻中文视频| 久久久久ab| 加勒比综合网| 亚洲精品 大香蕉| 亚洲欧美视| 韩日性爱av| 色999偷自拍拍| 欧美日韩中文视频播放| 亚洲综合婷婷| 色天天野狼综合社区| 一级@啪啪视频| 蜜臀亚洲中文| 啊啊啊好想要| 一二三区在线| 日本媚薬中文字幕在线| 中文字幕在线高清男人的天堂| 国产亚洲日本| 青青伊人这里只有精品| 久久大线蕉一区| 翔田千里无码一区| 中文字幕加勒比海高清无码免费视频 | 搡老女人老妇女AAA一VU麻豆| 天色综合网| 高清国产精品福利网站| 看黑人AV不卡| 成人蜜乳小视频网站| 97 亚洲 日韩 欧美 在线| 1区2区3区视频| 淫淫总合网| 日韩无码极品| 中文字幕av久久爽Av| 肏逼视频日本| 中文字幕97色| 国产亚洲精品农村妇女| 91久久国外网| 国产热RE99久久6国产精品首| 精品久久久一本一道| 国产尹人在线视频免费| 青青青在线高清视频在线一二三四区| 欧美操人| 绯色一区二区三区不卡少妇| 欧美日韩资源在线| 日韩精品一区二区日韩 | 成人午夜无码视频| 91美女小视频| 欧美日韩人人早| 黄页视频网站野外| 少妇激情一区二区三区视频| 中文无码一二三区| 久久久久久久伊人精品| 九九九九免费视频| 色婷婷视频| 成 人 A V免费视频在线观看| 超碰精品| 日本国产成人亚洲精品无码| 国产精品白丝| 九九九九精品一区| 天天综合色| 在线播放成人高清免费视频| 人人操人人射人人干| 操一区| 亚欧高清| 天干天干天干天天做| 亚州少妇| 久久精品国产亚洲AV片多多| 日韩精品午夜操呦呦不卡影院| 九九玖玖精品| 欧日a| 一二三区操逼国产91| 爱妻综合网| 国色天香av| 欧美日韩性爱无码| 操国产逼| 日日躁天天躁狠狠躁| 91色爽欧美| 亚洲精品视频在线播放| 欧美中文字幕日韩在线| 天天综合网~91| 国产精品久久久777| 亚洲第一综合| 黑人操一区二区| 午夜精品久久一区二区| 91麻豆天美国产欧美高潮| 天美一二三在线观看Av| 99热91| 秋霞蝌科网日本一区| 婷婷伊人五月| 中文字幕制服诱惑| 日夜尻逼网| 97天天操天天干| 殴美牲| 免费久久精品麻豆一区二区av| 亚洲 欧美 日韩 国产一区二区 | 国产99 中文字幕日韩小视频| 综合激情二| 欧州91高潮| 成人精品久久| 超碰到97情色| 色超碰综合| 欧美综合加勒比在线| 精品视频久久久久九九九九9999| 青草青草久热| 亚一综合久久久久久久久久| 国产午夜福利专区综合| 久久久久久9| 亚洲91色| 日本天天干天天操一区| 人人妻人人爽人人精品| 亚洲好色人妻| 欧亚韩国999| 色悠久久久av| 日本黄色XXX| 日本高清熟女久久一区| 97欧美日韩中文| 西西美女视频网| 操亚州| 日本精品性生活久久久| 青娱乐大香蕉| 好舒服视频| 一区二区视频你懂的| 久久久久久波多野吉衣高潮| 久久久性爱视频| 伊人久久大香线综合无码| 91视频成人福利网站在线一区| 性欧美另类高清| 欧美少妇大量自拍视频在线观看| 久久国产99精品72福利| 亚洲AV资源| 鸥美插入视频| 老熟妇一区二区三区啪啪| 精品久久九| 97超级色碰碰| 97资源站日韩| 亚洲天堂男人天堂| 欧美18老人禁| 熟女五十路一区二区三| 操逼视频免费日韩无码| 久久久久久久久久8888| 九九内射在线| 亚洲色性情三级| 九一综合网| 深夜激情| 国产日韩精品suv| 无码天天操| 国产又爽又黄| 嗯嗯,啊啊,国产精品| 狠狠干精品一二三四五六2022| 欧美变态激情网| 91日韩网站| av毛片aaaaa免费看| 精品中文字幕第一页| 十八禁成人网站在线观看| 欧美日韩999| 欧美三级一级| 欧亚日韩综合精品国产| 日韩精品 欧美激情| 13小男生GAY自慰脱裤子| 九九干| 免费视频无码| 日本精品性生活久久久| 凹凸 69堂 在线播放| 狠狠婷婷亚洲中文综合久久| 国产 亚洲 丝袜 制服| 天天干一干| 一本一首道人妻少妇免费久久| 精品国产乱码久久久影院| 日本影视久久免费| 色色色色电影网| 国产农村妇女精品一| 日本不卡免费二区| 成人av在线播放| 久久99精品视频| 97久久免费| 91丝袜视频在线观看| 久久av一级av少妇av高潮 | 精品人妻中文字幕高清| 日韩AV无码中文一区二区| 超碰久久中文| 欧美色交| 伊人网综合在线视频| 污到发麻的视频 国产| 4tube欧美女厕所| 国产AV色黄看到爽| 久久熟女人| 婷婷8月天青娱乐| 手机在线播放国产福利| 99啪啪视频| 欧美色网络| 久久久精品国产亚洲AV无码| 中 文字幕一区二区三四 五 区日 日 骚| 清纯唯美综合| 日本亚洲熟女视频| 91超碰碰在线| 中文字幕精品一区欧美| 67194无码不卡| 精品国产AV一区天美传媒| 亚洲精品a人片在线观看视| 91美女在线看| 国内毛片欧美香蕉精品| 亚洲欧洲偷拍一区| 亚洲丝袜在线观看| 精品一区二区成人动漫| www. 男人天堂成人在线| 色视频蜜乳| 亚洲AV乱码专区国产噜噜亚洲| 欧美激情1区| www.色五月| 极品少妇久久久| 97最新在线播放视频| 夜夜做夜夜爽精品视频| 国产成人手机视频激情| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 欧亚性爱在线视频| 中文字幕日韩综合| 亚洲se91| 超碰亚洲欧美日韩无| 91bbb| 日本曲间由美性生活片| 久久一区二区三区四区五区| 97超碰色五月| 国产精品不卡av免费在线观看| 日韩一区二区精品视频| 九九九九精| 97爱免费插| a片 xxxx受爽视频| 青青草十区九区爱夜| 亚洲精品白浆高清久久久久久| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 熟妇艹鸡八| 超碰色男人操熟女| 99re在线视频国产| 自偷自拍的亚洲视频| 日骚逼视频| 久久大香蕉手机高清视频| 亚洲一区二区三区在线激情| 99青青草国产视频| 人妻中文字幕日韩电影| 亚洲丝袜二区在线| 极品色社| 日韩操逼性鲍| yazhouzaixian| 人妻丝袜无 码视频专区| 97亚洲综合影院| 蜜臀久久在线视频| 国产精品自产拍在线观看社区| 国产一区二区在线看| 96精品在线| 国产三级资源在线观看| 日日AAvv| 99久久久无码| 91操人| 久久久久久97| 亚洲熟女一区| 99色| 亚洲第一精品在线视频| 蜜区区视频79| 日韩/97| 午夜国产成人福利视频 | 国产盗摄美女如厕大神作品在线观看| 亚洲图片欧洲图片aⅴ| 96精品久久| 亚洲诱惑| 超碰三级秋霞| 国产精品自在自拍视频| 欧美男人天堂| 青青草华人在线欧美在线| 91亚·色| 欧美亚洲中文字幕| 激情黄色片在线观看| 91精品在线播放| 丝袜无码a片| 裸体美女免费看网站青草| 天天操天天射天天日| 夜夜欧美| 人人九九精| 亚洲国成人情色好看电影| 色婷网| 日本精品无码三级网站| 精品人妻一二三| 日本2020一区二区| 亚州中文字幕超碰97| 综合色图亚洲欧美| 97任你吞精| 欧美一区二区三区入口| 人妻一区二区三区四区视频| 日产精品久久久一区二区| 欲香欲色天天天综合和网| 久久久久久久一级黄色打同平台| 久草精品国产蜜臀| 26uuu欧美| 操逼逼无码| 乳欲人妻办公室奶水| TS人妖另类精品视频系列| 亚洲第一页色网| 日本免费一区二区不卡 | 日韩av免费一级电影| 日韩大香蕉| 九九热av| 少妇的嫩逼图片| 久久天堂网| 99日免费视频中文字幕| 乱老熟女一区二区三区| 日韩少妇丰满亚洲| 国产精品视频电影| 久草综合京东| 国产视频三区四区| 日韩99神马视频播放片在线播放| 激情99| 99在线免费观看| 六月色婷婷| 天天做天天爽| 日韩欧美视频青青| 丁香五月激情综合| 五月丁香网站| 亚洲男人天堂2019| 欧美精品四区| 混色激情av| 性感女人网页在线观看视频| 天天欧美色| 一区久久久二区| 天天干天天日天天射黄色大片 | 97超碰欧美精品| 天天操天天舔| 91人人| 欧美夜夜草视频| www.99色| 色婷婷激一区二区三区| 欧美人妻一区| 久久亚洲婷婷| 色97| 极品少妇99| 91激情综合| 久久成人东京热人妻| 少妇淫妇久久久久久久| 少妇综合| 香蕉黄色一级视频| 国产精品无码论坛| 国产激情久久久| 欧美少妇大量自拍视频在线观看| 肥臀熟女福利视频一区二区| 日韩78m视频| 久久久久深夜无码| 日韩一卡二卡三卡| 亚洲人成网站7777| 亚洲精品无码久久AV| 久久久夜夜嗨免费视频| 亚洲色图91欧美日韩| 99九九久久| 亚洲 中文 欧美 日韩 在线| 一本久道久久综合狠狠爱一密臀精| 欧美天天| 极品美女福利在线观看| 狠狠穞A片一區二區三區| 91+欧美| 91熟女少妇| 久久精品一区二区| 性色生活片久久毛片婬片免费放女人一级毛片 | 偷拍欧美综合| 久久久久久久久久精| 另类欧美综合| 国内毛片国产欧美拍| 91狼人| 操人妻逼91| 日韩无码第3页| 高潮的A片激情扒开一区| 久操热| 久久久∴| 欧美色就是色| 精品v日韩欧美国产| 理论久久婷婷网 8| 蜜臀无码一区二区| 日韩特级毛片免费观看全集| 一级久久性爱视频| 亚洲国产一级中文综合久久天堂在线免费观看| 久久精品高清无码一区| 伊人天天久久动态图| www网站黄| 久久鲁夜| 国产精品高潮久久久无码| 久久精品国产72国产精品福利| 青青草视频爽一爽| 青青在线视频免费| 日韩丰满熟妇| 有码色中文字幕在线观看| 国产精品乱码久久久| 狠狠色噜噜狠狠狠狠狠色综合久久| 亚洲情色五月天 | 欧美日韩岛国大片在线观看| TS人妖另类精品视频系列| 日本国产欧美高清在线| 久久亚洲不卡一区二区三区| 亚洲综合九九| 大香蕉五月天婷婷| 欧洲大香蕉| 国产高清无码一区三区二区| 亚洲欧洲视频小说在线观看| 欧美色97| 精品一区二区成人动漫| 91无码人妻| 精品午夜福利国产一区二区在线观看| 久久一区无码| 亚洲九九九| 东京热激情视频一二三区| 久久黄黄黄| 日本日逼视频网| 亚洲天堂一区二区| 91天堂色男人的天堂| 国产精品一区二区后入| 国产亚洲精品久久久久小 | 国产家庭乱伦性爱视频| 96AV久久久| 国产免费一区2区3区| 91久久精品蜜臀| 久久国产乱子伦精品免费女,网站| 青青草天天亲夜夜操网| 久久久久深夜无码| 妺妺跟我一起洗澡没忍住| 亚欧美综合| 久久性爱大全| 97资源站国产精品| 成人在线视频网| 蜜臀AV一区二区三区| 狠狠色综合网| 亚洲激情综合另类| 青草青青久久久久久国产| 91综合在线| 午夜性| 精品国产91av一区二区三区| 日韩中文字幕2020| 萌白酱自拍视频| 一区二区播放| 91蜜桃婷婷狠狠久久综合9色| 天天射天天色成人| 欧美午夜精品久久久久久3D| 午夜性刺激视频免费观看| 青青色综合| 久久91视频| 五月天人妻综合| 东京热亚洲一区二区| 免费AV中文网在线观看| 四虎免费看黄| 色欲日韩欧美在线一区| 欧美日韩制服| 老女人日韩美91| 正在播放国产精品一区| 久久精品91| 久久精品人体AV| 永久免费av无码网站国产app| 欧美亚州色的图| 日本九九九九| av爱爱爱| 大香蕉青青9| 亚洲高潮少妇| 91深夜夜| 综合网亚洲在线| 尤物av网站| 日本精品第一视频在'| 校园春色五月天| 狠狠躁天天躁日日躁| 日欧操屄视频| 97超碰磁| 天堂亚洲精品| 久久熟妇五十路一区| 国产在线视视频有精品| 欧美成年人性爱视频免费观看| 蜜臀无码一区二区| 久久国产精品91| 成人亚欧免费视频| 国产精品久久久久久久久久久久| 伦理弟一页| 日韩AV电影网站| 岛国艾薇凹凸视频天堂| 国产精品女aA片爽爽视频| 国产女人9999| 男人的天堂.com| 国产99 中文字幕日韩小视频| 中文字幕人妻资源在线| 性色国产东北露脸精品视频| 欧美成人色| 人妻少妇精品一区二区三区| 国产传媒操逼视频| 97香蕉网| 91日产桃蜜| 国产乱码久久久久久| 国产精品制服丝袜中文字幕日韩一区二区三区 | 夜夜欧美 | 成人性爱电影网| 涩涩这里只有精品视频| 亚洲欧美色图片| 天天久久久久久| 无码操逼天堂| 国产丰满熟夫69mpp| 九色 人妻 大香蕉| 久久激情五月| 人人干人人操人人..com| 女人与公拘交酡2020视频| 久久二| 亚洲 欧美 日本 国内 首页| 久久亚洲色图中文字幕| 91夜夜蜜桃臀1区2区3区| 蜜臀久久99精品久久久老,,| www.色操逼| 操逼视频免费日韩无码| 亚洲一区二区三区中文字幕| 久久性爱视频免费看| 欧美综合亚洲综合| 欧美亚洲手机在线| 欧亚 另类 久| 国产夫妻性生活视频| 91网站在线播放| 亚洲熟久久| 欧美影音在线| 99re99视频在线免费观看| 中文在线久久字幕| 亚洲熟妇熟在线电影视频| 亚洲男人的天堂一区二区| 久草久热| 欧美一二三区四五区| 欧美色九九九| 亚洲综合888| 国产AV天美| 天天看特黄的免费网站| 日夜干射色啊| 国产日韩欧美| 精品人妻伦一区二区三区久久| 九九九九九精品十六| 狠操91,com| 欧美综合自拍亚洲综合图| 亚洲骚男同com| 久久久999国产| 亚洲熟女av中文字幕| 久久久久久久精| 亚洲无码国产探花在线观看| 国产精品亚洲色婷婷久久久| 亚洲一区日韩精品| 人妻 中文 日韩| 一区二区娱乐网站| 日韩高潮一区| 任我爽视频在线观看|