安装nginx的依赖包
熟悉nginx的目录结构 sbin存放脚本文件
重点目录/文件
conf/nginx.conf:nginx 配置文件
html:存放静态文件(html、css、JS 等)
logs:日志目录,存放日志文件
sbin/nginx:二进制文件,用于启动、停止 Nginx 服务
一个常用的命令 显示当前目录下所有文件及其子文件 树形显示 tree
nginx常用命令:
1.查看版本
2.检查配置文件
3.启动和停止
注意在sbin目录下:
关闭nginx之后 两个教程master worker关闭
当我们成功启动 nginx 时,输入自己虚拟机的 IP 地址,可以访问到其默认的首页面
首页面的位置:/nignix的下载位置/html/index.html 。
当然,此时你得关掉防火墙(systemctl stop firewalld)才可以通过 windows 来访问。
此外,当 nginx 成功启动之后,其目录结果发生了变化,会出现一些临时目录。
空的 logs 目录会生成三个文件:access.log、error.log、nginx.pid
nginx.pid 只有在 nginx 服务开启时才会出现,其记录的是当前 nginx 服务的进程号。
原文链接:https://blog.csdn.net/yanzhaohanwei/article/details/125437071
4.重新加载配置文件 (注意这个可以先关闭nginx再打开 只不过麻烦)
当修改 Nginx 配置文件后,需要重新加载才可以生效。
可以使用命令来重新加载配置文件:./nginx -s reload
或者使用绝对路径的方式来加载:/usr/local/nginx/sbin/nginx -s reload
————————————————————————————————————————
注意前面的命令都要在sbin下执行 太麻烦 我们配置一下环境变量
配置之后 直接在任何地方执行就行
nginx.conf文件结构:
nginx应用:???
部署静态资源 web静态资源服务器 html css js 图片 视频
相对于 Tomcat,Nginx 处理静态资源的能力更加高效。
在生产环境下,一般都会将静态资源部署到 Nginx 中。
将静态资源部署到 Nginx ,只需要将文件复制到 Nginx 安装目录下的 html 目录中即可
反向代理?
什么是正向代理?
客户知道代理服务器的存在
什么是反向代理?在服务端设置
客户端不知道目标服务器做了代理
怎么配置反向代理服务器?
即我们反向代理服务器监听82端口 并将请求转发到 proxy_pass对应的这台服务器上对应端口上
负载均衡(Nginx)
基于反向代理 上面我们的反向代理是代理的一个web服务器
早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求。
但是随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,
单台服务器的性能及单点故障问题就凸显出来了,
因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。
nginx可以做负载均衡器
我们需要配置服务器集群的的ip和端口
这里的weight是均衡策略的一种
负载均衡策略 默认是轮询
前后端分离:
前后端混合->前后端分离
开发流程:?前端后端怎么沟通?
这个接口其实就是一个http请求,包含请求地址 请求方式 请求参数 相应数据格式。。
这个接口举个例子:会看就行
后端测试用一些工具例如postman
前端测试用mock数据模拟后端返回的数据 测试数据展示
前端技术栈
YApi
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。
可以帮助开发者轻松创建、发布、维护 API。
YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
YApi 让接口开发更简单高效,让接口的管理更具可读性、可维护性,让团队协作更合理。
源码地址:https://github.com/YMFE/yapi
网络链接:http://yapi.dapengjiaoyu.com/
使用文档:https://hellosean1025.github.io/yapi/
要使用 YApi,需要进行相关的部署,这里不做说明。一般来说这不是后端开发人员的活儿。
使用 YApi 可以执行这些操作:添加项目、添加分类、添加接口、编辑接口、查看接口
Swagger使用
使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,再通过Swagger衍生出来的一系列项目和工具,就可以做成各种格式的接口文档,以及在线接口调试页面等。
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方法。
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
常用注解:
ngnix实战训练:
重在配置:
upstream fileserver{
server 192.168.101.65:9000 weight=10;
}
server {
listen 80;
server_name file.51xuecheng.cn;
#charset koi8-r;
ssi on;
ssi_silent_errors on;
#access_log logs/host.access.log main;
location /video {
proxy_pass http://fileserver;
}
location /mediafiles {
proxy_pass http://fileserver;
}
}
我们的文件地址为(在minio中)
http://192.168.101.65:9000/mediafiles/2023/05/13/dc97e684d3837c8d07633d3db092049c.png
配置完上述操作:
http://file.51xuecheng.cn/mediafiles/2023/05/13/dc97e684d3837c8d07633d3db092049c.png
,这个请求路径是以`/mediafiles`开头的。在`http://file.51xuecheng.cn`这个域名上,`/mediafiles`后面跟着具体的文件路径`/2023/05/13/dc97e684d3837c8d07633d3db092049`。`/mediafiles`路径指向的是`fileserver`代理服务器上的资源,因此指令`proxy_pass http://fileserver;`将请求交给该代理服务器处理。在Nginx服务器的配置文件中,`location /mediafiles`指令定义了将以`/mediafiles`开头的URI请求路径转发到`fileserver`服务器。