如果你準備上傳項目到服務器(ftp 或者 Sftp服務器Sftp和ftp 區別、工作原理等(匯總ing)),那么開始閱讀吧,希望會對你有所幫助。
這里介紹兩種方式:
- 利用 Webstorm自帶的部署方式
- 編寫 Shell腳本的方式
方式一、Webstrom
參考 如何在Webstorm/Phpstorm中設置連接FTP,并快速進行文件比較,上傳下載,同步等操作,Sftp同理,只需要切換一下對應的類型即可,
這里寫圖片描述
方式二、Shell
提示:Linux命令大全,下面涉及到的命令這里都有。
Sftp:
先決條件:
需要解決的兩個問題:
- 自動登錄到服務器(保證腳本執行不中斷)
- 切換到服務器環境(保證操作服務器中文件)
1、自動登錄到服務器
解決方式:ssh-keygen的使用方法及配置authorized_keys兩臺linux機器相互認證,有的同學可能有多個私鑰(已經生成過Github私鑰),可以參照多個 SSH KEY 的管理 進行生成。
2、切換到服務器環境(Here Document)
解決方式:Linux Shell遠程執行命令(命令行與腳本方式)
腳本:
進入到要上傳的項目目錄中,
# 移除本地壓縮文件
rm -rf dist.tar.gz
# 壓縮文件,其中 dist為要上傳的文件所在目錄
tar -zcvf dist.tar.gz dist/
# 上傳到服務器(需要輸入密碼,如果已經進行過私鑰配置,則不用),其中/home/savoygu/gusaifei 為上傳文件所在目錄
scp -r dist.tar.gz root@47.93.xxx.xxx:/home/savoygu/gusaifei
# 登錄到服務器(需要輸入密碼,如果已經進行過私鑰配置,則不用)
# 服務器環境開啟
ssh root@47.93.xxx.xxx << EOF
# 進入目標目錄
cd /home/savoygu/gusaifei
# 解壓
sudo tar -zxvf dist.tar.gz --strip-components 1
# 移除線上壓縮文件
sudo rm -rf
exit
EOF
# 服務器環境結束
echo 上傳完成!
ftp:
參考:ftp自動上傳下載文件(Shell腳本)及ftp命令詳解
腳本(文件上傳):
進入到要上傳的項目目錄中,
ftp -n<<!
# open 服務器ip
open 47.93.xxx.xxx
# user 用戶名 密碼
user savoygu ******
binary
# 上傳至服務器指定目錄
cd /home/savoygu/gusaifei
# 要上傳的本地目錄
lcd ./dist
prompt
mput *.*
close
bye
!
提示:Linux命令大全,上面涉及到的命令這里都有。