HTTP请求响应以及服务器部署

234 阅读2分钟

HTTP请求于相应

请求

  1. 请求动词 路径加查询参数 协议名/版本
  2. Host:域名或者IP
  3. Accept:text/html
  4. Content-type:请求体格式
  5. 回车
  6. 请求体

例子

```
Request URL: http://192.168.2.1/
Request Method: GET
Accept: text/html
Host: 192.168.2.1
```

响应

  1. 协议名/版本 状态码 状态字符串
  2. content-type: 响应体的格式
  3. 回车
  4. 响应体

curl的用法

curl -v http://域名或者ip:端口号/访问路径

  • 请求动词
    -X GET/POST/PUT/DELETE
  • 设置路径和查询参数(直接加在url后面)
  • 设置请求头
-H 'Name:Value' 或者 --header'Name:Value'
  • 设置请求体
-d‘内容’ 或者 --data'内容'

购买阿里云服务器

使用阿里云服务器

本地shell连接远程服务器

  1. 请本地shell的公钥复制下来,写入服务器的authorized_keys
echo '复制本地~/.ssh/id_rsa.pub内容' >> ~/.ssh/authorized_keys
  1. 重启shell后,可用一下命令来连接服务器
ssh 用户名@服务器IP
eg:ssh root@115.114.114.114
  1. 防止ssh卡住,可用一下命令
echo "Host *" >> /etc/ssh/ssh_config
echo "  ServerAliveInterval 30" >> /etc/ssh/ssh_config
  1. root账户权限太高,新建一个自己的账户 在root账户下,运行如下代码
adduser 你的账户            // 添加一个账户
mkdir  /home/你的账户/.ssh            // 给账户一个ssh文件夹
cp ~/.ssh/authorized_keys /home/你的账户/.ssh/            // 把授权的公钥复制过来
chmod 755 /home/你的账户/.ssh/authorized_keys            // 变更账户的权限
chown 你的账户:你的账户 /home/你的账户/.ssh/authorized_keys            // 变更账户的权限

adduser 你的账户 sudo            // 在root账户下执行,赋予你的账号临时管理的权限
  1. 安装nodejs
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
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
sudo apt-get update
sudo apt-get install -y nodejs
node -v
npm -v
npx -v

sudo apt install git
  1. 部署应用
git clone https://github.com/FrankFang/nodejs-test.git
cd nodejs-test
touch log
启动命令:node server.js 8888 > log 2>&1 &
把启动命令做成 start 文件
添加执行权限 chmod +x ./start
运行 sh ./start 得到一个进程号 pid
tail loglog 内容
kill -9 pid 可以关掉进程
killall node 可以关掉所有 node 进程
  1. 重新部署应用
ssh frank@实例ip
cd nodejs-test
git pull
killall node(因为忘了进程号,实际上可以记下来)
sh ./start

作业