Tag: linux

运行一个React应用程序作为后台进程

我对于部署前端代码和问题是全新的。 我有一个React应用程序,我需要作为后台进程运行,但是我有点困惑如何做到这一点。 我运行一个npm脚本 npm run build 在服务器上构build,缩小和服务项目。 构build过程的相关代码是这样的。 "prebuild": "npm-run-all clean-dist test lint build:html", "build": "babel-node tools/build.js", "postbuild": "babel-node tools/distServer.js" 这是distServer.js中的代码 import express from 'express'; import path from 'path'; import open from 'open'; import compression from 'compression'; const port = 3000; const app = express(); app.use(compression()); app.use(express.static('dist')); app.get('*', function(req, res){ res.sendFile(path.join(__dirname, '../dist/index.html')); }); app.listen(port, function(err){ […]

在PowerShell中,使用echo命令编写的文件不能与NodeJS一起使用

echo "console.log('Test success!')" > app.js node app 在Linux上运行良好。 PowerShell,但是,会产生以下错误消息: ~\apps\test\app.js:1 (function (exports, require, module, __filename, __dirname) { c ^ SyntaxError: Invalid or unexpected token at Object.exports.runInThisContext (vm.js:76:16) at Module._compile (module.js:528:28) at Object.Module._extensions..js (module.js:565:10) at Module.load (module.js:473:32) at tryModuleLoad (module.js:432:12) at Function.Module._load (module.js:424:3) at Module.runMain (module.js:590:10) at run (bootstrap_node.js:394:7) at startup (bootstrap_node.js:149:9) at bootstrap_node.js:509:3 另一方面,如果我要echo > […]

从node.js脚本中禁用sudo / root权限

我需要在我的node.js应用程序中使用sudo权限在端口80上运行服务器,或者运行一些其他启动pipe理的东西。 但是,当我这样做,我不希望这个特权了,因为那么我会从node_modules运行一些外部库。 那么,我怎样才能从node.js脚本中禁用我的pipe理权限呢?

无法连接到Google云计算引擎上的NodeJS WS Server

我创build了两个构成一个小型多人游戏的JavaScript文件(一个服务器文件和一个客户端文件)。 当我使用node server.js在本地运行服务器文件时,它开始运行。 然后我可以用node client.js运行客户端文件来玩游戏,并且一切正常。 但是,当我尝试在Linux实例(谷歌云上的计算引擎)上实况托pipe游戏时,我无法从客户端连接到它。 我在nodeJS中使用WS库作为websocket。 这里是代码: server.js const WebSocket = require('ws'); const util = require('util'); const wss = new WebSocket.Server({ port: 8889 }); var magicNum = Math.ceil(Math.random() * 5); var champion = "James"; var connections = []; console.log('server listening…'); wss.on('connection', function connection(ws) { connections.push({ ws: ws, name: "", score: 0 }); ws.on('message', function […]

什么envvariables应该节点使用加载库?

我得到这个错误在服务器上: node:加载共享库时出错:libstdc ++。so.6:无法打开共享目标文件:没有这样的文件或目录 然而一个简单的发现表明: /usr/lib/x86_64-linux-gnu/libstdc++.so.6 我已经在.bashrc中设置了以下内容: export PATH=$PATH:~/.local/bin:/usr/lib export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:~/.local/lib export LIBRARY_PATH=/usr/lib:/usr/local/lib:~/.local/lib 但节点找不到现有的libstd库。 我已经做好了 source .bashrc 并且 echo $LIBRARY_PATH 这是我search的一个真正常见的问题,但大多数解决schemebuild议在我的情况下安装文件安装节点只是看不到它。

为vue-cli运行“npm run dev”时出现跨环境问题

我与CentOS7,安装在VirtualBox(真正的操作系统:Windows 7)。 节点版本:6.10.3 Npm版本:3.10.10 我安装了vue-cli,像这样: sudo npm install -g vue-cli 然后我创build了一个新的vue项目,如下所示: sudo vue init webpack-simple mynewproject 但运行“npm run dev”时出现错误: > mynewproject@1.0.0 dev /var/www/html/mynewproject > cross-env NODE_ENV=development webpack-dev-server –open –hot sh: cross-env : commande introuvable npm ERR! Linux 3.10.0-514.el7.x86_64 npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "run" "dev" npm ERR! node v6.10.3 npm ERR! npm v3.10.10 npm ERR! […]

无法为节点命令执行二进制文件

当我执行: / bin / sh -xe节点-v我得到错误:node:node:不能执行二进制文件 请build议我需要做些什么来解决这个错误。 当我执行下面的命令: file / bin / bash输出:/ bin / bash:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),dynamic链接(使用共享库),用于GNU / Linux 2.6.18,去掉 GNU / Linux 2.6.18的文件节点节点:ELF 64位LSB可执行文件,x86-64版本1(GNU / Linux),dynamic链接(使用共享库),不会被去除

如何基于GitHub webhook自动化Docker部署?

所以我inheritance了一个应用程序,并不太满意当前的部署工作stream程。 有一个在ec2服务器上运行的docker实例,开发人员一直在合并他们的本地工作: rsync -arhvz –progress ./ ubuntu@52.12.345.67:/home/ubuntu/app –exclude node_modules 然后进入服务器本身并运行一个deploy.sh脚本。 我只是喜欢push事件到主分支触发这个同步和部署。 这怎么可能? 据我所知,我们不支付docker中心帐户 – 我们没有私人dockerregistry。

NodeJS包pipe理

我想运行这个简单的代码行(使用Node.js 8.0.0): time node -e "console.log(require('bcrypt').hashSync(process.argv[1], 8));" your-password-here 比较bcrypt和运行Linux Alpine的RaspberryPi上的bcryptjs。 起初它给了我: module.js:487 throw err; ^ Error: Cannot find module 'bcrypt' at Function.Module._resolveFilename (module.js:485:15) at (…) at evalScript (bootstrap_node.js:432:27) 所以我试着用这个命令安装bcrypt: npm install -g –production bcrypt 哪些工作(后回落编译从源代码,因为没有发现我的armv7处理器的Linux依赖)。 但是当再次尝试testing命令时,我有完全相同的错误(找不到模块'bcrypt')。 这只是做了我认为是“项目本地”安装没有“-g”选项(即使我没有项目),它终于工作和bcrypt运行我的testing命令时发现。 npm install bcrypt 有些熟悉NodeJS的人可以解释一下这个奇怪的机制吗?

给进程的variables或名称杀死这个实例的每个进程,但只有给定的名称(variables)?

我有一个程序(在这种情况下是node.js进程)运行许多进程。 有时我需要运行几个(例如10个nodejs进程),我用Makefile启动它们。 我希望能够在我的Makefile中使用一些bash命令在需要时closures这10个进程,但是我不想杀死其他node.js正在运行的进程。 所以我可以使用pkill node但它会杀死每个节点进程,我怎么能给这个10进程的一些名称或一些variables,杀死只有他们杀死-9或pkill?