Openresty部署的問題解決

有個SPA項目,UI和API都使用Python默認的Web Server,感覺不太好。今天嘗試了一下將二者分離,使用openresty作為Web Server和Reverse Proxy(這里把Openresty當(dāng)作nginx用了,沒有寫lua代碼,后續(xù)有需求的話,可以考慮用lua)。遇到了一些問題,經(jīng)過一番Google,最終解決。

問題1:React-router不工作

在React-router中定義的路由不起作用。nginx總是報404。

解決:使用try_files。當(dāng)在靜態(tài)文件中找不到路由后,返回index.html,然后react-router就起作用了。

location / {
            root /mnt;
            index index.html;
            # Allow react-router to work if URI cannot be found as static file.
            try_files $uri /index.html;
        }

問題2:CSS作為靜態(tài)文件加載了,但沒起作用

同樣的Webpack編譯后的代碼,在Python的Web Server中CSS可以加載并起作用,但nginx就是不起作用。百思不得其解,于是跟蹤了所有的CSS加載過程,發(fā)現(xiàn)CSS加載時Content Type為“text/plain",不是”text/css“,所以才想起是MIME type的問題。

解決:添加include mime.types;后問題解決。Openresty中不會加載默認的mime.types,需要自己手動添加。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容