【知識分享】如何去部署伺服器

小鑫fwq發表於2023-03-25

如何去部署伺服器
1、建立使用者
建立主機後,預設有一個root賬戶,擁有所有許可權。首先需要需要給root賬戶設定密碼。設定密碼通常有很多規則。而且我們老百姓設定密碼通常太簡單了,某些程式分分鐘就給破解了,伺服器的安全問題更加要注意了。因為root具有所有許可權,掌握著整臺伺服器的生殺大權,萬不可落到別人手裡。因此我們部署服務的時候,通常不用root賬號去配置。而是重新設定一個賬號去配置。通常是一個服務一個賬號,單獨管理。

2、安裝執行環境

像Nodejs Python 這種動態語言而言,必須要有相應環境才能執行。因此需要配置執行環境。而 C、C++、Golang 、Rust 是靜態語言,需要先將專案編譯成二進位制檔案,再直接在伺服器執行。因此靜態語言需要配置編譯環境,但一般不在伺服器配置,而是在其他地方配置編譯環境,比如在docker中,伺服器只需要執行編譯後的二進位制可執行檔案即可。即便是使用nvm安裝node執行環境,nvm在正式的生產環境也是很少使用,因為nvm有很多弊端,比如,nvm將程式安裝在了使用者目錄,這就意味著其他使用者無法使用。從而給後期的維護造成麻煩。因此,可以參考node官網是如何安裝的。

3、把專案同步到伺服器

手動部署,比如透過ssh sftp等把檔案拉過來,或者使用git clone下來。這些都是手動部署,效率不高。而現在,越來越多專案在使用自動部署,例如jenkins進行自動化部署,還可以進行自動化測試。可以在docker中安裝。kubernetes 是用來管理docker叢集的。

4、安裝程式管理程式

當我們在使用npm start 啟動程式時,預設是在前臺執行的,一旦使用Ctrl + C幹掉當前的程式回到命令列時,服務也就跟著掛了。因此,我們想讓程式在後臺執行,我們可以在命令列的末尾加上 & 比如 npm start &儘管程式在後臺執行了,但是管理這個程式卻有不小的麻煩。因此推薦使用專門的程式管理程式 比如 使用node寫的pm2 和使用Python寫的supervisor。儘管可以使用pm2 logs來檢視日誌,但是也有專門的日誌服務,來方便我們處理日誌,比如elastic。

5、使用ip和埠除錯,沒問題,使用nginx作為反向代理
先使用IP地址和埠組合進行除錯,需要注意的是,root使用者才有許可權取得1024埠以下的埠,而其他使用者是沒有這個許可權的。而一般我們寫程式也不要指定80埠,而是使用反向代理,使用nginx 將監聽的80埠,對映到程式指定的埠處理。在Ubuntu環境下我們可以使用apt-get 來安裝 nginx 服務,而使用nginx需要在nginx的配置檔案配置這個服務埠對映關係。其配置檔案路徑在 /etc/nginx/config.d/目錄下,不存在是可以建立一個default.conf寫入配置。可以使用 nginx -t來檢測配置是否有問題。配置完成之後需要使用sudo nginx -s reload重啟服務,以使配置生效。在node程式中,我們使用了環境變數PORT來指定埠,在自動化配置時,修改埠時或許不太方便,我們也可以使用專業的配置服務來處理這些事情。比如使用consul來管理配置服務,可以做到配置的集中化。


伺服器是非常重要的網路裝置,在建立網站時,就必須要有伺服器。壹基比小鑫三零零五三一六九一二提醒大家,在擁有了伺服器以後,還必須要部署伺服器。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70013663/viewspace-2941633/,如需轉載,請註明出處,否則將追究法律責任。

相關文章