【Nginx学习总结】5. Nginx+Tomcat 的动静分离

Nginx+Tomcat负载均衡、动静分离集群 一.Nginx负载均衡实现原理 Nginx实现负载均衡是通过反向代理实现 2、反向代理的概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 反向代理是为服务端服务的,反向代理可以帮助服务器接收来自客户端的请求,帮助服务器做请求转发,负载均衡等。 反向代理对服务端是透明的,对我们是非透明的,即我. 阅读详情

一、为什么动静分离

Nginx解析静态资源的性能比较好,而Tomcat对动态资源的解析比较好,解析静态资源性能较差,动静分离的目的也就是各司其职,加快页面解析的速度!

二、动静分离的方法

方案一: 静态资源与动态资源放在两个不同的服务器上

我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 Nginx 并且在 B 上安装 Tomcat。配置 Nginx,当请求的是 html、jpg 等静态资源时,就访问 A 主机上的静态资源目录;当用户提出动态资源的请求时,则将请求转发到后端的 B 服务器上,交由 Tomcat 处理,再由 Nginx 将结果返回给请求端。

 

1. 动静分离的配置文件

 

# 转发的服务器,upstream 为负载均衡做准备
 upstream tomcatserver2{ 
        server 192.168.216.137:8080; 
 } 
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  ak47.html index.html index.htm;
        }
       # 动态请求的转发
        location ~ .*.jsp$ { 
            proxy_pass http://tomcatserver2; 
            proxy_set_header Host $host; 
        } 
       # 静态请求直接读取
       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)$ { 
          root /im
          expires      30d; 
       }
 }

【提示】

 

2. 在虚拟机的根目录创建im文件夹,然后放入一个图片

 

3. 测试

(1)启动nginx服务

 

(2)访问静态资源

(3)访问动态资源

(4)测试成功!

 

方案二  动静资源混合放在一起发布,通过nginx来分开!具体怎么实现,也是用location指定不同的后缀名实现不同的请求转发!(不推荐)

 

NGINX+Tomcat负载均衡、动静分离集群 Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。 阅读详情

相关推荐

某银行大数据分析平台之云原生架构

软考架构师论文

doudoudouy的博客 769

部署Tomcat的动静分离

Tomcat负载均衡+动静分离

m0_58292366的博客 643

linux中的sendmail发送邮件

linux下的sendmail发送邮件

无痕的博客 6432

手把手演示Ngnix+Tomcat实现动静分离

手把手演示nginx+tomcat实现动静分离

低调,谦虚,自律,反思,成长,保持热爱,奔赴梦想 1623

手把手教你用芯驰X9HP驱动MAX96755/MAX96752点亮智能座舱仪表屏(附完整寄存器配置表)

本文详细介绍了如何使用芯驰X9HP驱动MAX96755/MAX96752实现智能座舱仪表屏的完整开发流程,包括硬件架构解析、关键寄存器配置、Linux BSP集成及调试技巧。通过实战指南和完整寄存器配置表,帮助开发者快速掌握驱动开发核心技术,提升智能座舱系统的显示性能与稳定性。

weixin_30879169的博客 526

Codesys.运动控制修改凸轮点

通过改凸轮曲线的主从轴缩放比例或者偏置。 新建多个凸轮曲线,对CAM曲线进行切换。 程序中动态修改,仅修改中间的关键点(凸轮末点修改or凸轮曲线运行中修改)。 程序中动态修改,修改首未关键点及关键点个数,需要重新触发MC_TableSelect。 使用程序新建凸轮表代码,实现电子凸轮基本运动。 我们讲的凸轮表切换、关键点修改、程序新建电子凸轮,这些方法没有本质区别,总之都是“趁曲线不注意,把凸轮表改了。

傻响雨 6829

nginx + tomcat实现动静分离

目录 引言 环境: Nginx主机安装 Tomcat 配置 动静分离配置 Tomcat1 server 配置 Tomcat2 server 配置 Nginx server 配置 测试结果 总结 引言 以LNMP为例,一个企业内部最基础的架构组成需要一个处理静态Web服务的页面,一个动态Web服务的页面和数据库,而我们实现了在Linux平台上,实现了Nginx + PHP 实现动静分离,而实际生产中往往一台nginx 需要“对应”多个动态处理的服务(及tomcat),所以如何将前端接.

y1035793317的博客 544

Hindsight 内存爆炸 4 个词排查清单:9,284 条 6 成是 SSH 调试日志——Agent 标签系统的实战复盘

9,284 条记忆里 66% 是 SSH 调试日志。4 个标签被滥用=0 区分度。3 个 entity_labels + retain_mission + retain_every_n_turns 配置把噪声压回 5%——附 PATCH 脚本和实测前后数据。

Starry-SkyJing的博客 58

nginx实现动静分离

192.168.51.5 | 动态资源tomcat服务器1 | || 192.168.126.5 | 动态资源tomcat服务器2 | |具体使用什么图片和hmtl文件,大家可以。效果如下图,我们也可以在另一台服务器进行同样的操作,比如192.168.126.5。

2401_84240129的博客 394

基于OSEK_TP.dll封装通用,多ECU自由切换的诊断函数库

本文介绍了基于CANoe内置OSEK_TP.dll库实现通用诊断通讯的方法。通过封装CAN_TP.cin顶层脚本,实现了ECU连接管理、数据收发和多ECU切换功能。系统采用字典结构存储ECU参数,支持从配置文件读取诊断ID等配置信息,通过TpCreateConnection建立TP层连接。文章详细说明了诊断请求发送函数Uds_DiagSendRequest的实现逻辑,以及如何利用回调函数处理收发事件。该方法无需依赖诊断数据库,通过底层封装实现了灵活高效的诊断通讯方案,适用于车载诊断领域的测试需求。

蚂蚁小兵 1568

Spring AI Alibaba实战训练营-05模型输出质量评估

本文介绍了使用Spring AI Alibaba库评估AI模型输出质量的方案。项目通过5种评估器实现自动化评估:相关性评估、事实准确性评估、答案相关性评分、答案正确性评估和忠实度评估。开发步骤包括环境准备(Java 17、Maven、API Key获取)、创建Maven项目、配置Spring AI(通过环境变量安全设置API Key)以及实现RAG流程。重点强调了通过评估器自动检测AI输出的质量指标,帮助开发者优化AI应用性能。

program哲学 218

Nginx+Tomcat负载均衡+动静分离

一、Nginx 1、 Nginx应用 ■Nginx是一款非常优秀的HTTP服务器软件 ●支持高达50 000个并发连接数的响应 ●拥有强大的静态资源处理能力 ●运行稳定 ●内存、CPU等系统资源消耗非常低 ■目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,提升整个站点的负载并发能力 2、负载均衡实现原理 1、Nginx实现负载均衡是通过反向代理实现 2、反向代理原理: 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将

自由 4840

Sigrity Power SI Model Extraction模式如何提取电源网络的S参数和阻抗操作指导(一)

34. 默认格式是BNP format格式,会被Sigrity识别的S参数文件,在仿真完成后,默认会在文件夹中生成bnp和ckt(MCP)文件,无需这步操作。由于port设置的ref Z是50ohm,实际上电源网络的阻抗是没有这么高的,所以S参数回损曲线是基本上全反射的一个状态。Sigrity PowerSI是频域电磁场仿真工具,以下图为例介绍如果用它观测电源的网络的S参数以及阻抗的频域曲线.42. Spice格式的加载进来图标是橙色的,BNP格式的图标是灰色的。

weixin_54787054的博客 1280

Nginx+Tomcat实现动静分离

前言 1. 什么是网站动静分离架构模式? 网站中的动静分离其实就是将动态资源和静态资源分离处理。 传统网站架构模式:jsp、html、img、css、js全部存放在一个服务器上,把静态资源和动态资源共同放到一台服务器上。 大型互联网公司中前端与后端开发是分离,静态资源和动态资源不会部署到同一台服务器上,静态资源部署在一个服务器上(html、css、img、js …),动态资源部署在一个服务器上(...

王小白来了 5005

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Nginx+Tomcat 负载均衡、动静分离集群

当使用Nginx服务器作为前端时,可以配置Nginx来进行静态页面的处理,而将动态页面请求转发给后端的Tomcat服务器来处理。由于Tomcat是轻量级应用服务器,可能无法满足所有访问量,因此需要多台Tomcat服务器,并通过Nginx的配置权重来进行负载均衡,以确保请求能够被分发到不同的Tomcat服务器上。本章详细介绍nginx+tomcat群集部署方法。

Linux运维老纪的博客 1350

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Nginx专题:nginx+tomcat实现动静分离

本文实验内容内nginx+tomcat实现网站的动静分离功能 案例环境 主机信息 架构图 案例实施: 部署tomcat服务器 两台tomcat服务器上准备jdk和tomcat 如果你没有,我记得我这上传一个 jdk+tomcat mkdir /tools cd /tools ls apache-tomcat-8.5.70.tar.gz jdk-8u181-linux-x64.tar.gz 安装jdk mkdir -p /app/java tar xf jdk-8u181-linu

皮皮的博客 5960

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Tomcat与Nginx实现动静分离

目录 环境 安装Nginx 安装Tomcat 修改配置文件 测试 总结 环境 centos 7.5 192.168.253.120 tomcat版本:8.5.54 nginx版本:1.16.1 jdk:8 安装Nginx [root@hya src]# yum -y install gcc g...

Pangpangbupang. 3015

Nginx与Tomcat实现动静分离

Nginx与Tomcat实现动静分离 一、动静分离的含义 ​ 动静分离是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。 动静分离的做法是将静态资源部署在nginx上,后台项目部署到应用服务器上,根据一定规则静态资源的请求全部请求nginx服务器,达到动静分离的目的。 1、动静分离的优缺点 优点: ...

XuMin6的博客 1233

nginx代理与tomcat动静分离

京北点指科技有限公司发布V3-版移联建站管理系统,该项目为Java语言开发的Web站点。目前,IBM的WebSphere及Oracle的WebLogic占据了市面上Java语言Web站点的大部分份额。这两种软件以其无与伦比的性能及可靠性等优势被广泛应用于大型互联网公司的Web场景中,但是其高昂的价格也使得小型互联网公司对此望而却步。Tomcat自5.x版本以来,其性能上已经得到了大幅的提升,再加上其开放性的框架和可二次开发等特性,已经完全可以用在访问量不是很大的生产环境下。目前,

2501_91557222的博客 1286

Nginx+Tomcat 负载均衡、动静分离

定位:Java Servlet 容器( Jakarta EE 实现之一),专注动态 Java 应用部署(如 Servlet、JSP、Spring Boot 应用)。核心能力支持 Java 生态(Spring、Hibernate 等框架无缝集成),作为嵌入式服务器(如 Spring Boot 默认内嵌)。处理动态请求(数据库交互、业务逻辑计算等),通过多线程模型(BIO/NIO/APR 模式)处理并发。场景:企业级 Java 系统(金融、后端服务)、微服务架构中的动态服务节点。定位:高性能。

2301_80839375的博客 1496

安装tomcat和tomcat和nginx动静分离

1,上传tomcat包和jdk包到虚拟机 2,安装jdk并配置相关信息 [root@localhost ~]# rpm -ivh jdk-8u20-linux-x64.rpm 修改配置文件 vim /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_20 export JAVA_BIN=/usr/java/jdk1.8.0_20/bin export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:$JAVA_HO

qq_47905850的博客 2327

Nginx+Tomcat负载均衡、动静分离群集

文章目录Tomcat 和 NginxTomcat重要目录Nginx应用Nginx负载均衡实现原理一原理二Nginx动静分离动静分离原理Tomcat 和 Nginx 部署与配置Tomcat部署与测试网站搭建Nginx配置负载均衡、动静分离具体部署1:部署环境2:nfs 配置 Tomcat 和 Nginx Tomcat重要目录 bin :存放启动和关闭Tomcat脚本 conf :存放Tomcat不同的配置文件 doc:存放Tomcat文档 lib:存放Tomcat运行需要的库文件 logs:存放Tomcat

m0_50854537的博客 2712

nginx+Tomcat实现动静分离

nginx+Tomcat实现动静分离 文章目录nginx+Tomcat实现动静分离1.实验环境2.实验目的3.nginx服务器的搭建4.Tomcat的搭建5.配置动静分离5.1 nginx配置5.2 Tomcat配置6.动静分离的测试7.nginx处理静态图片,Tomcat处理动态页面的配置7.1 Tomcat配置7.2 nginx配置7.3 访问测试 1.实验环境 –VMware Worksta...

double_happy111的博客 533

Nginx架构篇(一);Nginx和tomcat动静分离架构

一、Nginx和tomcat的安装 1、Nginx安装见: https://blog.csdn.net/weixin_44571270/article/details/102887048 2、tomcat安装如下: (1)下载tomcat wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8...

一点一滴铺就人生 1449

Linux部署Tomcat和Nginx,并实现Nginx的动静分离

讲解了Linux中部署Tomcat和Nginx的相关步骤以及注意事项;以及Nginx实现动静分离的过程;并收录了一部分博主在安装过程中遇到的问题及解决方法。

Java.L的博客 1382

Nginx+Tomcat动静分离的部署

文章目录一、动静分离的原理二、动静分离的优势三、项目部署3.1 项目环境 一、动静分离的原理 服务端接收来自客户端的请求中,有一部分是静态资源的请求,例如html,css,js和图片资源等等,有一部分是动态数据的请求。因为tomcat处理静态资源的速度比较慢,所以我们可以考虑把所有静态资源独立开来,交给处理静态资源更快的服务器例如nginx处理,而把动态请求交给tomcat处理。 在机器上同时安装了nginx和tomcat,把所有的静态资源都放置在nginx的webroot目录下面,把动态请求的程序都放在

糖球溜溜的博客 557
上一篇: NFS:Linux下NFS服务器的搭建与配置
下一篇: 【Nginx学习总结】6. Nginx的rewrite规则--Nginx URL重写
Rita楠神
博客等级 码龄9年 27粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值