#amazon-web-services #ember.js #amazon-elastic-beanstalk
#amazon-веб-сервисы #ember.js #amazon-elastic-beanstalk
Вопрос:
Я пытался и искал, как я и развернуть приложение emberjs на AWS Elastic Beanstalk, но я не могу найти способ. Я использую EB CLI для развертывания и настройки.
Если у кого-нибудь есть опыт развертывания приложения ember в Elastic Beanstalk, пожалуйста, поделитесь.
Комментарии:
1. Не могли бы вы немного пояснить, почему вы хотите использовать Elastic Beanstalk? Используете ли вы Ember Fastboot ? В противном случае развертывание Ember — это просто набор статических файлов, размещенных где-то. Обычное развертывание в AWS для этого сценария использует S3 и CloudFront. Ember-cli-deploy описывает это в своей документации .
2. Привет, @jelhan, ты прав. Я новичок в ember и AWS, поэтому не знаю рабочей среды. Нет, я не использую Ember Fastboot.
3. В этом случае я бы рекомендовал вместо этого использовать S3 и CloudFront. Это сэкономит вам сложность и деньги. 😉
Ответ №1:
Как упоминал @jelhan в разделе комментариев к теме, вам не нужен ElasticBeanstalk для размещения статических файлов. Если вы не используете ember-fastboot, просто используйте S3 и CloudFront.
Вы также можете использовать AWS amplify https://aws.amazon.com/amplify/console /
Помимо этого, чтобы загрузить приложение на Elastic Beanstalk, выполните следующие действия:
- Обновить / добавить путь dist к
"dist/www"
внутреннему.ember-cli.js
файлу:
"outputPath": "dist/www"
- Добавьте
package.json
{
"name": "ember_frontend_server",
"version": "1.0.0",
"description": "We are using node server to serve static files",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"author": "",
"license": "MIT",
"dependencies": {
"express": "^4.17.1",
"path": "^0.12.7"
}
}
- Добавьте
server.js
файл для размещения статических файлов
var express = require('express');
var path = require('path')
var app = express();
var port = process.env.PORT || process.argv[2] || 8081;
app.use(express.static(path.normalize(__dirname '/www')))
app.use('*', (req, res) =>
{
res.sendFile(__dirname '/www/index.html');
});
app.listen(port);
- Инициализируйте настройку elastic beanstalk с помощью eb init
- разверните приложение в elastic beanstalk, выполнив команду eb deploy