龙空技术网

用Docker和Nginx运行一个React应用程序

吉祥庄钢铁侠 166

前言:

此时朋友们对“react打包放在nginx下”大体比较重视,看官们都需要学习一些“react打包放在nginx下”的相关内容。那么小编也在网络上搜集了一些对于“react打包放在nginx下””的相关资讯,希望小伙伴们能喜欢,同学们一起来学习一下吧!

简介

React.js是一个用于创建用户界面的JavaScript库。Facebook与一群独立的程序员和企业一起维护它。React使开发者能够有效地管理其应用程序的状态,并构建可重复使用的用户界面组件。

由于Docker平台的存在,开发者可以在容器中快速构建、分发和操作应用程序。由于应用的容器所提供的轻量级、隔离的环境,应用可能更容易被管理。

Nginx是一个流行的Web服务器和反向代理,用于提供静态内容,代理请求,并执行负载平衡。

先决条件Docker必须安装在你的本地机器上。React代码?你可以在GitHub上找到它,链接如下。

GitHub存储库

这个资源库包含了在你自己的机器上运行项目的所有必要代码。请随意查看,如果你发现任何你想贡献的东西,请毫不犹豫地提交一个拉动请求。

该网络应用程序看起来像

使用Docker和Nginx运行React应用程序的步骤克隆包含你的React应用程序的仓库到你的本地机器。

 git clone 

2. 导航到项目目录。

cd easy-parcel

3. 创建一个Docker文件,指定基础镜像、应用程序的依赖性和运行应用程序的命令。下面是一个React应用的Docker文件的例子。

FROM node:16 as build WORKDIR /react-appCOPY package*.json ./      RUN npm install      COPY . .      RUN npm run build      FROM nginx:1.19COPY ./nginx/nginx.conf /etc/nginx/nginx.confCOPY --from=build /react-app/build /usr/share/nginx/html

4. 创建一个Nginx配置文件,nginx.conf,将请求代理给运行在Web容器中的React应用。下面是一个nginx.conf文件的例子。

worker_processes  1;events {    worker_connections  1024;}http {    server {          listen 80;          server_name  localhost;                root   /usr/share/nginx/html;          index  index.html index.htm;          include /etc/nginx/mime.types;                gzip on;          gzip_min_length 1000;          gzip_proxied expired no-cache no-store private auth;          gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;                location / {                  try_files $uri $uri/ /index.html;          }    }}

文件夹结构将看起来像这样

5. 使用以下命令建立Docker镜像,用你想要的镜像名称替换<image-name>,例如aliziauddin/easyparcel。

docker build -t aliziauddin/easyparcel .

6. 使用以下命令运行服务。

 docker run -d -p 80:80 aliziauddin/easyparcel

80:80可以用任何其他端口代替,例如,3000:80

在命令docker run -d -p 80:80 aliziauddin/easyparcel中,-d和-p是选项或标志。

-d: 这个选项用于在后台作为一个守护程序运行容器。它允许容器在后台运行,与终端分离。

-p: 该选项用于将主机端口映射到容器端口。语法是 -p host_port:container_port。在这种情况下,80:80将主机上的80端口映射到容器中的80端口。这允许外部流量通过访问主机上的80端口到达容器。

7. 打开浏览器,导航到,查看由Nginx代理的运行中的React应用。

总结

通过这些步骤,你应该能够使用Docker和Nginx来运行你的React应用。通过使用Docker和Nginx,你可以确保你的React应用在一个一致的环境中运行,易于扩展,并且可以轻松部署。

标签: #react打包放在nginx下