起動nodejsスクリプトUbuntuを作成します。

起動nodejsスクリプトUbuntuを作成します。

これはUbuntu用の起動スクリプトを書く最初の試みです。私のAPI用のExpressサーバーを起動する必要があります。Ubuntu ServerでNode.jsサービスを常にアクティブに保つ

だから私のserver.jsは次のようになります(私も作成しましたchmod +x)。

import express from 'express'
import morgan from 'morgan'
import bodyParser from 'body-parser'
import mongoose from 'mongoose'
import router from './router'

// chargement du fichier .env qui contient les différentes configuration du projet
require('dotenv').config({path: __dirname + '/.env'})

// Connexion à MongoDB
mongoose.connect('mongodb://localhost/Lyveat_Rider')

// Initialisation du serveur http
const app = express()

// Logger qui affiche toutes les requêtes dans la console
app.use(morgan('combined'))
// Parseur du body pour les requêtes
app.use(bodyParser.urlencoded({ extended: false }));

// Utilise v1 comme prefix pour l'API
app.use('/v1', router)

// Launch the server on port 3000
const server = app.listen(process.env.PORT, () => {
  const { address, port } = server.address();
  console.log(`Listening at http://${address}:${process.env.PORT}`)
});

server_node.service次の内容で、/etc/systemd/system/ 内に名前付きサービスを作成しました。

[Unit]
Description=Node.js Lyveat_Rider  Http Server

[Service]
PIDFile=/tmp/lyveat_rider-99.pid
Restart=always
KillSignal=SIGQUIT
WorkingDirectory=/home/dev/lyveat/api
ExecStart=/home/dev/lyveat/api/server.js

[Install]
WantedBy=multi-user.target

いくつかの方法を試しましたが、最初にヘッダー(#!usr / bin / envノード)なしで次のエラーが発生しました。

EXECステップで/home/dev/lyveat/api/server.jsを生成できませんでした:Exec形式エラー

タイトルを入力するとエラーが発生します。

/usr/bin/env: 'node /** server.js */\r': そのファイルやディレクトリはありません。

また、nodeの代わりにnodejsを試してみましたが、別のトピックでこのコマンドを試してみました。

ln -s /usr/bin/nodejs /usr/bin/node

だから私はそれを動作させる方法を本当に知りません。

ベストアンサー1

私はこれがあなたがサービスを作成する方法に対する解決策ではないことを知っていますが、これは私のサーバーについて何をしましたか。

PM2をお試しください。複数のnodejsサーバーとアプリケーションを簡単に実行および管理できます。セットアップが簡単で、起動時にサーバーを起動できます。何らかの理由でサーバーが停止した場合は、サーバーを監視して起動することもできます。これクイックスタート必要なものを教えてください。

おすすめ記事