sftp
安裝 sftp 工具
這里我選擇的是名字是sftp的工具
在Visual Studio Code 中按Ctrl + Shift + P
並輸入
>extensions install extensions
選擇sftp
,安裝並重新加載
配置 sftp
在工作空間中,按Ctrl + Shift + P
並輸入
>sftp config
這個指令會在.vscode
中添加sftp.json
文件
按需求修改其中的項目
{
"host": "", //服務器ip
"port": 22, //端口,sftp模式是22
"username": "", //用戶名
"password": "", //密碼
"protocol": "sftp", //模式
"agent": null,
"privateKeyPath": null,
"passphrase": null,
"passive": false,
"interactiveAuth": false,
"remotePath": "/root/node/build/", //服務器上的文件地址
"context": "./server/build", //本地的文件地址
"uploadOnSave": true, //監聽保存並上傳
"syncMode": "update",
"watcher": { //監聽外部文件
"files": false, //外部文件的絕對路徑
"autoUpload": false,
"autoDelete": false
},
"ignore": [ //忽略項
"**/.vscode/**",
"**/.git/**",
"**/.DS_Store"
]
}
注意,其中的注釋不能保留
使用
按Ctrl + Shift + P
並輸入
>sftp Upload
即可上傳到服務器中。
類似的指令還有:
指令 | 功能 |
---|---|
SFTP Upload | 上傳到服務器,沒有則創建,有則覆蓋,多則忽略 |
SFTP Download | 下載到本地,規則同上 |
SFTP Sync To Remote | 同步到服務器,多則刪除 |
SFTP Sync To Local | 同步到本地,多則刪除 |
pm2 自動重載
安裝 pm2
npm i -g pm2
輸入
pm2 -v
如果和下面一樣出現版本,則安裝成功
[root@VM_0_16_centos ~]# pm2 -v
2.9.1
如果沒有出現版本,而是
[root@VM_0_16_centos ~]# pm2 -v
-bash: pm2: command not found
則可能是npm的環境變量沒有配置好,參考CentOS 中永久修改環境變量
通過pm2啟動node.js服務並監聽文件變化時重自動啟
使用指令
pm2 start server.js --watch
成功則顯示如下:
總結
-
如果你是希望編寫的代碼
保存
后,自動上傳、並且不用再切換到xshell
中去操作遠程端
。那么上面的方法已經實現了。 -
但是事情往往沒有那么簡單,
sftp
的保存並上傳功能,只能監聽到保存
這一動作,而無法監聽到構建工具構建出來的文件。
如:
編寫
typescript
,使用tsc -w
監聽保存,自動編譯,你會發現,sftp
自動上傳的只有你保存的ts代碼
,而不會自動上傳tsc -w
自動編譯出來的js代碼
。
這個情況我還沒找到解決方法,如果你知道,麻煩大佬留言說一下。XD