我正在使用react-router,所以我想在AWS Ec2中托管。如何部署应用程序并在后台永久运行或以任何其他方式让我知道
答案 0 :(得分:3)
您可以使用Amazon S3。
在本地实例中执行npm run build。
将文件上传到S3存储桶实例。
可以选择静态网站托管。
答案 1 :(得分:3)
我借助上述链接在EC2上部署了我的应用程序。 这个链接也有帮助 -
答案 2 :(得分:1)
我对React有点新手,但是我想在这里补充我的经验。 我使用Apache在AWS EC2上部署了CRA应用。
现在完成。最后,确保使用HashRouter 而不是BrowserRouter。 因为EC2不允许.htaccess文件将所有请求重定向到index.html,但是用HashRouter替换BrowserRouter可以帮助我解决该问题。 希望这可以帮助其他人节省时间。谢谢。
答案 3 :(得分:0)
通过使用它,您可以在同一台计算机上部署多个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}` ) );