gpt4 book ai didi

node.js - 作为服务运行时无法连接到我的 NodeJS 站点。我找不到任何错误消息

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:10 28 4
gpt4 key购买 nike

我构建了一个基本的 NodeJS 博客应用程序,并将其托管在 Centos7 Minimal VPS(我相信是 OpenVZ)上。

从我的 git 存储库克隆后,我已经使用“npm install”安装了适当的 Node 版本、MongoDB 和 npm 依赖项。

我可以从命令行手动构建和启动站点而不会出现任何错误,并通过网络浏览器访问该站点以验证一切正常。

但是,当我尝试使用“sudo systemctl blog start”启动站点时,似乎什么也没有发生。 “stytemctl 博客状态”显示绿色“事件(运行)”文本,但我无法通过浏览器连接。

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

这是我的 .service 文件,来自/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

我已经使用以下命令使 server.js 可执行:

chmod +x server.js

谁能想到我可能遗漏了什么?

请求的 server.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...

最佳答案

您必须在 server.js 中指定它应该在 node.js 下运行,如下所示:

#!/bin/env node

或者像 Node 脚本一样执行它,使用脚本名称作为命令行 Node 的参数。

关于node.js - 作为服务运行时无法连接到我的 NodeJS 站点。我找不到任何错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38490925/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com