将node项目部署到linux系统上

Posted 你丫才美工

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将node项目部署到linux系统上相关的知识,希望对你有一定的参考价值。

1.准备工作,电脑上需要有xshell(远程连接服务器)、xftp(上传文件到服务器上)、下载node安装包(linux版)

2.使用xshell连接服务器后,进入根目录cd /   创建文件夹名mkdir opt  进入opt目录中 cd /opt

3.ctrl + alt + f 打开xftp ,左侧是Windows目录 右侧界面linux目录把刚才的node安装包拖入到opt项目中,本地应用项目也一起拖放到这个目录中

4.解压缩node安装包 tar -xzvf node-v7.5.0-linux-x64.tar.gz  (node-v7.5.0-linux-x64.tar.gz这个要写你自己的下载的包名称)

5.配置node环境变量

vi /etc/profile

NODE_HOME=/opt/node-v7.5.0-linux-x64
PATH=${PATH}:${NODE_HOME}/bin
export NODE_HOME

 

按下esc : qw  保存退出   或者  esc :x

6.退出重新连接xshell,命令行node -v就可以看到是否安装好。关了标签重新打开,要不然可能还是原来的版本

补充:

i 插入
esc :q 退出编辑模式
esc :w 保存
esc :q 退出编辑模式
esc :qw | :x 保存并推出
esc :q! 强制退出

7.修改项目中的需要用到的请求地址,在hosts文件中修改    vi /etc/hosts;

8.npm install -g cnpm --registry=https://registry.npm.taobao.org  安装淘宝镜像

cnpm install 安装插件
启动一下node app.js
虽然启动了app.js但是仍然无法连接,可能与端口号没开有关,此时要关闭防火墙,
service iptables status//查看状态
service iptables stop//关闭

9.进入刚才拖进来的应用项目中,可以看到packge.json那一级,创建启动脚本 touch start.sh。添加内容为 vi start.sh  

i 插入内容

#!/bin/sh
basepath=$(cd `dirname $0`; pwd)
pm2 start $basepath/app.js --name candy     # app.js(node项目中的启动文件名称)

10.为启动脚本添加可运行权限 命令 chmod +x start.sh

11.接下来我们使用pm2来运行node

cnpm i pm2 -g

pm2 start  id名 |  app名    (也可以直接使用./start.sh)

补充:

pm2 list ll 显示进程列表
pm2 start id
pm2 stop id
pm2 delete id
pm2 restart id

14.项目使用了nginx做负载均衡,node项目部署到了两台服务器中,所以还需要再到Nginx服务器中 vi   /opt/nginx/conf/extconf/ngnix-user.conf(我的目录文件地址)

配置下两台服务器的地址

upstream aas_frontend {
server 10.10.12.xxx:7410 max_fails=3 fail_timeout=20s weight=4;
server 10.10.12.xxx:7410 max_fails=3 fail_timeout=20s weight=4;
}

nginx装在/ 目录下的opt目录中
进入root目录 cd ~ 重启脚本 先停止(./stopNginx.sh) 再启动(./startNginx.sh)
startNginx.sh文件内容是 : /opt/nginx/sbin/nginx &
stopNginx.sh文件内容是 : /opt/nginx/sbin/nginx -s stop

 
























以上是关于将node项目部署到linux系统上的主要内容,如果未能解决你的问题,请参考以下文章

将node服务部署到云服务器上

nodejs 如何部署到服务器上?

项目部署流程

vue部署到服务器如何访问根目录

[经验] Java Web 项目怎么部署到 Linux 系统上

阿里云部署node接口