在已經有前端專案的前提下,走部署這一步(即:最後上線)將網域名稱分為多個二級網域名稱
網域名稱備案 (國內網域名稱都需要備案使用,雖然國外網域名稱不用備案,但功能受限或不能上線,所以建議使用國內網域名稱並備案)
在自己的電腦(開發主機)上通過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...