2016-07-20 3 views
0

기본 NodeJS 블로그 응용 프로그램을 구축했으며 CentOS7 Minimal VPS (OpenVZ i think)에서 호스팅하고 있습니다.서비스로 실행하면 NodeJS 사이트에 연결할 수 없습니다.

내 자식 저장소에서 복제 한 후 적합한 노드 버전 인 MongoDB를 설치했으며 npm 종속성을 "npm install"과 함께 설치했습니다.

오류없이 명령 줄에서 수동으로 사이트를 빌드하고 시작할 수 있으며 웹 브라우저를 통해 사이트에 연결하여 모든 것이 제대로 작동하는지 확인할 수 있습니다.

그러나 'sudo systemctl blog start'로 사이트를 시작하려고하면 아무 일도 일어나지 않습니다. 'stytemctl blog status'는 초록색 "활성 (실행 중)"텍스트를 표시하지만 브라우저를 통해 연결할 수 없습니다.

chmod +x server.js 

:이 명령을 실행 파일 server.js을 한

[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 

여기

[bbauer[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 

는 /etc/systemd/system/blog.service에서 내 .service 파일입니다 누군가 내가 놓친 것 같은 것을 생각할 수 있습니까? 요청에 따라 server.js의

내용 :이 같은이 Node.js를에서 실행해야

#!/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... 
+1

server.js에 무엇이 있습니까? 시스템이 .js 파일을 node.js와 연관 시키거나 서비스 파일에 노드 경로를 지정해야합니까? – leetibbett

+0

server.js 파일을 추가했는데 첫 번째 줄 끝에서 '노드'를 끈 상태입니다. 나는 지금 시험 할 것이다. –

+0

그건 분명히 해결책이었습니다. 어떻게 든 대답을 드릴 수 있습니까? 나는 아직도 새로운이에요. –

답변

2
당신은 server.js에 지정해야합니다

:

#!/bin/env node 

나처럼 실행 명령 행에서 노드에 대한 매개 변수로 스크립트 이름을 사용하는 노드 스크립트.

관련 문제