① rap2在linux下前端和后台服务如何启动可以让服务进程在后台运行
我是按github的文档搭建的,后端用使用pm2管理
npm run dev 是测试用的 就是看你配置文件有没有配对 会不会报错。
没问题的话 就把配置写到 src/config.prod.ts里,然后用 npm run build 构建一下 会生成一个dist文件夹,然后在应用根目录运行 npm start 命令 就启动了
pm2 list 可以查看启动的应用,pm2 的命令自己搜一下 挺多的
前端,npm run build 会生成一个 build 文件夹 把 build下面的内容拷贝到 nginx 下就可以了
② 如何让nodejs在linux后台运行
例如nodejs的主文件是index.js:
1.安装forever(pm2)模块,进行启动
说明:forever是一个简单的命令式nodejs的守护进程,能够启动,停止,重启App应用。forever完全基于命令行操作,在forever进程之下,创建node的子进程,通过monitor监控node子进程的运行情况,一旦文件更新,或者进程挂掉,forever会自动重启node服务器,确保应用正常运行。
命令:
npminstall-gforever
foreverstartindex.js
2.用nohub命令
说明:将任务放到后台,但是依然可以使用标准输入,前台能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。
命令:
nohupnodeindex.js&
③ linux install pm2-web自动roll back为什么
1、最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。这是因为往正在 使用的文件中写入内容可能会导致一些问题,比如说写入正在执行的文件可能会失败,比如说往已经在持续写入的文件句柄中写入新文件会产生错误的文件。而使用 install先删除后写入(会生成新的文件句柄)的方式去安装就能避免这些问题了;
2、install命令会恰当地处理文件权限的问题。比如说,install -c会把目标文件的权限设置为rwxr-xr-x;
3、install命令可以打印出更多更合适的debug信息,还会自动处理SElinux上下文的问题。