以阿里云服务器,CentOS系统为例

上一节已经提到怎么安装nodejs,以下是以vue项目为例

步骤:

(1)首先安装vue脚手架@vue/cli, 官网参考

  vue-cli3.x

 [root@lunix ~]# npm i @vue/cli -g

  vue-cli2.x

 [root@lunix ~]# npm install -g @vue/cli-init

  默认文件会安装之前下载的node目录node/node_module, 执行命令会安装到node/bin

  比如这里将node下载至/usr/local/src下

  

  找到bin目录,查看可发现多出vue命令

  

  题外话:在react脚手架中create-react-app可以不用全局安装,使用npx可直接下载模板, 但@vue/cli如何使用暂时未找到答案

 $ npx create-react-app my-app

  此时vue并不能全局使用,需要建立软连接到/usr/bin, 需要注意的是源文件和目标文件路径必须是绝对路径。

(2) 创建项目

 $ vue create my-app

  运行项目

 $ npm run serve
or
$ yanr serve

(3)开放端口  

最后在客户端电脑浏览器上访问IP地址+项目端口号, 如:123.22.14.76:3000, 报错如下,此时需要到阿里云控制台上找到对应的服务器,添加安全组规则,步骤如下:

登录自己的阿里云账号  -----> 控制台上找到对应的“服务器实例” -----> 进入实例“管理”页面 ----> 找到“本实例安全组” ----> "配置规则"  ---->  "添加安全组规则"  ----> 在弹出的窗口中输入“端口范围”是需要使用到的端口3000, ”授权对象“是'0.0.0.0/0' , 其他默认即可。

  最后,还需要在服务器中对外开放该端口(默认端口80不需要), 并重启服务

 $ /sbin/iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
2 $ service iptables save // 保存设置好的对外开放的端口, 否则重启服务器后会失效
3 $ service network restart

  此时,可以在浏览器上正常访问服务端项目。

基本配置完成=======================================================================

但是,在服务器启动node项目时,不能关闭命令窗口(即 yarn start 或者 npm start不能停止), 此时需要用到pm2工具。

1. 安装pm2

1 [root@lunix ~]# npm i pm2 -g

创建软连接

 [root@lunix ~]# ln -s /usr/local/src/node-v10.15.0/bin/pm2 /usr/bin/pm2

运行pm2会有以下帮助

2. 使用pm2

  切换到项目根目录

(1)对于koa(express)项目,直接运行脚本文件

参考简书, 官网PM2

$ pm2 start ./www
或者
$ pm2 start app.js

(2)对于运行script脚本, 注意--左右有空格

 $ pm2 start npm -- start
 $ pm2 start npm --name vue-app -- run serve

// 以上命令中, 参数--name设置进程名(默认不设置时为目录名),

// 后面的 -- 双横左右有空格, 后面的 run serve为 项目package.json中的scripts脚本, 当是start或test时,不用加前置 run

// 运行后得到下图, online表示运行成功

(3)其他命令

  • 停止:pm2 stop app_name|app_id
  • 删除:pm2 delete app_name|app_id   <可删除列表中的停止进程如: pm2 delete 1>
  • 重启:pm2 restart app_name|app_id
  • 停止所有:pm2 stop all
  • 查看所有的进程:pm2 list
  • 查看所有的进程状态:pm2 status
  • 查看某一个进程的信息:pm2 describe app_name|app_id

最后,有了pm2就可以在服务器上同时启动多个项目。当然要确保不同的端口

题外话:如果需要将项目映射到同一个域名时,可设置二级域名

Linux(Centos)服务器配置node项目的更多相关文章

  1. linux(Centos系统)部署项目(vue+nginx+tomcat)

    条件,在服务器安装好tomcat,nginx; 安装nginx命令:# yum install nginx 启动Nginx命令:# systemctl start nginx.service 给权限 ...

  2. Linux/CentOS 搭建 SVN 项目

    1.安装svn yum  -y  install   subversion 2.创建svn仓库路径 mkdir  -p   /opt/svn/project1 mkdir  -p   /opt/svn ...

  3. Linux centos 安装 Node.js

    官网下载地址 https://nodejs.org/zh-cn/download/ 1.下载二进制文件 (x64)   相当于  https://nodejs.org/dist/v10.16.3/no ...

  4. 利用forever在Linux上实现Node.js项目自启动

    在一台计算机上手动跑Node项目简单,node xx.js就搞定了,想让Node项目后台执行,尽管不能直接用node命令搞定,可是在安装了forever这个包以后.还是非常轻松的.只是要是在远程ser ...

  5. 在Linux CentOS上部署Asp.Net Core项目(Tengine、Asp.Net Core、Centos、MySql)

    一.前言 1.简单记录一下Linux CentOS 7中安装与配置Tengine的详细步骤. 2.简单比较一下Tengine 和Nginx 3.搭建Asp.net Core和部署 Web程序 4.总结 ...

  6. Linux CentOS下部署Java Web项目

    本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...

  7. Linux下Jenkins与GitHub自动构建Node项目(Vue)

    根据上篇文章<Linux下Jenkins与GitHub自动构建NetCore与部署>,我们知道了Jenkins的强大功能,自动构建,部署了一个NetCore的Web,让开发人员专注于开发, ...

  8. .Net Core 项目发布到Linux - CentOS 7(一)

    由于项目的需求,需要发布到Linux服务器上,在这里记录一下我发布的过程. 安装Linux 安装liunx系统很简单,网上也有很多教程,我是直接使用阿里云的CentOS 7.7 64位 部署环境 Li ...

  9. 宝塔linux部署node项目

    1.安装宝塔linux之后,按需配置,我的是nginx,不是apq的. 2.下载pm2管理器 3.添加站点,将node项目从localhost打包到到站点,node_modules这个无需打包,这个依 ...

随机推荐

  1. 知识驱动对话-Learning to Select Knowledge for Response Generation in Dialog Systems-阅读笔记

    今日看了一篇文章<Learning to Select Knowledge for Response Generation in Dialog Systems>,以知识信息.对话目标.对话 ...

  2. Django:视图views(二)

    把request对象和response对象原理流程写一下 request对象 服务器端接收到http协议的请求,会根据报文信息构建HttpRequest对象 通过第一个参数,把该对象传递给视图函数 R ...

  3. centos6.5(64bit),python2.6.6安装MySQLdb模块

    1.下载MySQL-python.setuptools安装包 2.tar zxvf setuptools-0.6c11.tar.gz 3.cd setuptools-0.6c11 4.python s ...

  4. [archlinux][crypto] 从T450迁移archlinux操作系统至T460s笔记本

    从T450笔记本迁移archlinux操作系统之T460s笔记本,同时: 1.  使用cryptsetup做底层块加密. 2.    全新使用btrfs文件系统. 一,硬盘分区. 1T的SSD,使用U ...

  5. Androidstudio_LinearLayout

  6. Python摸爬滚打之day04----基本数据类型(列表,元组)

    1.列表 列表是可变的, 有序的数据类型,列表是按照添加顺序来保存的,可以存放各种数据类型. 1.1    列表的切片(同字符串) 1.2    列表的增删改查 注意: 列表是可以直接在列表上面进行操 ...

  7. FTP主动模式和被动模式的区别(转)

    dd by zhj: 一般使用被动模式,在命令行下,被动模式的格式是:ftp -p (yinservice_env) ajian@ubuntu-desk:~$ ftp -pftp> 之前在用命令 ...

  8. 【托业】【新托业TOEIC新题型真题】学习笔记9-题库七+八--P4-5

    109.intend 意为“打算,意欲”,含有将来的含义,故不用将来时态 110.must do sth 必须做某事 111.recession 经济衰退,不景气 rebound 反弹:反应 recr ...

  9. 前端开发---HTML---介绍

    阅读目录 1.标签 2.HTML目录结构 3.HTML注释 一.web1.0时代的网页制作 静态网页,所谓的静态网页就是没有与用户进行交互而仅仅供读者浏览的网页,我们当时称为“牛皮癣”网页.例如一篇Q ...

  10. Unable to cast COM object of type 'Shell32.ShellClass' to interface type 'Shell32.IShellDispatch6'.

    VS 里面的Interop.Shell32.dll(1.0) 这个版本太低了,需要高版本的(我使用的是1.2.107.0) 具体下载地址  自己找吧