跳到主要内容

Nginx 部署超星学习通签到服务

· 阅读需 2 分钟
Hanasaki
阿巴阿巴阿巴

在 AWS 的 EC2 服务器上部署了这玩意,一方面分散华为云那个服务器的压力,一方面体验一下部署在服务器的流程。之前一直都是静态网页部署+云函数,比较省事。

用的 PM2 运行的接口服务,端口号是 5000 ,可以直接通过域名+端口号访问接口,但是感觉这样不太优雅,干脆用 Nginx 代理一下。让网站可以通过 /chaoxing 路径访问,让接口可以通过 /chaoxing-api 来访问。

先决条件

  • 前端项目中配置的API地址,改为 http://xxxx.com/chaoxing-api
  • 解析二维码方法改成了使用腾讯云OCR来解析(可选,我这么干了)
  • 接口项目里已经配置了腾讯云的secretId和secretKey(可选,我这么干了)

开始

Nginx 在这里的关键作用:①托管静态页面 ②代理接口。

server {
listen 80;
server_name localhost;

#根目录,Nginx默认页面
location / {
root /var/www/html;
index index.html;
}

#静态网页放在这个路径
location /chaoxing {
alias /var/www/html/chaoxing/;
index index.html;
try_files $uri $uri/ /index.html;
}

#代理接口
location ~ /chaoxing-api/ {
proxy_pass http://localhost:5000;
}
}

效果

前端页面

访问 http://xxxx.com/chaoxing 就是部署好的前端页面。

接口

下面就可以通过 /chaoxing-api 来访问接口了,后面的路径会被转发给 localhost:5000

访问对应接口url
http://xxxx.com/chaoxing-api//
http://xxxx.com/chaoxing-api/login/login
http://xxxx.com/chaoxing-api/status/status