2016-11-28 69 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

相關問題