分布式 - 服务器Nginx:一小时入门系列之动静分离

这篇具有很好参考价值的文章主要介绍了分布式 - 服务器Nginx:一小时入门系列之动静分离。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 动静分离的好处

Apache Tocmat 严格来说是一款java EE服务器,主要是用来处理 servlet请求。处理css、js、图片这些静态文件的IO性能不够好,因此,将静态文件交给nginx处理,可以提高系统的访问速度,减少tomcat的请求次数,有效的给后端服务器降压。

2. 分离静态文件

分布式 - 服务器Nginx:一小时入门系列之动静分离,【分布式-高性能服务器Nginx】,分布式,服务器,nginx

部署 ruoyi-admin.war

# 将ruoyi-admin.war移动到/home/apache-tomcat-8.5.81/webapps目录下,并重命名为ROOT.war
mv /home/apps/ruoyi-admin.war /home/apache-tomcat-8.5.81/webapps/ROOT.war
rm -rf /home/apache-tomcat-8.5.81/webapps/ROOT
# 启动Tomcat容器
/home/apache-tomcat-8.5.81/bin/startup.sh

部署完成后,对项目目录稍作调整:

cd /home/apache-tomcat-8.5.81/webapps/ROOT
# 将WEB-INF/classes/static目录下的i18n目录,移动到WEB-INF/classes/templates/目录下
mv WEB-INF/classes/static/i18n  WEB-INF/classes/templates/i18n 
# 将static目录下的文件,移动到/home/www/目录下
mv WEB-INF/classes/static /some/path
# 给/some/path目录赋予所有操作权限
chmod -R 777 /some/path
# 启动Tomcat容器
/home/apache-tomcat-8.5.81/bin/startup.sh

修改application.yaml文件:

messages:
    # 国际化资源文件路径 
    # 将 static/i18n/messages 修改为 templates/i18n/messages
    basename: templates/i18n/messages

调整后 WEB-INF/classes/ 目录下的的结构:

分布式 - 服务器Nginx:一小时入门系列之动静分离,【分布式-高性能服务器Nginx】,分布式,服务器,nginx

静态文件 /some/path/ 目录说明:除了js、css、图片文件之外,还有字体文件和一个ie提示页面。

分布式 - 服务器Nginx:一小时入门系列之动静分离,【分布式-高性能服务器Nginx】,分布式,服务器,nginx

3. 修改 Nginx 配置文件

在/etc/nginx/conf.d文件夹下新增 8002.conf 配置文件:

[root@nginx-dev conf.d]# cat 8002.conf
server{
    listen 8002;
    server_name rioyi.tomcat;

    # 请求转达到 http://localhost:8080 
    location / {
        proxy_pass http://localhost:8080;
    }

    # 请求ie页面
    location = /html/ie.html {
        root  /some/path/static;
    }

    # 请求字体文件
    location ^~ /fonts/ {
        root  /some/path/static;
    }

    # css|js|png|jpg|gif|ico 页面
    location ~ \.(css|js|png|jpg|gif|ico) {
        root /some/path/static;
    }
}
[root@nginx-dev conf.d]# nginx -s reload

访问 http://192.168.1.9:8002 即可访问若依后台管理系统。

分布式 - 服务器Nginx:一小时入门系列之动静分离,【分布式-高性能服务器Nginx】,分布式,服务器,nginx

直接访问某个静态文件:http://192.168.1.9:8002/css/login.min.css,就会进入 /some/path/static/ruoyi/css/ry-ui.css

分布式 - 服务器Nginx:一小时入门系列之动静分离,【分布式-高性能服务器Nginx】,分布式,服务器,nginx

4. location 命令修饰符优先级

location可以使用修饰符或正则表达式

① 修饰符:

  • =:等于,严格匹配 ,匹配优先级最高。

  • ^~:表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其它 location。优先级第二高。

  • ~:区分大小写

  • ~*:不区分大小写

② 优先级从高到低依次为:文章来源地址https://www.toymoban.com/news/detail-636997.html

  1. 精确匹配(=)
  2. 前缀匹配(^~)
  3. 正则匹配(~和~*)
  4. 不写

到了这里,关于分布式 - 服务器Nginx:一小时入门系列之动静分离的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式 - 服务器Nginx:一小时入门系列之HTTPS协议配置

    1. HTTPS 协议 HTTPS 是一种通过计算机网络进行安全通信的协议。它是HTTP的安全版本,通过使用 SSL 或 TLS 协议来加密和保护数据传输。HTTPS的主要目的是确保在客户端和服务器之间传输的数据是加密的,以防止第三方窃听、篡改或伪装。它通过使用公钥加密和私钥解密的方式来

    2024年02月11日
    浏览(53)
  • 分布式 - 服务器Nginx:一小时入门系列之 HTTPS协议配置

    1. HTTPS 协议 HTTPS 是一种通过计算机网络进行安全通信的协议。它是HTTP的安全版本,通过使用 SSL 或 TLS 协议来加密和保护数据传输。HTTPS的主要目的是确保在客户端和服务器之间传输的数据是加密的,以防止第三方窃听、篡改或伪装。它通过使用公钥加密和私钥解密的方式来

    2024年02月11日
    浏览(52)
  • 分布式 - 服务器Nginx:一小时入门系列之代理缓冲与缓存

    官方文档:https://nginx.org/en/docs/http/ngx_http_proxy_module.html 代理缓冲用于临时存储从后端服务器返回的响应数据。通过使用代理缓冲,Nginx可以在接收完整的响应后再将其发送给客户端,从而提高性能和效率。 ① 客户端往往是用户网络,情况复杂,可能出现网络不稳定,速度较

    2024年02月11日
    浏览(48)
  • 分布式 - 服务器Nginx:一小时入门系列之HTTP反向代理

    1. 正向代理和反向代理 正向代理是 客户端 通过代理服务器访问互联网资源的方式。在这种情况下,客户端向代理服务器发送请求,代理服务器再向互联网上的服务器发送请求,获取资源并返回给客户端。正向代理的典型应用场景是翻墙,即通过代理服务器访问被封锁的网站

    2024年02月14日
    浏览(58)
  • 分布式 - 服务器Nginx:一小时入门系列之TCP反向代理和负载均衡

    1. HTTP反向代理和TCP反向代理 Nginx可以作为HTTP反向代理和TCP反向代理。 HTTP反向代理是指Nginx作为Web服务器的代理服务器,接收客户端的HTTP请求,然后将请求转发给后端的Web服务器,最后将Web服务器的响应返回给客户端。这种方式可以实现负载均衡、缓存、SSL终止等功能。 T

    2024年02月11日
    浏览(57)
  • Windows服务器设置Nginx实现分布式服务

    下载Nginx-1.16.1版本。解压到如下目录: 设置环境变量: 检查版本: 启动nginx.exe ,出现黑框一闪而过,进程中出现如下情况代表启动成功: 下载wiremock-standalone-2.25.1.jar,可以使用Maven配置pom.xml下载。注意下载standalone版本。新建ServerA、ServerB两个目录,分别拷贝jar,新建启动

    2024年02月07日
    浏览(55)
  • 分布式 - 服务器Nginx:基础系列之Nginx配置文件结构

    Nginx的核心配置文件默认是放在 /usr/local/nginx/conf/nginx.conf : nginx.conf 配置文件中默认有三大块:全局块、events块、http块。其中http 块中可以配置多个server块,每个server块又可以配置多个location块。 01. user 指令 user指令也可以用于指定Nginx服务器worker进程的运行用户和用户组。它

    2024年02月10日
    浏览(42)
  • 分布式 - 服务器Nginx:基础系列之Nginx简介 | 下载安装 | 启动和停止服务

    Nginx是一个高性能的Web服务器,同时也是一个反向代理服务器。它最初是为了解决C10K问题而开发的,即如何让一个服务器同时处理成千上万个并发连接。Nginx采用了事件驱动的异步非阻塞处理方式,能够高效地处理大量并发连接,因此被广泛应用于高并发的Web应用场景中。 此

    2024年02月10日
    浏览(68)
  • 分布式 - 服务器Nginx:应知应会系列之Nginx简介 | 下载安装 | 启动和停止服务

    Nginx是一个高性能的Web服务器,同时也是一个反向代理服务器。它最初是为了解决C10K问题而开发的,即如何让一个服务器同时处理成千上万个并发连接。Nginx采用了事件驱动的异步非阻塞处理方式,能够高效地处理大量并发连接,因此被广泛应用于高并发的Web应用场景中。 此

    2024年02月11日
    浏览(62)
  • 分布式 - 服务器Nginx:基础系列之Nginx静态资源配置优化sendfile | tcp_nopush | tcp_nodelay

    1. sendfile 指令 请求静态资源的过程:客户端通过网络接口向服务端发送请求,操作系统将这些客户端的请求传递给服务器端应用程序,服务器端应用程序会处理这些请求,请求处理完成以后,操作系统还需要将处理得到的结果通过网络适配器传递回去。 sendfile 指令是用于将

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包