操做系统:阿里云 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方法: