0%

koa2服务腾讯云部署

环境:腾讯云 Center OS 7.5.1804

web框架:koa2

操作日期:2020.6.21

1 安装node

1.1 下载node

node官方下载网址:http://nodejs.cn/download/

wget https://npm.taobao.org/mirrors/node/v14.4.0/node-v14.4.0-linux-x64.tar.xz

1.2 解压

tar -xvf node-v14.4.0-linux-x64.tar.xz

1.3 建立软连接

1
2
3
ln -s /root/development/node-v14.4.0-linux-x64/bin/node /usr/local/bin/node

ln -s /root/development/node-v14.4.0-linux-x64/bin/npm /usr/local/bin/npm

tips:如果建立错了,可以使用 rm /usr/local/bin/node 方式删除,命令中前面的地址为你解压node压缩包后的绝对路径

完成以上步骤,就安装完成啦!试试 npm -v 和 node -v吧!

2 将代码工程上传

个人采用git来拉取

2.1 安装git

1
yum install -y git

2.2 拉取工程

1
git clone ….

2.3 安装

一般情况下需cd到工程根目录,执行 npm install

3 nginx

3.1 安装nginx

1
sudo yum install -y nginx

3.2 配置nginx开机运行

1
2
3
sudo systemctl start nginx.service

sudo systemctl enable nginx.service

3.3 配置nginx

1
vi /etc/nginx/nginx.conf

在http下面查看是否存在 include /etc/nginx/conf.d/*.conf; (没有的话加上)

然后新建配置 touch /etc/nginx/conf.d/**.conf(号随便命名)

然后修改该文件,写入如下内容(注释部分仅用于https,http不需要)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
upstream nodejs {

​ server 127.0.0.1:3000; #这是你工程运行后的访问端口

​ keepalive 64;

}

server {

​ listen 80; # 这里如果配置https的话写443 ssl,并打开下面其他注释行

​ server_name 你的域名;

\# ssl_certificate 域名的nginx目录下的crt后缀文件[;](http://www.lyj.center_bundle.crt;/)

\# ssl_certificate_key 域名的nginx目录下的key后缀文件[;](http://www.lyj.center.key;/)

\# ssl_session_timeout 5m;

\# ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

\# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

\# ssl_prefer_server_ciphers on;

​ location / {

​ proxy_set_header X-Real-IP $remote_addr;

​ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

​ proxy_set_header Host $http_host;

​ proxy_set_header X-Nginx-Proxy true;

​ proxy_set_header Connection "";

​ proxy_pass [http://nodejs;](http://nodejs;/)

​ }

}

\#server {

\# listen 80;

\# server_name 你的域名;

\# rewrite ^/(.*) https://$server_name$1 permanent;

\#}

3.4 重新加载Nginx配置

1
2
3
4
5
6
7
8
9
10
11
12
13
nginx -s reload

tips:nginx常用命令

nginx -s reopen #重启Nginx

nginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginx

nginx -s stop #强制停止Nginx服务

nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)

nginx -t #检测配置文件是否有语法错误,然后退出

4 pm2部署

4.1 安装pm2

1
npm install -g pm2

4.2 建立软连接

1
ln -s /root/development/node-v14.4.0-linux-x64/bin/pm2 /usr/local/bin/pm2

4.3 执行(这里直接使用了koa2脚手架的默认部署脚本,其他配置方式请自行百度)

1
pm2 start bin/www --watch

5 域名解析

记得在腾讯云域名解析那里加上解析记录(在”我的域名”->点击对应域名右边的“解析”)

选“快速添加网站/邮箱解析” -> “网站解析” -> 填写主机外网ip地址 就ok了

tips:第一列主机记录可自行更改,具体情况会有提示滴

完成以上配置应该就能在外网通过你的域名访问啦