Как заставить api отдыхать с реальным URL-адресом вместо localhost

Я новичок в 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 будет выполняться монгод и nodemon ./bin/www, чтобы он оставался подключенным, но, очевидно, мне нужно приложение, которое всегда слушает и имеет открытый mlab и с реальным URL-адресом как Я сказал. Может ли кто-нибудь немного рассказать, как это должно работать? Будут оценены. БОЛЬШОЕ СПАСИБО

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
1 952
3

Ответы 3

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

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

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

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

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

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;

Может быть полезно указать, что в большинстве случаев регистратор домена будет размещать ваши записи DNS бесплатно, и именно здесь вы обновите то, на что указывает домен.

icirellik 08.01.2019 04:40

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

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

Другие вопросы по теме