操做系統:阿里雲 Ubantu 16.04node
新建立的實例需先重置實例密碼並重啓實例git
ssh root@39.96.114.57
複製代碼
-a
添加用戶到組-d
從組刪除用戶adduser juejin
gpasswd -a juejin sudo
複製代碼
Linux用戶配置sudo權限(visudo),若是你用visudo來編輯這個文件,那麼它會幫你自動作不少事情,好比說語法檢查,加鎖防止別人同時修改這個文件等等github
sudo visudo
複製代碼
visudo實際上是打開/etc/sudoersweb
# User privilege specification
juejin ALL=(ALL:ALL) ALL #添加這一行
複製代碼
juejin這個用戶能夠從任何機器登陸,以任何用戶和用戶組的身份運行任何命令。 保存並退出
Ctrl+X
shift+y
npm
ssh 公鑰認證是ssh認證的方式之一。經過公鑰認證可實現ssh免密碼登錄,git的ssh方式也是經過公鑰進行認證的。安全
ssh-keygen
cd ~/.ssh
ssh-keygen -t rsa -b 4096
複製代碼
-t
指定加密方式-b
字節數
~/.ssh/id_rsa
私鑰目錄
~/.ssh/id_rsa.pub
公鑰目錄( 能夠給別人看)bash
解決ssh慢的問題服務器
eval "$(ssh-agent -s)" #開啓ssh代理
ssh-add ~/.ssh/id_rsa #把私鑰添加到代理裏面
複製代碼
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
ssh-keygen -t rsa -b 4096
複製代碼
vi ~/.ssh/authorized_keys
ssh juejin@47.103.198.148 #便可快速登錄
複製代碼
sudo vi /etc/ssh/sshd_config #打開配置
Port 2222 #ssh服務默認會監聽22端口,修改成2222。這裏安全組規則也須要添加對應的2222端口
AllowUsers juejin
PermitRootLogin yes #是否容許root不能登陸
PasswordAuthentication yes #是否容許客戶端密碼登陸,修改成no,只能經過公鑰私鑰方式登陸
複製代碼
sudo service ssh restart #重啓ssh服務
ssh -p 2222 juejin@39.96.114.57 #鏈接
複製代碼
sudo apt-get update #更新軟件列表
sudo apt-get install wget curl git #wget curl git用來下載網絡資源
複製代碼
#wegt或curl方式下載nvm(nvm是node工具,能夠管理node版本)
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
或
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
#下載、編譯和安裝最新的node版本
複製代碼
安裝好nvm如遇沒法執行Command 'nvm' not found, did you mean:...
,可經過source /root/.bashrc
使nvm生效app
在home/juejin目錄下,
mkdir web
vi server.js
#編寫以下代碼
const http = require('http')
const server = http.createServer(function(req,res){
res.end('hello')
})
server.listen(8888)
複製代碼
外網可經過阿里雲公網ip
訪問 47.103.198.148。
缺點:關閉終端窗口,服務器就宕了。
若是listen的時候綁定了ip,如:server.listen(8888, 47.103.198.148),外網沒法訪問
強大的進程管理器,進程異常退出時pm2會嘗試重啓
npm install pm2 -g #安裝pm2
pm2 start server.js --name 'juejin' #修更名稱爲juejin (需進入目錄:/home/juejin/web)
複製代碼
常見pm2方法: