云服务器

2020-10-16
2 min read

手把手教你从0开始部署应用

好处

1.一个你可以完全自由掌控的Linux机器

2.一个其它人可以访问的IP

3.可以作为你的博客,作品展示,简历展示

4.比GitHub访问速度快很多

5.香港地区机器,可以作为FQ代理,但是好像不能备案

如果你备案了,你还可以把你的域名绑定到这台机器

代价

1.100人民币可以用1000小时左右。按量付费,即用即停,释放机器,数据会丢!

一.购买阿里云服务器

创建我的ECS

(1)选择“按量付费”

(2)地区一般选择 “国内的,有优惠的”

(3)实例分类选择 “共享型”

(4)镜像选择 “Ubuntu 18.04 64位 ”

(5)下一步,带宽调到最低1M

在这里插入图片描述

(6)勾选服务协议

在这里插入图片描述

(7)创建成功,点击“管理控制台”

运行中则代表开始收费!

在这里插入图片描述

添加8888端口

1.第一步

在这里插入图片描述

2.点击“配置规则”,点击手动添加,输入目的:8888/8888,输入源:0.0.0.0/0(表示任何人都能访问)

在这里插入图片描述

使用服务器

1.回退到实例列表,点击"远程连接"

第一次使用时,把“远程连接密码”记到标签里(没有就不记)

2.重置密码。

点击“过多”->重置实例密码

这是通过网页登陆阿里云服务器,接下来教你如何在本地也能登陆。

本地登陆云服务器

1.本地打印上传GitHub的公钥

终端代码: cat ~/.ssh/id_rsa.pub

复制公钥

2.打开VScode,把key追加到文件里

代码: echo ‘粘贴公钥…’ » ~/.ssh/authorized_keys

3.把编辑好的代码复制到云服务器运行,回车

在这里插入图片描述

4.打开终端运行

ssh root@IP地址(公)

 例子:  ssh root@8.130.10.66

在这里插入图片描述

yes,回车

在这里插入图片描述

总结:

把公钥放到阿里云的服务器,就能使用ssh在终端访问服务器了。

现在服务器就可以关掉啦。

在这里插入图片描述

终端访问服务器

在这里插入图片描述

1.进入账号

代码:ssh root@8.130.10.66

退出云服务系统 代码: exit

卡了直接退出终端 ctrl+w

2.查目前的位置 代码: pwd

回到根目录 代码: cd /

查看所有目录 代码: ls -l

如何防止ssh卡住?

注意:先 exit 阿里云账号,不要在阿里云上运行

在/etc/ssh/ssh_config最后加下面两句话

Host *
  ServerAliveInterval 30

用code打开这个文件应该会失败

可以用两次echo搞定

echo "Host *" >> /etc/ssh/ssh_config
echo "  ServerAliveInterval 30" >> /etc/ssh/ssh_config

重启终端生效,如果没生效就重启机器

部署 Node.js 代码

一.创建应用账户

原因:Linux的root账户拥有最高权限,一旦被攻克…

步骤

1.终端执行

 ssh root@8.130.10.66
 adduser lixueqin (可创建多个用户)

输入密码:balabala

一直回车回车…

2.运行如下命令

mkdir  /home/lixueqin/.ssh
cp ~/.ssh/authorized_keys /home/lixueqin/.ssh/        注释:把root的authorized_keys复制到这里
chmod 755 /home/lixueqin/.ssh/authorized_keys         注释:把key变成可读的
chown lixueqin:lixueqin /home/lixueqin/.ssh/authorized_keys 注释:把key的拥有者变成lixueqin

现在可以退出root了,退出切换账号代码:logout

3.现在ssh lixueqin@实例ip 就可以用了

进入ssh lixueqin@8.130.10.66

4.lixueqin权限比root低,不能随意对root的文件修改,这样更安全!

以后尽量使用lixueqin目录,不要用root目录

sudo

sudo全称super user do,类似于Window的「以管理员身份运行」

平时你不应该使用root账号,而是用lixueqin账户

遇到特殊操作,就在前面加sudo,请出root

需要输入lixueqin的密码,而不是root的密码

ctrl+A可以快速回到命令前面

sudo!!的意思是用sudo执行上一句命令

1.给lixueqin添加权限adduser lixueqin sudo

终端命令:

exit
 ssh root@8.130.10.66
 adduser lixueqin sudo
 exit
 ssh lixueqin@8.130.10.66

安装软件

有了新的账户后就可以安装一些必要的软件了

1.安装Node.js 14

终端命令:

curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt-get update
sudo apt-get install -y nodejs
node -v
npm -v
npx -v

2.安装git

终端命令:

sudo apt install git  

回车

git --version

部署应用(代码)

首先下载代码

git clone https://github.com/lixueqin-4119/nodejs-test.git

可以改为你的仓库HTTPS地址,不要使用SSH地址哦

在这里插入图片描述

依旧在lixueqin这个账号里下载代码

终端代码:

ssh lixueqin@8.130.10.66
git clone https://github.com/lixueqin-4119/nodejs-test.git
cd nodejs-test
touch log
node server.js 8888 > log 2>&1 &    注释:启动命令,后台在运行

在这里插入图片描述

如上图,你会得到一个pid

关掉进程

kill -9 18907

或者关掉所有node进程

二选一,作用是一样的

killall node 

运行 sh ./start 得到一个进程号 pid

tail log 看 log 内容

这样就可以在后台运行我们的js并且可以去做其他的事

用node server.js 8888 > log 2>&1 & 代替node server.js 8888

可以把启动命令做成 start 文件

终端代码:

ssh lixueqin@8.130.10.66
touch start
echo 'node server.js 8888 > log 2>&1 &' >> ./start
cat start
chmod +x ./start    注释:添加执行权限 
ls -l
./start   注释:执行start
curl http://localhost:8888
killall node

访问

前提: 检查是否有8888端口,然后copy阿里云服务器IP(公)地址

1.进入服务器lixueqin账号

 ssh lixueqin@8.130.10.66

2.启动进程

代码:

touch start
echo 'node server.js 8888 > log 2>&1 &' >> ./start
cat start
chmod +x ./start //添加执行权限 
ls -l
./start //执行start
curl http://localhost:8888
3.选做 killall node

地址栏输入IP+端口即可访问: 8.130.10.66:8888

全世界都可以通过IP+端口访问你的首页

可以做简历或个人主页,有index.html即可

别人都是用域名,为什么我们用IP+8888?

因为国内需要备案,不备案80端口很有可能被封。

重启应用

改了代码如何再重新启动?

1.修改代码

1’在本地改完代码 git push

2’GitHub上直接修改代码并点击提交

2.ssh lixueqin@8.130.10.66

3.进入远程目录,拉取最新代码

  cd nodejs-text   注释:进入目录
  git pull  

4.关掉进程重新启动

  killall node 
  ./start

退出切换账号:logout

退出云服务系统:exit