每日一句 ( 20241222 )  

Rivers know this: there is no hurry. We shall get there some day.

河流知道這一點(diǎn):無(wú)需匆忙。我們終有一日會(huì)到達(dá)。———— A. A. Milne

LNMP單機(jī)高并發(fā)的簡(jiǎn)單優(yōu)化

小項(xiàng)目使用單臺(tái)機(jī)器,2核4G,使用CentOS+Nginx+MySQL+PHP環(huán)境搭建的搶購(gòu)活動(dòng)。前臺(tái)Vue+Laravel框架提供API及后管,使用Redis防止超售問題。優(yōu)化前使用默認(rèn)的lnmp配置,活動(dòng)開始后基本卡死,php-fpm日志記錄到線程數(shù)量不夠、CPU占用90%以上。慢日志中發(fā)現(xiàn)laravel include過多文件導(dǎo)致磁盤IO過高,網(wǎng)站請(qǐng)求變慢,進(jìn)而導(dǎo)致nginx日志中過多的499狀態(tài)碼(客戶端主動(dòng)關(guān)閉),用戶體驗(yàn)效果很差...

在Nginx中將http://zh30.com:443跳轉(zhuǎn)到https://zh30.com:443

有小伙伴反應(yīng)我博客半年沒更新了,借此機(jī)會(huì)趕緊水一篇。另有小伙伴求助于我一個(gè)這樣的問題,說在使用http://協(xié)議外加443端口訪問時(shí),nginx會(huì)報(bào)錯(cuò)提示:“400 Bad Request The plain HTTP request was sent to HTTPS port”這個(gè)錯(cuò)誤是指請(qǐng)求錯(cuò)誤,http協(xié)議的請(qǐng)求被發(fā)送到了https的端口。在Nginx中,不能在一個(gè)端口同時(shí)處理http和https請(qǐng)求。按正常瀏覽來(lái)說也不可能會(huì)...

使用Nginx反向代理部署laravel和history模式的Vue項(xiàng)目[更新]

[2019.12.2 更新] nginx.conf里要加上對(duì)laravel的靜態(tài)文件目錄的轉(zhuǎn)發(fā)(這里假設(shè)我的靜態(tài)文件在public/static下)、修改vue的nginx配置。我們以在我本地的開發(fā)環(huán)境為例,windows7+nginx+Vue+Laravel5,假設(shè)我想使用的域名是zh30.com。想達(dá)成的效果:我們想直接訪問時(shí)使用Vue開發(fā)的單頁(yè)面應(yīng)用index.html,做為我們的前臺(tái)交互,且在Vue中使用history路由模式。后臺(tái)和接口使用laravel框架進(jìn)行...

lnmp集成環(huán)境運(yùn)行l(wèi)aravel報(bào)open_basedir restriction in effect的錯(cuò)誤

使用lnmp集成環(huán)境在運(yùn)行l(wèi)aravel時(shí)顯示空白,打開php.ini的display_errors后顯示:open_basedir restriction in effect…. is not within the allowed path…的錯(cuò)誤。這是服務(wù)器把include權(quán)限限制在了open_basedir所設(shè)置的目錄。檢查php.ini發(fā)現(xiàn)open_basedir確實(shí)是限制在項(xiàng)目的public下,所以在包含上級(jí)其它目錄中的文件時(shí)會(huì)出錯(cuò)。由于php.ini中檢查過open_basedir是被注釋的,所以...