① rap2在linux下前端和後台服務如何啟動可以讓服務進程在後台運行
我是按github的文檔搭建的,後端用使用pm2管理
npm run dev 是測試用的 就是看你配置文件有沒有配對 會不會報錯。
沒問題的話 就把配置寫到 src/config.prod.ts里,然後用 npm run build 構建一下 會生成一個dist文件夾,然後在應用根目錄運行 npm start 命令 就啟動了
pm2 list 可以查看啟動的應用,pm2 的命令自己搜一下 挺多的
前端,npm run build 會生成一個 build 文件夾 把 build下面的內容拷貝到 nginx 下就可以了
② 如何讓nodejs在linux後台運行
例如nodejs的主文件是index.js:
1.安裝forever(pm2)模塊,進行啟動
說明:forever是一個簡單的命令式nodejs的守護進程,能夠啟動,停止,重啟App應用。forever完全基於命令行操作,在forever進程之下,創建node的子進程,通過monitor監控node子進程的運行情況,一旦文件更新,或者進程掛掉,forever會自動重啟node伺服器,確保應用正常運行。
命令:
npminstall-gforever
foreverstartindex.js
2.用nohub命令
說明:將任務放到後台,但是依然可以使用標准輸入,前台能夠接收任何輸入,重定向標准輸出和標准錯誤到當前目錄下的nohup.out文件,即使關閉xshell退出當前session依然繼續運行。
命令:
nohupnodeindex.js&
③ linux install pm2-web自動roll back為什麼
1、最重要的一點,如果目標文件存在,cp會先清空文件後往裡寫入新文件,而install則會先刪除掉原先的文件然後寫入新文件。這是因為往正在 使用的文件中寫入內容可能會導致一些問題,比如說寫入正在執行的文件可能會失敗,比如說往已經在持續寫入的文件句柄中寫入新文件會產生錯誤的文件。而使用 install先刪除後寫入(會生成新的文件句柄)的方式去安裝就能避免這些問題了;
2、install命令會恰當地處理文件許可權的問題。比如說,install -c會把目標文件的許可權設置為rwxr-xr-x;
3、install命令可以列印出更多更合適的debug信息,還會自動處理SElinux上下文的問題。