发布react项目到linux服务器,nginx上部署react项目的实例方法
測試項目:react-demo
克隆你的react-demo項目到服務(wù)器上(默認使用Github管理我們的項目)
如果需要,請安裝項目環(huán)境,比如:node.js,yarn等
進入項目目錄,執(zhí)行npm run build,開始構(gòu)建項目
構(gòu)建成功之后,會生成一個dist文件夾(取決于你的項目配置),這個文件夾里的靜態(tài)文件,就是我們的項目的訪問文件了,
配置Nginx,Linux服務(wù)器是進入到:/etc/nginx/sites-enabled,然后以管理員身份,新建一個你的react項目的配置文件,比如:react-demo.conf,然后,編輯文件:
server {
listen 8080;
# server_name your.domain.com;
root /home/root/react-demo/dist;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 20M;
keepalive_timeout 10;
}
執(zhí)行sudo service nginx restart重啟Nginx服務(wù),
注意事項:
1、配置域名的話,需要80端口,成功后,只要訪問域名即可訪問的項目
2、如果你使用了React-Router的browserHistory 模式,請在Nginx配置中加入如下配置:
location / {
try_files $uri $uri/ /index.html;
}
原理,因為我們的項目只有一個根入口,當(dāng)輸入類似/home的url時,找不到這個頁面,這是,nginx會嘗試加載index.html,加載index.html之后,react-router就能起作用并匹配我們輸入的/home路由,從而顯示正確的home頁面,,如果browserHistory模式的項目沒有配置上述內(nèi)容,會出現(xiàn)404的情況。
可參考react-router文檔:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
總結(jié)
以上是生活随笔為你收集整理的发布react项目到linux服务器,nginx上部署react项目的实例方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux mysql更改生效_linu
- 下一篇: skyeye linux qt,ARM仿