我正在使用 react-router,所以我想在 AWS Ec2 中托管。如何部署应用程序并在后台永久运行或让我知道是否有任何其他方式
如何在 AWS EC2 中部署 create-react-app
IT技术
reactjs
amazon-ec2
2021-05-14 20:45:21
4个回答
您可以使用 Amazon S3。
在本地实例中执行 npm run build。
将文件上传到 S3 存储桶实例。
可以选择静态网站托管。
您可以使用自定义端口在任何云 VM(虚拟机)(如 ec2)中构建和部署 React.js 应用程序。
通过使用它,您可以在同一台机器上部署多个 React 应用程序。
部署应用程序需要什么?
1. Nodejs
2. PM2js
3. Koa.js
4. Koa-static.js
您只需要执行此程序即可。
- 在您的项目中运行此命令
npm run build
。 - 它将在您的项目中创建一个构建文件夹。
- 创建项目文件夹的 zip 并将其移动到您的VM (ec2) 上并解压缩。
- 在您的项目根文件夹中创建一个Nodejs脚本文件,并在其中粘贴以下脚本。
文件名:buildStart.js
const httpPort = 80;
const httpsPort = 443;
const koa = require( 'koa' );
const serve = require( 'koa-static' );
const http = require( 'http' );
const https = require( 'https' );
const fs = require( 'fs' );
const app = new koa();
const cert = fs.readFileSync( '/ssl/cert.crt' );
const key = fs.readFileSync( '/ssl/private.key' );
app.use( serve( __dirname + '/build', {
maxage: 365 * 24 * 60 * 60
} ) );
http.createServer( app.callback() ).listen( httpPort, () => console.log( `sever is listening on ${httpPort}` ) );
https.createServer( { cert, key }, app.callback() ).listen( httpsPort, () => console.log( `sever is listening on ${httpsPort}` ) );
或者
上面的代码将在HTTP和HTTPS上启动你的react应用程序。如果您没有 https 证书,那么您只能为HTTP启动它。
const httpPort = 80;
const httpsPort = 443;
const koa = require( 'koa' );
const serve = require( 'koa-static' );
const http = require( 'http' );
const https = require( 'https' );
const fs = require( 'fs' );
const app = new koa();
app.use( serve( __dirname + '/build', {
maxage: 365 * 24 * 60 * 60
} ) );
http.createServer( app.callback() ).listen( httpPort, () => console.log( `sever is listening on ${httpPort}` ) );