Nit*_*mar 5 amazon-web-services node.js angular
我正在尝试将一个非常基本的角度应用程序部署到弹性豆茎上.该项目是使用角度cli创建的.我没有对这个项目中的文件进行任何更改.
以下是我部署应用程序的步骤
当我检查eb-activity.log时,我总是遇到'npm install failed'错误.
我在这里错过了一些小事吗?非常感谢任何有关将角度应用程序部署到EB的帮助.
解决了部署问题!我使用 express 创建了一个服务器并为我的 angular 应用程序提供服务。我需要将 server.js 添加到我的 dist/ 文件夹中。我的 server.js 文件看起来像这样
const express = require('express');
const http = require('http');
const app = express();
const port = process.env.PORT || 3001;
app.use(express.static(__dirname));
const server = http.createServer(app);
server.listen(port, ()=> console.log("Running..."));
Run Code Online (Sandbox Code Playgroud)
虽然这并没有具体回答你的问题,但我不认为Elastic Beanstalk是适合这项工作的工具.我强烈建议在S3上的静态网站上托管,如果您想要https和自定义域名,请在其前面放置CloudFront分发.
创建一个S3存储桶,例如www.mydomainname.com
启用静态网站托管
将Bucket Policy设置为public read
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::www.mydomainname.com/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)在本地构建角度应用程序,进入dist文件夹.
使用aws-cli将文件推送到网站
aws s3 sync dist s3://www.mydomainname.com/
这个解决方案将花费几美分,远低于Elastic Beanstalk解决方案(EC2,EBS,ELB).Elastic Beanstalk非常适合Monolithic应用程序,但它们的存在是有编号的,而且当你谈论SPA,IMO时,它是错误的范例.
我知道我现在正在推动自己的运气,但我也强烈建议使用无服务器框架来构建和部署NodeJS API端点,以便Angular App与之交互.
按照步骤:
-- 角度应用
ng build --prod命令构建您的 Angular 应用程序您刚刚构建的 angular 应用程序不能作为静态网站运行,它必须运行在 Node.js 服务器之上
-- Node.js 应用
npm init并按照说明进行操作npm install express path --save命令安装 Express 和 PathRun Code Online (Sandbox Code Playgroud)var path = require('path'); const port = process.env.PORT ||3000; const app = express(); //Set the base path to the angular-test dist folder app.use(express.static(path.join(__dirname, 'dist/yourappfolder'))); //Any routes will be redirected to the angular app app.get('*', function(req, res) { res.sendFile(path.join(__dirname, 'dist/yourappfolder/index.html')); }); //Starting server on port 8081 app.listen(port, () => { console.log('Server started!'); console.log(port); });
希望这是有用的!
| 归档时间: |
|
| 查看次数: |
5011 次 |
| 最近记录: |