Linux(Centos)服務器配置node項目
以阿裏雲服務器,CentOS系統為例
上一節已經提到怎麽安裝nodejs,以下是以vue項目為例
步驟:
(1)首先安裝vue腳手架@vue/cli, 官網參考
vue-cli3.x
1 [root@lunix ~]# npm i @vue/cli -g
vue-cli2.x
1 [root@lunix ~]# npm install -g @vue/cli-init
默認文件會安裝之前下載的node目錄node/node_module, 執行命令會安裝到node/bin
比如這裏將node下載至/usr/local/src下
找到bin目錄,查看可發現多出vue命令
題外話:在react腳手架中create-react-app可以不用全局安裝,使用npx可直接下載模板, 但@vue/cli如何使用暫時未找到答案
1 $ npx create-react-app my-app
此時vue並不能全局使用,需要建立軟連接到/usr/bin, 需要註意的是源文件和目標文件路徑必須是絕對路徑。
(2) 創建項目
1 $ vue create my-app
運行項目
1 $ npm run serve 2 or 3 $ yanr serve
(3)開啟端口
最後在客戶端電腦瀏覽器上訪問IP地址+項目端口號, 如:123.22.14.76:3000, 報錯如下,此時需要到阿裏雲控制臺上找到對應的服務器,添加安全組規則,步驟如下:
登錄自己的阿裏雲賬號 -----> 控制臺上找到對應的“服務器實例” -----> 進入實例“管理”頁面 ----> 找到“本實例安全組” ----> "配置規則" ----> "添加安全組規則" ----> 在彈出的窗口中輸入“端口範圍”是需要使用到的端口3000, ”授權對象“是‘0.0.0.0/0‘ , 其他默認即可。
最後,還需要在服務器中開啟該端口(默認端口80不需要), 並重啟服務
1 $ /sbin/iptables -I INPUT -p tcp --dport 3000 -j ACCEPT 2 $ service network restart
此時,可以在瀏覽器上正常訪問服務端項目。
基本配置完成=======================================================================
但是,在服務器啟動node項目時,不能關閉命令窗口(即 yarn start 或者 npm start不能停止), 此時需要用到pm2工具。
1. 安裝pm2
1 [root@lunix ~]# npm i pm2 -g
創建軟連接
1 [root@lunix ~]# ln -s /usr/local/src/node-v10.15.0/bin/pm2 /usr/bin/pm2
運行pm2會有以下幫助
2. 使用pm2
切換到項目根目錄
(1)對於koa(express)項目,直接運行腳本文件
參考簡書, 官網PM2
$ pm2 start ./www
或者
$ pm2 start app.js
(2)對於運行script腳本, 註意--左右有空格
1 $ pm2 start npm -- start
1 $ pm2 start npm --name vue-app -- run serve
// 以上命令中, 參數--name設置進程名(默認不設置時為目錄名),
// 後面的 -- 雙橫左右有空格, 後面的 run serve為 項目package.json中的scripts腳本, 當是start或test時,不用加前置 run
// 運行後得到下圖, online表示運行成功
(3)其他命令
- 停止:
pm2 stop app_name|app_id
- 刪除:
pm2 delete app_name|app_id <可刪除列表中的停止進程如: pm2 delete 1>
- 重啟:
pm2 restart app_name|app_id
- 停止所有:
pm2 stop all
- 查看所有的進程:
pm2 list
- 查看所有的進程狀態:
pm2 status
- 查看某一個進程的信息:
pm2 describe app_name|app_id
最後,有了pm2就可以在服務器上同時啟動多個項目。當然要確保不同的端口
題外話:如果需要將項目映射到同一個域名時,可設置二級域名
Linux(Centos)服務器配置node項目