您当前的位置: 首页 > 技术文章 > 前端开发

PM2部署React项目(Ubuntu服务器)

作者: 时间:2023-10-17阅读数:人阅读

目录

项目部署

前期工作

PM2部署(nohup一直失败)

Nginx反向代理

项目部署

前期工作

首先可以用服务器新建立一个React项目,步骤如下

npm create-react-app 项目名称
cd 项目名称
npm run build
npm start

下面如果报错,该怎么修理怎么修理。例如:

nodejs版本问题,建议14版本(11版本过低无法运行)

端口3000或其他没有开放,用如下命令开放端口(没有直接npm install xxxxx -g)

sudo ufw allow <端口号>           例如3000

之后还要去阿里云的控制台 ,把端口再手动开放一下。

PM2部署(nohup一直失败)

首先安装pm2

npm install xxxxx -g

下面移动到标准的react项目目录下,执行如下命令:

pm2 start --name agv npm -- start
pm2 list
pm2 delete 项目名字

agv这是启动进程的名字,原博客和效果图如下链接所示

pm2 启动React项目 - 李悠然 - 博客园 (cnblogs.com)

我的成功截图如下:

PM2部署React项目(Ubuntu服务器)(图1)

另外的,有时候项目渲染的时间较长,如果看到title有变化,那就可以提前庆祝了

PM2部署React项目(Ubuntu服务器)(图2)

Nginx反向代理

首先,把你的域名解析到对应的服务器。(一般情况是,同一平台内的服务器对应多个域名)

解析实例如下:

PM2部署React项目(Ubuntu服务器)(图3) 

我们解析的时候,@和www都要解析一次。这样浏览器输入和不输入www都可以访问到我们的网站。

之后用Nginx反向代理,把IP+端口和域名对应起来。其实,IP+端口可以访问到已经成功一大半了,Nginx反向代理的工作还是相对轻松的,代码如下(把他加在server层里面):

    server {
    listen 80;
    server_name www.hengmengkeji.cn;
    proxy_ignore_client_abort on;
​
    location / {
        proxy_pass http://127.0.0.1:3000/;
        proxy_read_timeout 3200;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  • listen 80 是因为我们每次访问域名都是默认的80端口

  • server_name 是我们解析到服务器的域名

  • proxy_pass 后填写我们要代理的IP+

这样,我们就可以通过域名访问到自己的React项目啦!

我的成功截图(最终版)

PM2部署React项目(Ubuntu服务器)(图4)

祝你成功! 

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:licqi@yunshuaiweb.com

标签: react.js 前端
加载中~
如果您对我们的成果表示认同并且觉得对你有所帮助可以给我们捐赠。您的帮助是对我们最大的支持和动力!
捐赠我们
扫码支持 扫码支持
扫码捐赠,你说多少就多少
2
5
10
20
50
自定义
您当前余额:元
支付宝
微信
余额

打开支付宝扫一扫,即可进行扫码捐赠哦

打开微信扫一扫,即可进行扫码捐赠哦

打开QQ钱包扫一扫,即可进行扫码捐赠哦