1.购买阿里云服务器

image.png

2.允许8888端口

image.png

3.使用服务器

image.png

4. ssh 远程登录

image.png
用 cmder 进入阿里云服务器之后输入本地钥匙(即在 root 上)

  1. echo '复制本地~/.ssh/id_rsa.pub内容' >> ~/.ssh/authorized_keys

输入以上命令,可以在之后每次进入服务器不用输入密码

5.成功的界面

image.png

6.如何防止 ssh 卡住

注:防止卡住的命令是在本地机器上 而不是在 root 上

  1. echo "Host *" >> /etc/ssh/ssh_config
  2. echo " ServerAliveInterval 30" >> /etc/ssh/ssh_config

此方法来源,重启终端生效。

7.创建应用账户

因为 Linux 的 root 账户拥有最高权限,一旦被攻克,电脑就失控了

7.1.创建应用账户步骤:

image.png
所需要的用到的代码如下:

  1. adduser frank
  2. mkdir /home/frank/.ssh /*创建目录.ssh*/
  3. cp ~/.ssh/authorized_keys /home/frank/.ssh/ /*复制authorized_keys到.ssh/*/
  4. chmod 755 /home/frank/.ssh/authorized_keys /*把 key 变成可读的*/
  5. chown frank:frank /home/frank/.ssh/authorized_keys /*把 key 的拥有者变成 frank*/
  6. adduser frank sudo

image.png

7.2.sudo

image.png
例如:apt-get update 更新系统包;root 账户有权限,而 frank 账户无权限

8.安装 Node.js8

  1. curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
  2. sudo sed -i 's/deb.nodesource.com\/node_8.x/mirrors.tuna.tsinghua.edu.cn\/nodesource\/deb_8.x/g' /etc/apt/sources.list.d/nodesource.list
  3. sudo apt-get update
  4. sudo apt-get install -y nodejs
  5. node -v
  6. npm -v
  7. npx -v

安装过程推荐的版本

  1. https://deb.nodesource.com/setup_10.x — Node.js 10 LTS "Dubnium"
  2. https://deb.nodesource.com/setup_12.x — Node.js 12 LTS "Erbium" (recommended)
  3. https://deb.nodesource.com/setup_14.x — Node.js 14 LTS "Fermium"

9.安装 git

image.png

  1. sudo apt install git
  2. git --version

10.部署应用

  1. git clone https://github.com/alertguo/node-demo-1.git //下载代码
  2. //启动应用
  3. cd nodejs-test
  4. touch log
  5. 启动命令:node server.js 8888 > log 2>&1 & //把输出放到 log 里,出现的数字就是进程ID
  6. 把启动命令做成 start 文件
  7. touch start
  8. echo 'node server.js 8888 > log 2>&1 &' >> ./start
  9. 添加执行权限 chmod +x ./start //添加权限之后,输入 ls 会发现 start 的颜色改变了,如下图
  10. 运行 sh ./start (或者直接 ./start 也可以运行) 得到一个进程号 pid
  11. tail log log 内容
  12. kill -9 pid 可以关掉进程
  13. killall node 可以关掉所有 node 进程

image.png

11.如何重启应用

11.1.上传代码

本地改完,git push

11.2.下载代码

  1. ssh frank@实例ip
  2. cd nodejs-test
  3. git pull
  4. killall node(因为忘了进程号,实际上可以记下来)
  5. sh ./start
  6. 重启完毕

补充:

cmder 终止活动进程的其中一种方法
image.png


注:本文图片来自饥人谷