私は基本的なNodeJSブログアプリケーションを構築しており、CentOS7 Minimal VPS(OpenVZはそうだと思います)でホストしています。サービスとして実行すると、NodeJSサイトに接続できません。
gitリポジトリからクローンを作成した後、適切なノードバージョンの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
ここ
[[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の
内容:
#!/bin/env node
かのようにそれを実行します。
#!/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...
あなたのserver.jsには何がありますか?あなたのシステムが.jsファイルをnode.jsに関連付けるか、サービスファイルにノードパスを指定する必要がありますか? – leetibbett
私はserver.jsファイルを追加しました。私は最初の行の最後に 'node'を残していることに気づいています。私は今試してみる。 –
これは間違いなく解決策でした。何とか答えを教えてもらえますか?私はまだ新しいです。 –