Linux(Centos)服务器配置node项目
以阿里云服务器,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 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项目的更多相关文章
- linux(Centos系统)部署项目(vue+nginx+tomcat)
条件,在服务器安装好tomcat,nginx; 安装nginx命令:# yum install nginx 启动Nginx命令:# systemctl start nginx.service 给权限 ...
- Linux/CentOS 搭建 SVN 项目
1.安装svn yum -y install subversion 2.创建svn仓库路径 mkdir -p /opt/svn/project1 mkdir -p /opt/svn ...
- Linux centos 安装 Node.js
官网下载地址 https://nodejs.org/zh-cn/download/ 1.下载二进制文件 (x64) 相当于 https://nodejs.org/dist/v10.16.3/no ...
- 利用forever在Linux上实现Node.js项目自启动
在一台计算机上手动跑Node项目简单,node xx.js就搞定了,想让Node项目后台执行,尽管不能直接用node命令搞定,可是在安装了forever这个包以后.还是非常轻松的.只是要是在远程ser ...
- 在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.总结 ...
- Linux CentOS下部署Java Web项目
本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...
- Linux下Jenkins与GitHub自动构建Node项目(Vue)
根据上篇文章<Linux下Jenkins与GitHub自动构建NetCore与部署>,我们知道了Jenkins的强大功能,自动构建,部署了一个NetCore的Web,让开发人员专注于开发, ...
- .Net Core 项目发布到Linux - CentOS 7(一)
由于项目的需求,需要发布到Linux服务器上,在这里记录一下我发布的过程. 安装Linux 安装liunx系统很简单,网上也有很多教程,我是直接使用阿里云的CentOS 7.7 64位 部署环境 Li ...
- 宝塔linux部署node项目
1.安装宝塔linux之后,按需配置,我的是nginx,不是apq的. 2.下载pm2管理器 3.添加站点,将node项目从localhost打包到到站点,node_modules这个无需打包,这个依 ...
随机推荐
- 自动化运维工具-mussh工具安装配置及简单使用讲解
1.先决条件: 安装pssh工具的主机针对远程主机需要配置免秘钥认证: ssh-keygen -t rsa ssh-copy-id [remotehost] 2.下载mussh工具安装介质: http ...
- ionic中执行pop返回上一个页面,还需要执行操作
<ion-navbar> </ion-navbar> 从A页面push到B页面拿到数据以后,从B页面pop到A页面,在A页面展示刚刚拿到的数据,用 ionViewDidEnte ...
- coreseek搜索
参考文档地址:http://github.tiankonguse.com/doc/sphinx/
- 表单中Readonly和Disabled的区别:readonly在get和post可传值到后端,disabled不可
http://www.nowamagic.net/html/html_ReadonlyAndDisabled.php Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能 ...
- Newtonsoft.Json 转换DateTime类型为字符串时,串内部会有一个T。解决方案
使用Newtonsoft.Json 转换DateTime类型时,若使用标准转换,则字符串内会有一个T(虽然再转换成DateTime没有问题). 若要转换成DateTime没有T,可以加上特性: pub ...
- Flink – WindowedStream
在WindowedStream上可以执行,如reduce,aggregate,min,max等操作 关键是要理解windowOperator对KVState的运用,因为window是用它来存储wind ...
- 查找->静态查找表->顺序查找(顺序表)
文字描述 顺序查找的查找过程为:从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录:反之,若直至第一个记录,其关键字和给定值比较都 ...
- django--验证码功能实现
首先建立验证码的视图函数1需要安装pillow库 #导入绘图库 from PIL import ImageDraw #导入绘图字体库 from PIL import ImageFont #导入图片库 ...
- SSL连接分为两个阶段:握手和数据传输阶段
一.SSL概述SSL连接分为两个阶段:握手和数据传输阶段.握手阶段对服务器进行认证并确立用于保护数据传输的加密密钥,必须在传输任何应用数据之前完成握手.一旦握手完成,数据就被分成一系列经过保护的记录进 ...
- js生成唯一的id
1.生成[0,1)的随机数的Math.random Math.random().toString().replace(".", "");// 生成唯一的id 2 ...