如何在一台新的阿里雲伺服器上部署乙個後端服務

2021-10-01 12:57:55 字數 1467 閱讀 1368

記錄一下第一次在一台新的阿里雲伺服器上部署乙個後端服務的過程

選擇新的阿里雲賬號,登陸以後選擇乙個沒有使用過的伺服器

詢問管理員伺服器登陸的賬號的密碼,或者修改伺服器的登陸密碼。

一台從來沒有使用過的伺服器,使用xshell是連線不上的,用密碼登陸不上,xshell提示伺服器要求用授權過的客戶端金鑰登陸。

這時候在阿里雲網頁控制台中可以使用雲命令列登陸伺服器(需要使用賬號管理員手機簡訊驗證碼)

發現伺服器上只有9個程序

修改伺服器登陸密碼

停止作業系統執行

載入已有的作業系統映象

修改伺服器網路安全組規則,新增入方向:服務埠和80埠為通過

使用xshell登陸伺服器。

部署服務**到新的伺服器上,並重啟服務

使用yum安裝nginx

使用新的網域名稱解析

ping一下新的網域名稱看網域名稱解析是否可用

在新的伺服器上修改nginx配置,為新網域名稱新增http配置

使用postman測試服務可用性

服務監聽了多個埠

而且服務對外公布的api中,從根目錄開始前有一部分路徑是做服務區分的,也就是說後端tornado的服務路徑只是對外公布的api中的後半部分,同時nginx需要匹配api字首,把字尾作為埠路徑;nginx是通過proxy_pass關鍵字和絕對路徑**來實現這個需求,具體參看

在nginx中配置proxy_pass****時,如果在proxy_pass後面的url加/,表示絕對根路徑;如果沒有/,表示相對路徑,把匹配的路徑部分也給**走。

proxy_pass使用127.0.0.1進行**時url後要加/

proxy_pass配合upstream節點進行多埠**時,/也是新增到proxy_pass中的url後面

upstream關鍵字中定義多機器時只能(ip or domain)[+port]使用,port可選,ip和domain二選一,還可以新增負載均衡策略配置,但是不能指定訪問的路徑。所以proxy中使用upstream名字的時候,/直接新增到upstream名字後面,而不是新增到upstream節點中

解決nginx**問題以後,使用postman和http協議就可以呼叫服務api了,但是使用https訪問不了,postman請求沒有response,以為是ssl證書的問題,於是去申請免費證書

才發現原有的阿里雲賬號上已經申請滿了20個免費證書,只能另外找賬號申請

重新找了乙個賬號以後,成功申請到乙個免費的證書,繫結網域名稱的時候,由於網域名稱不在這個賬號下,需要進行網域名稱驗證,要在原來的網域名稱的網域名稱解析中新增乙個新的網域名稱解析記錄(網域名稱驗證頁面會給解析方式)

修改nginx配置檔案,新增https配置,具體參考阿里雲文件

途中發現rz命令不能使用,沒法上傳證書到伺服器上

重啟nignx服務

知道是linux防火牆阻止了443埠的訪問

到阿里雲網頁控制台上修改網路安全組配置,新增443埠訪問

使用postman驗證介面可用性,https介面可用

在一台新的ubuntu伺服器上部署node實錄

wget tar xvjf node v14.15.4 linux x64.tar.xz mv node v14.15.4 linux x64 node使用如下指令進入 node 的 bin 資料夾並獲取其路徑 cd node bin pwd我這邊顯示 bin 目錄的位置是 home ubuntu ...

如何在一台伺服器上部署多個專案而共用乙個網域名稱

如何在一台伺服器上部署多個專案,並且共用乙個網域名稱 1 將nginx部署到linux下的 usr local資料夾下 2 在nginx conf資料夾下建立乙個資料夾叫assist,在assist資料夾下建立配置檔案assist.conf assist.conf的配置如下 server 迭代二前端...

如何在阿里雲伺服器安裝Alink

我前面寫文章介紹了如何在本地安裝alink 本文會介紹如何在阿里雲伺服器上安裝alink,我們可以隨時隨地通過web進行訪問,也可以分享給朋友們一起使用。wget bash anaconda3 2019.10 linux x86 64.sh b f p opt conda export path o...