Как сделать api отдых с реальным URL вместо localhost - PullRequest
0 голосов
/ 08 января 2019

Я новичок в MEAN, я хочу знать, как позвонить в мой API, но с реальным URL, я использовал конечную точку API только с localhost, как localhost: 3000 / users / 1. Я купил домен в aws в качестве шлюза, но он прост: mydomain.com / users / 1 ???. Я спрашиваю, потому что я не думаю, что это так просто. Или просто использует localhost, так как каждое устройство имеет свой собственный localhost, и коллекции находятся в mlab. Я делаю приложение с ним, это веб-приложение с ionic, angular, node, express и mongodb, я подумал, что будет необходимо использовать лямбды и динамо, если я вызываю шлюз домена, но я просто хочу, чтобы реальный домен совершал вызов API, чтобы я мог получить доступ отовсюду, а затем управлять всем с узла, монго и т. д. Вместо лямбды, динамо и т. д. есть только конечная точка, которая может быть доступ из любого места. Это звучит немного глупо, но я не знаю, как это работает, поскольку я только что изучил это в течение короткого времени, люди говорили мне об указании его на IP-адрес или прокси-серверы и т. Д., Но я понятия не имею об этом. Еще одна вещь, касающаяся баз данных, которые я видел только в mongoDB, поэтому для открытия соединения с mlab необходимо выполнить mongod и nodemon ./bin/www, поэтому он остается подключенным, но, очевидно, Я хочу приложение, которое всегда слушает и имеет открытый mlab и с реальным URL, как я уже сказал. Может кто-нибудь немного подсказать, как это должно работать? Будет оценено. СПАСИБО МНОГО

Ответы [ 3 ]

0 голосов
/ 08 января 2019

Итак, есть несколько вещей, которые вам нужно сделать.

  1. Доменное имя (которое у вас есть)
  2. Сервер для запуска вашего приложения (@stever резонанс с Heroku - хорошее начало)
  3. DNS, чтобы указать URL-адрес IP-адреса сервера или места, где вы в конечном итоге разместите приложение

Что касается подключения к mlab. Чтобы сохранить соединение, мои экспресс-приложения используют этот фрагмент на ранней стадии для подключения к БД.

mongoose.connect(process.env.DATABASE, { useNewUrlParser: true, useCreateIndex: true });
mongoose.Promise = global.Promise;
mongoose.connection.on('error', (err) => {
  console.error(`Oooops → ${err.message}`);
});

А затем со всеми моими моделями назначьте глобальное обещание.

const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
0 голосов
/ 04 апреля 2019

Hello Mate, вот несколько шагов, которые я выполняю при каждом развертывании

  1. Получите сервер от любого провайдера, такого как AWS или Digital Ocean.
  2. Поскольку это установка проекта Angular + Node Nginx и pm2 на вашем сервере pm2 production-setup ! Настройка производства Nginx !
  3. Nginx для углового развертывания, а pm2 для nodejs.
  4. Настройте брандмауэр, используя utf, чтобы разрешить всем ip'ам или белому списку некоторых ip'ов проверить шаг 4 здесь !
  5. Теперь у вас будет хорошо работающий производственный сервер
0 голосов
/ 08 января 2019

Хороший первый шаг - Героку. У них есть бесплатный уровень хостинга, и, поскольку вы создаете MEAN, вы, вероятно, используете Express - они делают развертывание Express очень простым. После того, как вы настроили учетную запись и загрузили инструменты CLI, вы можете создать приложение из командной строки, и оно назначит доменное имя (или вы можете выбрать свое собственное). Подтолкни свой экспресс сервер к герою мастера. Вы можете создать соединение mLab как ресурс при настройке приложения. скопируйте / вставьте URL-адрес mLab на сервер, и все готово.

Не забудьте изменить nodemon обратно на узел в вашем стартовом скрипте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...