2017-01-16 7 views
1

Ich habe versucht, eine Node.js App auf Bluemix zu schieben. Die App funktionierte auf meinem Mac gut, startete aber aus irgendeinem Grund nicht auf Bluemix.CF Push zu Bluemix fehlgeschlagen

Die Bluemix log enthält einige Fehler:

CELL/0Starting health monitoring of containerJan 16, 2017 10:12:29 PM 
APP/0runtime: failed to create new OS thread (have 5 already; errno=11)Jan 16, 2017 10:12:29 PM 
APP/0runtime: may need to increase max user processes (ulimit -u)Jan 16, 2017 10:12:29 PM 
APP/0fatal error: newosprocJan 16, 2017 10:12:29 PM 
APP/0Express app running on port 3000Jan 16, 2017 10:12:30 PM 
CELL/0Timed out after 1m0s: health check never passed.Jan 16, 2017 10:13:31 PM 
CELL/0Exit status 0Jan 16, 2017 10:13:31 PM 
CELL/0Destroying containerJan 16, 2017 10:13:42 PM 
API/0App instance exited with guid a1525a65-4e18-41c6-87a0-53656bc45810 payload: {"instance"=>"", "index"=>0, "reason"=>"CRASHED", "exit_description"=>"2 error(s) occurred:\n\n* 1 error(s) occurred:\n\n* Exited with status 4\n* 2 error(s) occurred:\n\n* cancelled\n* process did not exit", "crash_count"=>3, "crash_timestamp"=>1484601222302319454, "version"=>"3480d7ed-0634-4cd6-a43a-94e490c3cafb"}Jan 16, 2017 10:13:42 PM 
CELL/0Successfully destroyed containerJan 16, 2017 10:13:45 PM 
CELL/0Creating containerJan 16, 2017 10:14:22 PM 
CELL/0Successfully created containerJan 16, 2017 10:14:34 PM 
CELL/0Starting health monitoring of containerJan 16, 2017 10:14:36 PM 
APP/0Express app running on port 3000Jan 16, 2017 10:14:36 PM 
CELL/0Timed out after 1m0s: health check never passed.Jan 16, 2017 10:15:37 PM 
CELL/0Exit status 0Jan 16, 2017 10:15:37 PM 
CELL/0Destroying containerJan 16, 2017 10:15:48 PM 
API/4App instance exited with guid a1525a65-4e18-41c6-87a0-53656bc45810 payload: {"instance"=>"", "index"=>0, "reason"=>"CRASHED", "exit_description"=>"2 error(s) occurred:\n\n* 1 error(s) occurred:\n\n* Exited with status 4\n* 2 error(s) occurred:\n\n* cancelled\n* process did not exit", "crash_count"=>4, "crash_timestamp"=>1484601348331703378, "version"=>"3480d7ed-0634-4cd6-a43a-94e490c3cafb"}Jan 16, 2017 10:15:48 PM 
CELL/0Successfully destroyed containerJan 16, 2017 10:15:49 PM 
CELL/0Creating containerJan 16, 2017 10:16:54 PM 
CELL/0Successfully created containerJan 16, 2017 10:17:04 PM 
APP/0Starting app with 'node app.js 'Jan 16, 2017 10:17:08 PM 
APP/0Express app running on port 3000Jan 16, 2017 10:17:08 PM 

Anbringen der Konfigurationsdateien:

1. manifest.yml

--- 
applications: 
- name: tks 
    memory: 256M 
    instances: 1 
    host: tks 

und 2. package.json

{ 
    "name": "ski-dictionary", 
    "version": "1.0.0", 
    "description": "A collection of skier terms and definitions", 
    "main": "app.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1", 
    "start": "node app.js" 
    }, 
    "author": "Peter Schleinitz", 
    "license": "MIT", 
    "dependencies": { 
    "body-parser": "^1.14.1", 
    "cors": "^2.7.1", 
    "express": "^4.13.3", 
    "request": "^2.79.0" 
    } 
} 

Hoffe, dass hilft.

Antwort

1

Es gibt eine Reihe von Dingen, die das Problem sein könnte, aber hier ist das, was ich denke, sind wahrscheinlich die häufigsten Ursachen:

1. Ihr Anschluss wird nicht korrekt auf Bluemix gesetzt

Dies würde erklären, warum Ihre App lokal läuft, aber nicht auf Bluemix läuft. Ich hatte dieses Problem schon einmal, also habe ich meine Konfigurationsdateien durchgesehen, um sicherzustellen, dass alles korrekt eingestellt wurde. Stellen Sie sicher, können Sie laufen und implementieren einen einfachen Knoten Beispiel wie folgt aus:

https://github.com/IBM-Bluemix/node-helloworld

2. Sie müssen den Timeout

erhöhen Wenn Sie Anwendung besonders groß ist, müssen Sie möglicherweise die erhöhen Auszeit. Um das zu tun einen Timeout-Flag in Ihrem Manifest hinzufügen:

timeout: 120 zum Beispiel

https://docs.cloudfoundry.org/devguide/deploy-apps/large-app-deploy.html


Ohne Zugriff auf den Code, wird es ein wenig schwierig, das Problem zu reproduzieren, aber lassen Sie mich wissen, ob die oben genannten Lösungen für Sie arbeiten.

+2

Stimmen Sie mit Joe überein. Ihre Protokolle zeigen an, dass Sie Port 3000 überwachen. Sie sollten 'var port = process.env.PORT || ausführen 3000; ' –

+0

thx, ich habe ein Beispiel benutzt, das ich angepasst habe – jpsstack

Verwandte Themen