Я разрабатываю приложение Koa, которое представляет собой новую веб-инфраструктуру, разработанную командой Express. Вот пошаговое руководство по развертыванию приложения koa.js на вашем сервере Amazon Web Service (AWS) Ubuntu.
Во-первых, запустите экземпляр Ubuntu на AWS. Затем вам нужно изменить группу безопасности.
В противном случае, если вы попадете в общедоступный домен в браузере, он застрянет в состоянии «Подключение» до истечения времени ожидания. И сайт недоступен, как показано на скриншоте ниже:
По умолчанию группа мастера запуска имеет только тип ssh.
Нажмите кнопку «Изменить», чтобы добавить правило входящего трафика для HTTP-порта 80 и HTTPS-порта 443:
Во-вторых, подключитесь к своему инстансу по ssh, установите nodejs согласно официальной документации:
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt-get install -y nodejs
В-третьих, мы используем Nginx в качестве обратного прокси-сервера:
$ sudo apt-get update
$ sudo apt-get install nginx
Откройте файл конфигурации и отредактируйте его, как показано ниже. Будьте осторожны, чтобы не пропустить точку с запятой:
server {
listen 80 default_server; listen [::]:80 default_server; root /var/www/yourApp;location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }
Сохраните файл и перезапустите службу Nginx:
$
sudo systemctl restart nginx
Наконец, клонируйте свой репозиторий git по пути /var/www/yourApp, вы получите отказ в разрешении, поэтому измените владельца папки. Вы можете заменить часть ubuntu на whoami:
$ sudo
chown -R ubuntu /var/www
Запустите свой сервер, например, простой app.js:
var koa = require('koa'); var app = koa(); // logger app.use(function *(next){ var start = new Date; yield next; var ms = new Date - start; console.log('%s %s - %s', this.method, this.url, ms); }); // response app.use(function *(){ this.body = 'Hello World'; }); app.listen(3000);
Запустите сервер:
$ node app.js
Откройте браузер и перейдите в общедоступный домен:
Сделанный. Оставьте комментарий ниже, если у вас есть какие-либо вопросы :)