网站首页 > 技术教程 正文
Nginx是一个流行的web服务器,用于提供web应用程序的静态资源(客户端源)。我将解释如何将Nginx设置为静态内容资源web服务器,以及如何将它配置为Linux系统上的反向代理(连接客户机和后端)。基本上如何设置前端+后端与Nginx在Linux上。如果你:
- 希望将您的Angular/React/Vue或任何其他基于前端的框架应用程序放在Nginx上;
- 希望将Nginx上的客户端与后端连接(如Node.js或Java app);
- 要将域调用委托给内部web服务器,例如在其他端口(代理)上工作;
在Nginx上的前端应用
如果您使用任何框架(如Vue、Angular或React)开发前端应用程序,那么您最终将生成一个产品包——准备部署在web服务器上的文件(html、js、css)。在大多数框架中,运行生产构建将类似于npm构建,或者例如在Vue: Quasar构建中使用Quasar。您的生产文件应该在项目文件夹中生成的dest文件夹中。
在destfolder中生成的文件(前端应用程序)可以放在web服务器上,比如Apache或Nginx。
我假设您已经在目标机器上安装了Nginx(就像您的服务器机器一样)。
Nginx前端应用配置
Nginx配置可以在/etc/ Nginx下找到主配置文件名为nginx.conf。取决于你的系统配置可以有一点不同:
- nginx.conf文件中的整个配置(例如Arch linux)
- nginx中的主配置。conf,每个域分割域配置(就像在Ubuntu中,域配置可以在insitesavailable文件夹中找到)
假设您的域名是domain.com。您希望在http://domain.com(默认80端口)下设置前端应用程序。
nginx的配置如下:
- server {
- server_name domain.com;
- location / {
- root /usr/share/nginx/html/domain;
- try_files $uri $uri/ /index.html;
- }
- }
如果您的配置基于nginx.conf (例如Arch linux):
在nginx.conf的http部分粘贴上面的配置
如果你使用Ubuntu:
- 在/etc/nginx/sites-available中创建文件domain.com(touch domain.com)
- 将上面的配置粘贴到文件中
- 转到/etc/nginx/sites-enabled并调用:sudo ln -s /etc/nginx/sites-available/domain.com /etc/nginx/sites-enabled/
下一步是向nginx resources文件夹提供前端应用程序内容。首先构建前端应用程序(例如,npm构建取决于您的设置)。然后将前端应用程序dist文件夹中创建的每个文件/文件夹移动到/usr/share/nginx/html/domain(必须在/usr/share/nginx/html下创建域文件夹)。
最后一步:sudo systemctl restart nginx.service
现在访问http://domain.com应该呈现前端应用程序。
连接后端
使用Angular/Vue/React,你可能正在开发服务器上工作,它会在更改后重新加载你的代码,并将你的请求代理到后端。现在,Nginx配置中必须提供类似的代理配置。
让我们假设所有从客户端到后端执行的请求都有/api前缀,例如get('/api/myWallet')正在对本地主机8888/api/myWallet后端服务器执行请求。您的配置可能不同,但通常情况下是这样工作的。
现在我们要做的就是将nginx设置为代理每个domain.com/api/*请求到本地主机:8888。这是配置:
- location /api {
- proxy_pass http://localhost:8888/api;
- }
将此配置粘贴到server{}部分(您在上面定义的)。
最后它应该是这样的:
- server {
- server_name domain.com;
- location / {
- root /usr/share/nginx/html/domain;
- try_files $uri $uri/ /index.html;
- }
- location /api {
- proxy_pass http://localhost:8888/api;
- }
- }
最后 :sudo systemctl restart nginx.service
总结
Nginx是一个功能强大的工具,在简单的场景中可以处理前端web应用程序的静态资源,并有可能将请求代理到后端服务器——这就是我们所需要的。实际上,我们在服务器上得到了类似于facade的东西,可以设置它来过滤甚至平衡流量。
原文:https://pthomann.pl/setup-frontend-application-on-nginx-in-5-minutes/
本文:https://pub.intelligentx.net/setup-frontend-application-nginx-5-minutes
讨论:请加入知识星球或者小红圈【首席架构师圈】
猜你喜欢
- 2024-10-14 Nginx 部署前后端分离项目,解决跨域问题
- 2024-10-14 跨域的原因以及解决方案(跨域如何产生的,如何处理)
- 2024-10-14 如何为Golang服务器(进程)分配域名?
- 2024-10-03 来,跨个域看看 (CORS)(跨域详解)
- 2024-10-03 Debian安装Nginx并搭建静态网站服务器-OnceAI
- 2024-10-03 Nginx 部署前后端分离项目,解决跨域问题
- 2024-10-03 如何在Ubuntu 20.04上安装Nginx(ubuntu24.04安装教程)
- 2024-10-03 kubernetes从入门到精通系列04-入门命令
- 2024-10-03 WebSocket能干些啥?(websocket介绍)
- 2024-10-03 Nginx与前端的羁绊(nginx部署前端vue)
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)