2016-11-28 72 views
1

我正在制作一个Web服务。我正在使用node.js npm的express.js。使用php启动和停止node.js的expressjs应用程序

要将此项目提交给我的客户端,我需要创建一个控制器文件来启动和停止服务器,而不使用服务器中的命令提示符。

要启动服务器,我使用命令set DEBUG=myapp:* & npm start,因为我的服务器是基于Linux的。

有没有办法让我的服务器使用PHP来避免使用命令提示符或服务器端?

我已经提到这link但我不明白如何使用它的express.js框架。使用这个文件我只能运行单个节点文件。我不能运行set DEBUG=myapp:* & npm start

+0

它的工作我觉得免费的,如果错误依然存在 – Adiii

+0

检查我的更新答案我解决了设置调试=服务器.js:*&npm也启动这个命令 – Adiii

+0

接受答案并且投票up – Adiii

回答

0

更新

  • 先安装express.js正确How to install express.js from here
  • 看看效应初探是这样那么它在全球快递安装和做工精细

  • 型快递在CMD如果看到下面的响应,那么它的意思是它安装正确,现在你把它们叫做目录 express

  • 使用快递创建项目,并在这里运行,它的工作或没有,那么停止运行PHP代码
  • 快照显示了如何运行,你会看到如下画面后使项目并运行 here is my express project

express - 现在booom你准备从PHP 启动服务器 - 这里节点服务器响应 enter image description here - 我的PHP屏输出 php response

现在PHP代码将是明确的应用

`exec('set DEBUG=server.js:* & npm start');` 

    echo "server run sucessfully"; 

注:不写app.js写server.js

  • 保持app.js在同一目录你的php文件是
  • make app.js文件

var http = require('http');
const PORT=9999; function handleRequest(request, response){ response.end('app.js start from php'); } var server = http.createServer(handleRequest); server.listen(PORT, function(){ });

你的PHP文件

//for starting 
    exec('node server.js'); 
echo "app.js run sucessfully";} 
//for stoping 
    exec('taskkill /f /im node.exe') 
     echo "all stoped node.exe instances"; 

注意,你可以杀死你的应用程序。通过PID

JS

现在访问的网址,你会看到app.js运行

http://127.0.0.1:9999/ 
+0

我不想运行单个文件我想用'set DEBUG = myapp:*&npm start'命令调用完整的应用程序。使用'node server.js'将只执行一个文件。正如我告诉我我使用express.js – chirag

+0

所以我们运行了整个应用程序从app.js它像在PHP索引页 – Adiii

+0

我累了两次,所以第二次我把港口翻到9999 – Adiii

相关问题