Linux部署Node服務 2 部署過程

2021-08-15 05:57:13 字數 2502 閱讀 3879

在已經有前端專案的前提下,走部署這一步(即:最後上線)

將網域名稱分為多個二級網域名稱

網域名稱備案 (國內網域名稱都需要備案使用,雖然國外網域名稱不用備案,但功能受限或不能上線,所以建議使用國內網域名稱並備案)

在自己的電腦(開發主機)上通過ssh來連線上伺服器

通過遠端命令來控制遠端伺服器,配置node等相關服務

ssh和ssh客戶端

node服務

mongodb資料庫

nginx前置服務

伺服器的安全防護措施:iptables,fail2ban

對使用者的訪問配置ssl證書,用於保護伺服器不被外部隨意篡改

對本地開發主機要上傳資料時,需要額外配置ssl加固證書

為了安全起見,不在本地主機和遠端伺服器上互傳資料,而是通過git作為媒介,本地開發完後提交**到git倉庫,本地通知伺服器上獲取git新資料

為了實現上面的需求,可以在本地主機,遠端伺服器上都安裝pm2

使用nginx占用80網路埠

對於不同的訪問,使用nginx**對應請求到對應埠

將主網域名稱解析為多個二級網域名稱,主機下的不同網域名稱分配不同的二級網域名稱

2、伺服器系統

- 以ubutu 14.04為例

個人備案按照阿里雲的提示步驟一步步進行就好了,一般一周左右就可以搞定

3、登入伺服器

ssh root@123

.22.235

.1 (ip為阿里雲主機的公網ip)

password:*** (為購買伺服器時設定的root密碼)

# 安裝nvm (根目錄中)

cd /

sudo wget -qo- | bash

# 重啟cmd來檢查是否安裝成功(當輸入以下命令後顯示出nvm表示安裝成功)

command -v nvm

# 安裝node (nvm install version) version為node版本號

nvm install 8.9

.3# 安裝完後檢查

node -v =>8.9

.3npm -v => 5.6

# 伺服器中安裝ssh服務

sudo apt-get install openssh-server

# 檢視服務是否啟動

sudo ps -e|grep ssh // (如果能看到sshd,代表服務已經啟動了)

//如果沒有啟動:sudo service ssh start (啟動ssh服務)

# 修改ssh配置檔案

sudo vim /etc/ssh/sshd_config // (進入到對sshd_config的編輯模式,注:vim需要安裝使用)

在permitlogin widthout-password用#注釋掉,

再新增一行:permitrootlogin yes

輸入:wq儲存並退出

# 檢視伺服器ip

ifconfig //在inet addr後面顯示的就是伺服器ip

# 使用putty遠端連線伺服器

輸入密碼進入到伺服器控制面版

(注:root為你裝系統時設定的登入使用者名稱)

對於遠端伺服器的安全性可以的解決方案

1. 改遠端服務埠

2. 在使用了本地私鑰進行無密碼登入的情況下,可以禁止permisstrootlogin

- 例:改遠端服務埠

# 開啟ssh的配置檔案進行編輯

sudo vim /etc/ssh/sshd_config

# 系統會提示輸入密碼

# 在port處修改埠號

:wq! //完成編輯並儲存退出

# 以winscp為例

# 2、新建會話

# 3、輸入伺服器主機位址及埠,以及登入使用者名稱

# 4、根據提示輸入密碼連線

# 5、連線成功後——左邊為本機目錄,右邊則為伺服器資料夾目錄

# 6、新建乙個www資料夾用於存放**專案(以後的專案都可以放到此目錄下)

sudo mkdir www

cd www

# 7、檢視資料夾許可權(預設只有root使用者可以讀寫該資料夾,所以當前使用者需要修改資料夾必主)

chown user www #user為當前使用者的使用者名稱

# 8、當前使用者有了www的讀寫許可權後,使用express建立乙個簡單的node服務應用

express test

cd test

npm install

npm start

# 9、在瀏覽器中訪問伺服器ip:port,當能夠訪問時表示此應用搭建完成

如何用PM2部署高版本node

現在pm2跑著的專案的node版本較低,而最新的專案使用到了 koa框架,koa對於node的版本要求較高,我們將node公升級到了較高版本,這樣用pm2起的時候就會出錯,按照 一步步來,先pm2 ecosystem 多出乙個 檔案 ecosystem.config.js.對其進行配置 module...

linux8 4 部署 nginx服務

1 安裝gcc yum install gcc c 2 安裝pcre pcre devel nginx的rewrite模組和http核心模組會使用到pcre正規表示式語法。這裡需要安裝兩個安裝包pcre和pcre devel。第乙個安裝包提供編譯版本的庫,而第二個提供開發階段的標頭檔案和編譯專案的源...

Node實戰 10 部署和開發

10.1 部署 埠號 80 基本 使用無限迴圈執行指令碼。使用tee命令將標註輸出寫入到日誌檔案中。bin bash while true do node js tee a var server logs important.log done 級別 ninjia 10.2 多處理器部署 使用 使用h...