1. 程式人生 > >Linux部署Node服務-2-部署過程

Linux部署Node服務-2-部署過程

一、node專案部署過程總結

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

1.1 域名

  1. 購買一個域名(個人練習的話,其實也可以不買,但針對微信公眾號,微信小程式的專案必須有域名備案)
  2. 將域名分為多個二級域名
  3. 域名備案 (國內域名都需要備案使用,雖然國外域名不用備案,但功能受限或不能上線,所以建議使用國內域名並備案)

1.2 伺服器

  1. 可以直接使用阿里雲,騰訊雲等伺服器
  2. 在自己的電腦(開發主機)上通過ssh來連線上伺服器
  3. 通過遠端命令來控制遠端伺服器,配置node等相關服務
    SSH和SSH客戶端
    • SSH是Secure Shell縮寫,專為遠端登入會話和其他網路服務提供安全性的協議。利用SSH協議可以有效防止遠端管理過程中的資訊洩露問題。
    • SSH客戶端: “SSH Secure Shell”、“PuTTY”、“securecrt”都是SSH客戶端,使用它們就可以在window下去連線並操作linux伺服器。

1.3 伺服器環境

  1. node服務
  2. mongodb資料庫
  3. nginx前置服務

1.4 伺服器安全防護

  1. 伺服器的安全防護措施:IPtables,Fail2Ban

1.5 訪問安全

  1. 對使用者的訪問配置SSL證書,用於保護伺服器不被外部隨意篡改
  2. 對本地開發主機要上傳資料時,需要額外配置SSL加固證書

1.6 遠端git儲存

  1. 為了安全起見,不在本地主機和遠端伺服器上互傳資料,而是通過git作為媒介,本地開發完後提交程式碼到git倉庫,本地通知伺服器上獲取git新資料
  2. 為了實現上面的需求,可以在本地主機,遠端伺服器上都安裝PM2

1.7 埠配置

  1. 使用Nginx佔用80網路埠
  2. 對於不同的訪問,使用nginx轉發對應請求到對應埠

1.8 域名解析

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

二、購買域名和伺服器及備案

2.1 域名

  • 買域名的大站:阿里雲(中國萬國)、愛名網、GoDaddy(國外)
    1、域名
  • 儘量不要選擇混合域名
  • 要麼純英文,純數字,純拼音
    2、字尾
  • 儘量使用.com,.cn域名

2.2 域名解析

  • DNSPod是一個免費的域名解析網站,可用來解析域名

2.3 伺服器選擇

1、主機
- 國外:亞馬遜 AWS、Linode、DigiOcean、Heroku(可直接部署node)
- 國內:阿里雲ECS(推薦)、青雲、UCloud、百度雲

2、伺服器系統
- 以Ubutu 14.04為例

2.4 備案

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

3、登入伺服器

ssh root@123.22.235.1  (ip為阿里雲主機的公網IP)
password:***   (為購買伺服器時設定的root密碼)

三、虛擬機器的Ubuntu系統中安裝Node環境

3.1 安裝nvm

  • nvm是一個node的版本管理工具,用來安裝node是很方便的(親測:用nvm安裝的node不需要去單獨配置node的環境變數,這對於我這個linux小白來說簡直太好了)。
# 安裝nvm (根目錄中)
cd /
sudo wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

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

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

# 安裝完後檢查
node -v  =>8.9.3
npm -v => 5.6

3.2 ssh遠端服務

  • 每次要更新遠端伺服器中的資料,或者要在另一臺計算機上操作伺服器時,需要用到ssh遠端服務。
# 伺服器中安裝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遠端連線伺服器
下載Putty——開啟Putty.exe——在Host Name處輸入 [email protected]192.168.x.xxx  ——   點選Open連線
輸入密碼進入到伺服器控制面版
(注:root為你裝系統時設定的登入使用者名稱)

3.3 增強伺服器的安全性

對於遠端伺服器的安全性可以的解決方案
1. 改遠端服務埠
2. 在使用了本地私鑰進行無密碼登入的情況下,可以禁止PermisstRootLogin
- 例:改遠端服務埠

# 開啟ssh的配置檔案進行編輯
sudo vim /etc/ssh/sshd_config

# 系統會提示輸入密碼

# 在Port處修改埠號
:wq! //完成編輯並儲存退出

3.4 使用sftp工具遠端檢視伺服器檔案

在配置好以上檔案後,最後一步通過sftp工具實現遠端訪問資料夾,將本地的專案傳送到遠端伺服器上了。
參考圖形化工具:WinScp,Filezilla

# 以WinScp為例
# 1、下載安裝(百度就有)
# 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,當能夠訪問時表示此應用搭建完成

winscp效果圖

相關推薦

Linux部署Node服務-2-部署過程

一、node專案部署過程總結 在已經有前端專案的前提下,走部署這一步(即:最後上線) 1.1 域名 購買一個域名(個人練習的話,其實也可以不買,但針對微信公眾號,微信小程式的專案必須

Linux網絡服務11——部署YUM倉庫服務

客戶 modified 用戶 pod 重建 宋體 pytho 收集 updater Linux網絡服務11——部署YUM倉庫服務 一、YUM簡介 YUM的前身是YUP(Yellow dog Updater)Yellow dog Linux的軟件更新,最初由TSS公司(Ter

使用 Docker 部署 Node 服務

前言   Docker 是一個開源的容器引擎。開發者可以將自己的應用以及依賴打包為一個可移植的容器,然後釋出到 Linux 機器上。它類似於一個輕量級的虛擬機器,極大地方便了使用者在伺服器端部署和管理應用環境。 一、在 Ubuntu 中安裝 Docker   配置 Node 的執行環境,有時候需

【Docker】使用Docker部署Node服務

前言   Docker 是一個開源的容器引擎。開發者可以將自己的應用以及依賴打包為一個可移植的容器,然後釋出到 Linux 機器上。它類似於一個輕量級的虛擬機器,極大地方便了使用者在伺服器端部署和管理應用環境。 一、在 Ubuntu 中安裝 Docker

部署DHCP服務部署DHCP中繼教程

dhcp 劉巖松 中繼 本文主要介紹如何利用DHCP技術實現IP地址自動分配重點包涵了:DHCP的工作過程及原理 DHCP服務的配置 客戶機的配置 DHCP中繼服務器一、使用DHCP的好處1減少管理員的工作量2避免輸入錯誤的可能3避免IP

saltstack 與常用服務部署 常用服務安裝部署

常用服務安裝部署   學了前面的Linux基礎,想必童鞋們是不是更感興趣了?接下來就學習常用服務部署吧! 安裝環境: centos7 + vmware + xshell 即將登場的是: mysql(mariadb) redis

三十九.NoSQL概述 部署Redis服務部署LNMP+Redis

link eas osql etc restart save logs 加載模塊 操作 1. 搭建Redis服務器 在主機 192.168.4.50 上安裝並啟用 redis 服務 設置變量test,值為123 查看變量test的值 1.1 搭建redis服務

node linux服務部署 centos

下載 tro ejs root strong nbsp 服務器 服務 bin 1下載 wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz 2解壓 tar xvf node-v6.9.5-li

linuxnode部署

del 兩個 打開 nbsp class 運行 分享 profile 編輯 我直接下載二進制文件解壓,然後進行環境全局變量設置 解壓到對應的目錄tar zxvf node-v0.10.26-linux-x64.tar.gz 進入 解壓後的目錄bin目錄下,執行ls會看到兩個

WCF分布式服務2-服務配置部署

address 添加服務 con png 服務 com 基本 href bin 上圖整理了服務配置過程中所用到的基本的元素,大致的步驟:1. 主要是首先要在調用服務的程序集中添加服務的一個引用。2. 然後添加一個service並指定服務的名稱、終結點。在添加一個servi

Linux上安裝Docker,並成功部署NET Core 2.0

ble otn 重要 命中 mode 管理 sql img 內容 概述 容器,顧名思義是用來存放並容納東西的器皿; 而容器技術伴著Docker的興起也漸漸的映入大家的眼簾,它是一個抽象的概念,同時也是默默存在世上多年的技術,不僅能使應用程序間完全的隔離,而且還能在共享底層系

NodeJS+Express+MySQL開發小記(2):服務部署

win ner 關閉 私有倉庫 aux ges his 發現 all http://borninsummer.com/2015/06/17/notes-on-developing-nodejs-webapp/ NodeJS+Express+MySQL開發小記(1)裏講過在

服務部署node項目

服務 成功 str pan 程序 findstr win nod http   相信如果做過node項目,在本地應該遇到的問題不會太多,即使遇到問題了自行谷歌也會解決的,但是作為前端程序員,服務器端部署就會遇到一些問題了,參考我寫的文章服務器如何安裝node http://

Node.js熱部署代碼,實現修改代碼後自動重啟服務方便實時調試

iso 用戶 使用方法 了解 super 幫助 應用 https js文件 寫PHP等腳本語言的時候,已經習慣了修改完代碼直接打開瀏覽器去查看最新的效果。而Node.js 只有在第一次引用時才會去解析腳本文件,以後都會直接訪問內存,避免重復載入,這種設計雖然有利於提高性能,

Linux Rsync備份服務介紹及部署守護進程模式

oot 人員 comm 改變 保留 kill pull 密鑰 使用 rsync介紹 rsync是一款開源的、快速的、多功能的、可實現全量及增量的本地或遠程數據同步備份工具 在常駐模式(daemon mode)下,rsync默認監聽TCP端口873,以原生rsync傳輸協議或

Linux環境部署Node.js

文件夾 taobao http nodejs 裝包 oba xshell5 tar 切換 介紹 先前在阿裏雲ECS上部署Node.js,碰到不少坑,都是自己不仔細造成的,所以準備再部署一遍,並記錄下來。我將我的服務器重置了,這次選擇的是CentOS 7.4 64位,上次的是

PXE遠程裝機服務批量部署LINUX系統

roc penssh toolbar off nco 更新 tftp服務 分享圖片 facility 一、搭建FTP服務並配置ftp的本地yum源:# mkdir /mnt/cdrom # mount /dev/sr0 /mnt/cdrom/ # 掛載Centos7光

Node.js部署服務器之後臺守護進程管理器Forever

系統 pan 方式 ins start 進入 all 命令 rest 我們不可能直接通過node命令來管理遠程站點,這樣無法保證網站的可持續運行。我們用Forever來解決這個問題,它可以將NodeJS應用以後臺守護進程的方式運行,我們還可以將NodeJS應用設成隨系統啟動

第二十二期 Linux安裝/刪除應用及快速部署http服務、FTP服務

雲計算 Linux 達內 1.安裝:基本用法格式:yum [-y] install 軟件名 .. ..eg:[root@ntd1711 ~]# yum list httpd //查看是否安裝http【這裏輸入服務名為httpd】[root@ntd1711 ~]# yum -y install ht

怎樣在linux部署web服務

怎樣在linux上部署web服務器 linux上部署web服務器 1.從Apache官網下載源碼。 2.卸載原來已經存在的httpd。 3.掛載光盤準備部署httpd。 4.源碼編譯安裝httpd,