Так что я в растерянности и мне действительно нужно какое-то направление.
Я слушал курс Microsoft "Введение в NodeJS" по edX.Нам пришлось создать очень простой RESTful API-интерфейс для блога с использованием Express.Я пытался заставить его работать на моем общем хостинге namecheap.
Что я сделал:
- Следовал этим инструкциям для установки nvm споследняя стабильная версия узла.
- После этого вопроса , чтобы заставить мое экспресс-приложение работать с https
- Загрузил приложение на хост-сервер.
- SSH'd на хост-сервер, запустил
npm install
. - запустил
node server.js
, чтобы запустить сервер.Кажется, все в порядке. - Попробуйте перейти на мой веб-сайт через порт, который прослушивает приложение
https://samkeene.co.uk:3000/blog-api
- Ожидается увидеть "Hello World", но вместо этого получить тайм-аут.
server.js
const routes = require('./routes');
const express = require('express');
const logger = require('morgan');
const bodyParser = require('body-parser');
const errorhandler = require('errorhandler');
const https = require('https');
const fs = require('fs');
const path = require('path');
let store = {
posts: []
};
let key = fs.readFileSync(path.join(__dirname,'../../ssl/keys/c07f7_003d1_ecb06ccb2afcd72cfa43b6011c82464e.key'));
let cert = fs.readFileSync(path.join(__dirname,'../../ssl/certs/samkeene_co_uk_c07f7_003d1_1574035199_5b90fc5e96ac0c534d2ee116af6fd342.crt'));
let options = {
key: key,
cert: cert
};
let app = express();
app.use(bodyParser.json());
app.use(logger('dev'));
app.use(errorhandler());
app.use((req, res, next) => {
req.store = store;
next();
});
app.get('/', (req, res) => {
res.send('hello world')
});
app.get('/posts', routes.Posts.getPosts);
app.post('/posts', routes.Posts.addPost);
app.put('/posts/:postID', routes.Posts.updatePost);
app.delete('/posts/:postID', routes.Posts.removePost);
app.get('/posts/:postID/comments', routes.Comments.getComments);
app.post('/posts/:postID/comments/', routes.Comments.addComment);
app.put('/posts/:postID/comments/:commentID', routes.Comments.updateComment);
app.delete('/posts/:postID/comments/:commentID', routes.Comments.removeComment);
let server = https.createServer(options, app);
server.listen(3000, () => {
console.log("server starting on port : " + 3000)
});
Остальные файлы можно найти в его git repo .(или перейдите к https://www.samkeene.co.uk/blog-api/)
Буду очень признателен за некоторую помощь.
Редактировать: Я решил просто попробовать, если я смогу запустить еще более простое приложение:
server.js
const express = require('express');
let app = express();
app.get('/', (req, res) => {
console.log("hello");
res.send('hello world')
});
app.listen(3001);
Это приводит к той же проблеме! Тайм-аут соединения. Я действительно в замешательстве.