node服務器部署系列———基礎

node服務器部署系列———基礎

本人使用的是阿里雲的雲服務器,Ubuntu 14.04 64位 專用vps網絡,關於域名和服務器的購買、備案等,不做講述

雲主機開箱

  • 登錄
    使用第三方ssh工具登錄(阿里提供的遠程登陸界面也行),使用主機公網IP、root名、密碼(購買時設的)配置好連接
  • 硬盤查看
    查看硬盤個數fdisk -l
    查看使用情況df -h

基礎安全增強

  • 創建新管理員
  1. 輸入命令 adduser [new user name] 填寫新用戶密碼及信息
  2. 輸入命令 gpasswd -a [new user name] sudo 將新用戶添加到sudo組(管理員組)中
  3. 輸入命令 sudo visudo 打開用戶權限配置,找到#User privilege specification 在它的root那項下面新加一行,寫入 [new user name] ALL=(ALL:ALL) ALL 意思就是賦予新用戶和上面root一樣的權限,最後^x退出,按Y保存,按回車。
  • 修改默認登錄端口(以後都使用新管理員登錄)
    服務器的默認登錄端口是22,一般很容易被掃描器掃描到,所以我們自己設個新的端口
  1. 輸入命令 sudo vi /etc/ssh/sshd_config 打開ssh配置文件(提示密碼自己盲敲密碼)
  2. 在配置文件裏找到Port 22這個位置,將數值22改成其他端口(例如:21352,39579),記住新的端口
  3. 使用專用網絡的時候需要在阿里雲安全組設置(服務器端口防火牆),要將新的端口添加到設置中,否則在下一次ssh登錄服務器時,端口就會被防火牆攔截,就登不上了
  • 禁用root
    root是每個雲服務器的超管,大家都知道,禁用後能一定程度提高服務器的安全
  1. 輸入命令 sudo vi /etc/ssh/sshd_config 打開ssh配置文件
  2. 在配置文件末尾中找到 PermitRootLogin yes 位置,將yes改成no,關閉root的ssh登錄

服務器環境

  • node
    建議使用node版本管理工具,本人使用的nvm,下載前更新一下系統包sudo apt-get update,可以先安裝一些工具包,例如git之類的,nvm的安裝和使用在GitHub上可以找到,自行查找( wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

  • 增加系統文件監控數目
    輸入命令 echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

  • 使用淘寶鏡像

  1. 臨時使用npm --registry https://registry.npm.taobao.org install express
  2. 設置下載源npm config set registry https://registry.npm.taobao.org
  3. 查看源 get registry
  4. mpm i -g 安裝通用工具,例如: pm2 , webpack , gulp , grunt-cli

到此我們創建一個http服務就可以在服務器上用node跑起來了,就像在本地一樣,我們可以在瀏覽器上使用公用IP+端口號訪問我們的服務(如果配置了域名就可以使用域名
在這裏插入圖片描述
但是當我們關閉ssh的會話窗口的時候,服務就會斷掉,所以要使用node服務常駐工具

  • 使用pm2常駐node服務

啓動常駐項目 “ pm2 start [app.js]
查看常駐項目列表 “ pm2 list
查看某項目信息 “ pm2 show [app name]

常駐服務後網站服務就可以隨意訪問,但是我們注意到我們必須加上端口號才能正確訪問,這是因爲我們的用戶服務沒有權限監聽80端口,要實現這一功能,我們還是要藉助nginx才行

  • 使用nginx來反向代理和負載均衡
  1. 安裝nginx, 輸入命令 sudo apt-get install nginx 安裝nginx
  2. 使用 cd 在路徑 " /etc/nginx/conf.d "目錄裏新建站點的配置文件 (文件名例如:dharman-cn-8081.conf)
    編寫配置文件
    在這裏插入圖片描述
  3. 在路徑 " /etc/nginx" 下打開主配置文件 nginx.conf#server_tokens off 這條註釋取消 # ,這樣瀏覽器將會隱藏nginx 的信息,提高安全係數
    在這裏插入圖片描述

這樣我們就基本部署好了一個服務器環境

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章