【发布时间】:2018-05-09 09:47:42
【问题描述】:
我正在使用 react-router,所以我想在 AWS Ec2 中托管。如何部署应用程序并在后台永久运行或让我知道是否有其他方式
【问题讨论】:
标签: reactjs amazon-ec2
我正在使用 react-router,所以我想在 AWS Ec2 中托管。如何部署应用程序并在后台永久运行或让我知道是否有其他方式
【问题讨论】:
标签: reactjs amazon-ec2
您可以使用 Amazon S3。
在您的本地实例中执行 npm run build。
将文件上传到 S3 存储桶实例。
可以选择静态网站托管。
【讨论】:
【讨论】:
npm install -g pm2 安装 pm2 Step-2 关闭运行反应的服务器,使用 sudo pm2 start server.js 使用 pm2 运行应用程序
通过使用它,您可以在同一台机器上部署多个 React 应用程序。
部署应用程序需要什么?
1. Nodejs
2. PM2js
3. Koa.js
4. Koa-static.js
您只需要执行此过程。
npm run build。文件名: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}` ) );
【讨论】: