把React项目部署并运行在AWS EC2 Amazon Linux 2023
准备事项
首先通过ssh连接到EC2。
通过yum命令安装npm:
sudo yum install npm
安装npm后,可以通过npm安装yarn:
sudo npm install yarn -g
通过yarn部署项目:cd到项目的folder(通过git把代码拉到AWS),然后执行:
yarn install
如果有.env.local里相关变量要设置的,请参考官网这里;
然后
yarn build
再
yarn start
使用pm2运行项目:
pm2是一个流行的进程守护工具,用于管理Node.js进程的启动、停止和监控。
1. 安装pm2
sudo yarn global add pm2
2. 通过pm2启动项目
pm2 start yarn --name "your project name" -- start
-- start:指定要运行的脚本名称,这里是 start,对应于package.json文件中的scripts部分。
如果是node.js项目,可以使用:
pm2 start "npm run start" --name myAppName
以上"npm run start"也是package.json文件中的scripts部分。
3. 配置PM2自动启动:为了确保React或Next.js应用程序在服务器重启后自动启动,可以运行以下命令:pm2 save 和 pm2 startup
- pm2 save:将当前PM2进程列表保存为启动时自动启动的配置。
- pm2 startup:生成一个启动脚本,用于在服务器启动时自动启动PM2。
4. 检查应用程序状态:使用 pm2 status 命令检查应用程序的运行状态,确保React应用程序正在运行。另外,可以使用PM2的其他命令来管理应用程序,如pm2 stop停止应用程序、pm2 restart重启应用程序等
5. pm2 kill命令:用于完全停止PM2进程守护工具及其管理的所有进程。执行此命令会关闭PM2进程及其管理的所有正在运行的应用程序。以下是对pm2 kill命令的一些主要作用:
- 终止PM2守护进程:pm2 kill命令会停止PM2的守护进程,即PM2本身。
- 停止所有由PM2管理的应用程序:执行pm2 kill命令将终止PM2当前管理的所有正在运行的应用程序和进程。
- 清理PM2相关的配置和状态:在执行pm2 kill后,PM2将删除它的配置文件、运行状态以及其他相关信息。这意味着你需要重新启动PM2并重新添加应用程序。
请注意,pm2 kill是一种通过强制终止PM2和其管理的应用程序来关闭PM2的一种方法,因此建议在必要时使用。确保在执行`pm2 kill之前保存和备份任何重要的配置和数据。此命令用于关闭和终止PM2及其管理的所有进程,并不会对已保存或未保存的更改进行处理。
6. 查看Log
通过pm2启动的项目,可以通过命令 pm2 log 来查看日志
配置nginx
打开conf文件进行编辑:
sudo nano /etc/nginx/nginx.conf
在server项里添加:
server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } location / { proxy_pass http://your_ip_address:3000/; }
}
记得要先打开80端口;重启nginx
sudo service nginx restart
后就能直接通过ip访问到项目。
配置ssl https证书
https://www.cnblogs.com/johnnyzhao/p/17572919.html
硬盘监控
如果初始化系统时没有选择磁盘空间大小,我使用的卷默认是8G, 可以使用以下命令:
df -h
显示文件系统的磁盘空间使用情况。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
2020-07-18 1507. Reformat Date
2020-07-18 1060. Missing Element in Sorted Array