Ich habe eine grundlegende NodeJS Blog-Anwendung gebaut und ich hosten es auf einem Centos7 Minimal VPS (OpenVZ glaube ich).Ich kann keine Verbindung zu meiner NodeJS-Site herstellen, wenn sie als Dienst ausgeführt wird. Es gibt keine Fehlermeldungen, die ich finden kann
Ich habe die entsprechende Knoten-Version, MongoDB und die Abhängigkeiten npm mit "npm install" nach dem Klonen von meinem Git-Repository installiert.
Ich kann die Site manuell über die Befehlszeile fehlerfrei erstellen und starten und die Site über einen Webbrowser erreichen, um zu überprüfen, ob alles funktioniert.
Wenn ich jedoch versuche, die Seite mit 'sudo systemctl blog start' zu starten, scheint nichts zu passieren. "stytemctl blog status" zeigt grünen "aktiven (laufenden)" Text, aber ich kann keine Verbindung über einen Browser herstellen.
[[email protected] Blog-Project]$ sudo systemctl status blog
● blog.service - blog nodejs server
Loaded: loaded (/etc/systemd/system/blog.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2016-07-20 15:56:31 EST; 2min 52s ago
Main PID: 12451 (server.js)
CGroup: /system.slice/blog.service
└─12451 /usr/bin/env /var/www/Blog-Project/server.js
Hier ist meine .service Datei aus /etc/systemd/system/blog.service
[Unit]
Description=blog nodejs server
After=network.target
[Service]
ExecStart=/var/www/Blog-Project/server.js
Restart=always
User=root
Group=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/Blog-Project
[Install]
WantedBy=multi-user.target
ich die server.js mit diesem Befehl ausführbar gemacht haben:
chmod +x server.js
Kann jemand an etwas denken, das ich vielleicht verpasst habe?
Inhalt server.js wie gewünscht:
#!/usr/bin/env
// Require packages
var express = require('express');
var cors = require('cors');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var stormpath = require('express-stormpath');
var app = express();
// Middleware
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(express.static(__dirname + '/views'));
app.use('/images', express.static(__dirname + '/images'));
...... etc., etc...
Was ist in Ihrem server.js? Verbindet Ihr System .js-Dateien mit node.js oder müssen Sie in Ihrer Servicedatei den Pfad angeben? – leetibbett
Ich habe die Datei server.js hinzugefügt und bemerke, dass ich den 'Knoten' am Ende der ersten Zeile verlassen habe. Ich werde jetzt testen. –
Das war definitiv die Lösung. Kann ich dir die Antwort irgendwie geben? Ich bin noch neu in SO. –