把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

显示文件系统的磁盘空间使用情况。

posted @ 2023-07-18 21:49  johnny_zhao  阅读(161)  评论(0编辑  收藏  举报