部署koa服务

node.js 2021-01-10 1171

1.安装node npm环境

// 更新源
sudo apt-get update
sudo apt-get upgrade
// 安装node 
sudo apt-get install -y nodejs
// 安装npm
sudo apt-get install npm
// 验证node和npm是否安装成功
node -v
npm -v

由于npm是国外源,因此一般使用cnpm

2.安装cnpm

我在安装时遇到了不少坑,按照淘宝给出了命令,使用后,安装cnpm会中途卡住。如果遇到卡住,请检查node和npm的版本是否为最新。

如果依然不成功,请baidu,一般就是清楚缓存,设置npm的默认安装地址等。

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

查看是否安装成功

cnpm -v

3.安装pm2

这里先插入一个关于mongoose的坑,当mongodb和项目的依赖安装完成,数据和迁移完成后,测试接口时,发现每次连接都超时。账号,密码都是ok的,但是出现auth错误,解决方法在后面添加authSource=admin

mongodb://username:pwd@127.0.0.1:27017/db?authSource=admin

进入正题,安装pm2

cnpm install -g pm2

以启动koa为例

pm2 start ./bin/www #启动服务器,启动服务后,默认名称www
pm2 list www  #查看运行状态
pm2 logs www  #查看日志
pm2 restart www #重启应用
pm2 stop www  #停止应用
pm2 delete www # 删除应用

   监听修改,并自动重启:pm2 start www--watch (重启的是服务端代码,浏览器需刷新)

启动后效果:

运行服务

$ NODE_ENV=production pm2 start ./bin/www --name test --watch

nginx反向代理

server{
	listen 5001;
	server_name 119.45.228.148;
	location / {
		proxy_pass http://127.0.0.1:5000;
	}
}

开放端口

// 安装 iptables
$ sudo apt-get install iptables
// 开放端口
$ iptables -I INPUT -p tcp --dport 80 -j ACCEPT
// 保存
$ iptables-save
// 关闭端口
$ iptables -A OUTPUT -p tcp --sport 22 -j DROP


// 持续化规则
// 安装iptables-persistent
$ sudo apt-get install iptables-persistent
// 持久化规则
$ sudo netfilter-persistent save
$ sudo netfilter-persistent reload

4.多版本安装

全局安装n

npm i -g n

安装node

n提供了多种命令安装node环境

n 10.16.0 // 安装特定版本
n stable // 安装稳定版本
n latest // 安装最新版本

使用n可以切换node版本

n   --回车
    node/10.13.0
    node/10.15.3
    node/11.0.0
    node/11.8.0
  ο node/12.2.0

如果使用n切换版本后,版本依然没有修改,按下方操作(只测试过Ubuntu>Ubuntu(18.04))

编辑环境配置文件:

vim ~/.bash_profile

将下面代码插入到文件末尾:

export NODE_HOME=/usr/local
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH

执行source使修改生效:

source ~/.bash_profile

再使用 n 切换,便能成功。

标签:node.js

文章评论

评论列表

已有0条评论