nginx代理服务器的搭建

nginx搭建静态资源及反向代理服务器 搭建静态资源web服务器 在http {} 中加入server块配置 server { listen 8581; server_name test.cn; access_log logs/access.log main;# 日志的位置, main: 以http块里定义的main为日志打印模版 location / { #所有访问8581的请求都去访问 /data下的文件 路由/ 与 /data 对应 alias /data/; 阅读详情

nginx代理服务器的搭建

标签(空格分隔): nginx


一、什么是nginx?

        【百度百科】Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由
    IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许
    可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
    特点:
        1、nginx做为HTTP服务器,有以下几项基本特性:
        2、处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.
        3、无缓存的反向代理加速,简单的负载均衡和容错.
        4、FastCGI,简单的负载均衡和容错.
        5、模块化的结构。包括gzipping,byteranges,chunkedresponses,以及SSI-filter等filter。如果由FastCGI或其它代
理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。
        6、支持SSL 和 TLSSNI.
        7、Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率。它支持内核Poll模型,能经受高负载的考验,有
报告表明能支持高达 50,000个并发连接数。

二、nginx搭建

  1. 安装依赖(在线安装)

    gcc         [root@mo ~]# yum install gcc
    pcre-devel      [root@mo ~]# yum install pcre-devel
    openssl-devel   [root@mo ~]# yum install openssl-devel
    zlib-devel      [root@mo ~]# yum install zlib-devel
    
  2. 下载nginx

    使用nginx和第三方分布式插件nginx-sticky-module,两者的版本号必须相同。
    使用版本:nginx-1.11.1.tar.gz /nginx-sticky-module-1.1.tar.gz
    
  3. 解压nginx、nginx-module

    [root@mo ~]# tar -zxf nginx-1.11.1.tar.gz
    [root@mo ~]# tar -zxf nginx-sticky-module-1.1.tar.gz
    
  4. 修改nginx‐sƟcky‐module中的c文件

    a.修改ngx_http_sticky_misc.c
    
    将281行代码:
        digest->len = ngx_sock_ntop(in, digest->data, len, 1);
    修改为:
        digest->len = ngx_sock_ntop(in,sizeof(struct sockaddr_in),digest->data, len, 1);
    
    b.修改ngx_http_sticky_module.c
    
        1. 在文件开头添加【】内内容
            【#include <nginx.h>】
            #include <ngx_config.h>
            ....
        2.修改333行修改为【】内内容
            iphp->rrp.current = iphp->selected_peer;
            【   
                #if defined(nginx_version) && nginx_version >= 1009000
                iphp->rrp.current = peer;
                #else
                iphp->rrp.current = iphp->selected_peer;
                #endif
            】
    
  5. 编译nignx

    注:/root/nginx-sticky-module-1.1为nginx-module的解压路径
    
    [root@mo ~]# ./configure --add-module=/root/nginx-sticky-module-1.1
    [root@mo ~]# make
    [root@mo ~]# make install
    
    说明:如果使用nginx-1.0.6.tar.gz是不需要做任何改动了,添加nginx-sticky是为了优化nginx的ip_hash负载均衡算法的负载
    不够均衡问题
    
  6. nignx相关命令

    nginx启动           [root@mo nginx]# ./sbin/nginx
    查看nignx进程       [root@mo nginx]# ps -ax |grep nginx
    强制关闭nignx       [root@mo nginx]# ./sbin/nginx -s stop
    优雅关闭nignx       [root@mo nginx]# ./sbin/nginx -s quit
    重新加载配置文件    [root@mo nginx]# ./sbin/nginx -s reload
    检查配置文件是否有错    [root@mo nginx]# ./sbin/nginx -t
    
    注:优雅关闭指定的是nginx会在响应完最后一个请求后关闭nginx
    

    启动在nginx可以在浏览器敲http://IP 如: http://192.168.95.128 显示如下图则成功

这里写图片描述

  1. 配置集群案例

    upstream 192.168.95.128 {
        server 192.168.0.117:8081 weight=1;
        server 192.168.0.117:8082 weight=2;
        #开启cookies的黏着
        sticky;
        #sticky|least_conn| ip_hash;
    }
    
    location / {
            proxy_pass http://192.168.95.128;
    }
    
    注:sticky | least_conn | ip_hash;三种负载均衡策略。sticky为插件支持
    upstream 的 192.168.95.128和proxy_pass中的192.168.95.128必须相同而且最好为IP地址
    

本示例可以结合上篇示例进行综合测试。

Nginx配置TCP代理指南 本文介绍配置nginx 进行tcap代理的方法 阅读详情

相关推荐

centos7安装Ambari 2.7.5 + HDP3.1.5

准备 1.安装包准备: Ambari2.7.5、HDP31.5、libtirpc-devel: centos7操作系统: 链接:https://pan.baidu.com/s/1vzvio5rAMsbYF0-0vBs5dw 提取码:xij9

kxq的博客 5091

使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南

本文介绍了如何使用 Nginx 搭建正向代理服务器,支持 HTTP 和 HTTPS 网站代理,并提供了详细的代码和配置示例。通过本文的学习,您可以掌握搭建正向代理的基础知识,并能在实际项目中应用。代理服务器是一种非常强大的工具,能够帮助我们隐藏客户端信息、绕过 IP 限制等。合理的配置和优化可以提升代理服务器的性能,从而满足实际应用中的需求。

小蜗牛的珍贵百宝箱 2万+

STM32单片机远程升级

stm32远程升级

fang_yang_wa的博客 1万+

nginx正向代理服务器搭建

nginx正向代理服务器搭建 场景:由于网络环境限制,只能通过代理服务器访问外网,代理服务器自己部署、由于业务需求容器或者k8s的pod也需要通过代理访问外网 代理服务器搭建:系统CentOS 7,通过编译安装nginx实现正向代理功能 代理服务器(CentOS 7):180.76.189.203 192.168.0.15 内网服务器(Ubuntu16.04):192.168.0.150 步骤如下: 1、编译安装nginx yum -y install gcc gcc-c++ autoconf automa

段帅星的博客 6401

星空组网 vs 蒲公英 vs Tailscale:2024年国内免费异地组网工具横评(含实测数据)

本文对2024年国内主流免费异地组网工具星空组网、蒲公英和Tailscale进行了深度横向评测。基于实测数据,重点分析了三者在P2P成功率、中继延迟、传输速度及稳定性方面的表现,为中小企业、远程办公及个人开发者提供了清晰的选择指南。星空组网在国内网络环境下展现出优秀的平衡性。

weixin_29217235的博客 1439

从维纳滤波到Richardson-Lucy:图像去模糊算法的原理与实践

本文深入解析了图像去模糊的核心原理,重点对比了维纳滤波与Richardson-Lucy两种经典去卷积算法。维纳滤波在频域进行快速权衡,适用于高斯噪声场景;而Richardson-Lucy算法基于泊松噪声模型迭代优化,更适用于天文、显微等科学成像。文章通过Python代码实践,详细阐述了PSF(点扩散函数)的关键作用及算法选型指南。

weixin_29285605的博客 386

Nginx代理配置详解

Nginx代理配置详解

Charge8的博客 1万+

【福建dem】原始高程数据tif格式

DEM(Digital Elevation Model,数字高程模型)是一种地理信息系统中的关键数据集,它提供了地表地形的三维信息,通常用于分析地貌特征、模拟水文过程、规划建设、灾害预警等多个领域。这种数据对于地理分析非常有价值,例如,它可以用于计算坡度、坡向、地形粗糙度等地形特征,或者进行洪水模拟、地质灾害评估、太阳能辐射分析等。“福建dem原始高程数据tif格式”是研究和理解福建省地形地貌的重要资源,结合GIS工具,可以揭示丰富的地理信息,为科研、工程和决策提供有力支持。

鸿业远图科技 943

nginx代理服务器

Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。开源软件,服务器软件.能够支持高达50,000个并发连接数的响应。.........

Dumpling_skin的博客 5854

统信UOS开发环境支持Java

集成了JDK和多种IDE,为开发者提供了从代码编写、编译、调试到部署的一站式开发解决方案。

RZer的博客 2254

rv1126 SDK编译【2020-0912版本SDK包】

rv1126 sdk 编译

学习记录 1万+

Nginx搭建反向代理服务器

前面学了web资源服务器的搭建,这篇博文就总结一下如何搭建反向代理服务器。 为什么需要反向代理 反向代理是实现负载均衡的一种方法。假设,很多人同时对订单进行支付,此时,用于支付服务的上游服务器挂掉了,用户就没有办法完成支付服务。用户因为体验感不好的原因,就会选择别的电商平台了。 此时,如果使用Nginx做反向代理,实现水平扩展。然后缓存所有的支付请求,接着使用负载均衡算法,分别将请求转发到正常的服...

清风一阵吹我心 9844

杰理外挂flash使用教程(四):制作fat32文件系统格式的资源文件

本文档提供了FAT文件系统镜像生成与资源打包的完整指南,包含两种实现方案:推荐的WSL/Ubuntu环境方案和Windows原生方案。详细说明了从创建空白镜像、格式化、资源文件复制到最终打包为设备可用的res.bin文件的完整流程,并对比了FAT32与FAT16的特性差异。文档还包含关键文件说明、使用注意事项和典型应用场景,适用于嵌入式系统开发、固件升级等场景。

qq_42014563的博客 1339

搭建nginx代理服务器

这里写目录标题原理:1、在proxy-1的nginx.conf主配置文件后添加2、修改proxy-1的子配置文件3、修改存储服务器的一些配置4、启动服务测试: 原理: 通过代理服务器进行访问,减小web1和web2的负担 资源是不直接放在web1和web2下的,而是由存储服务器进行调度。web1和web2通过挂载共享服务器的目录实现资源映射。 一台代理服务器+二台(或者多台)服务器+存储服务器 proxy-1代理服务器:192.168.33.161 【注意】proxy-1是web-1-service克隆后

weixin_45191282的博客 2095

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

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

CentOs-7下Nginx搭建反向代理服务器

Nginx搭建反向代理服务器1.实验物料2.搭建过程1.搭建静态资源Web服务器2.搭建反向代理服务器3.启动4.验证 1.实验物料 3个Nginx的实例,其中一个作为反向代理服务器,另外两个作为静态资源Web服务器,还有静态资源 nginx-1.18.0 1个实例 端口80 nginx-1.18.0 2实例 端口分别为 8081 8082 静态HTML 如下图所示: 2.搭建过程 1.搭建静态资源Web服务器 关于静态资源Web服务器的搭建,我在上一篇博客《Nginx搭

泗水长流的博客 619

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Nginx代理配置

是指客户端通过代理服务器来访问目标服务器,目标服务器不知道真正的客户端是谁,只知道请求来自于代理服务器。是指客户端通过代理服务器来访问目标服务器集群,客户端不知道真正的目标服务器是哪一个,只知道请求发送到了代理服务器。

Ben_10_的博客 1万+

深度学习工具包 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")

Nginx安装与基本使用

一、Nginx简介 查看:nginx_百度百科 二、Nginx环境搭建 下载 官方网站:http://nginx.org Nginx 有 Windows 版本和 Linux 版本,但更推荐在 Linux 下使用 Nginx 下载nginx-1.12.2.tar.gz的源代码文件:wgethttp://nginx.org/download/nginx-1.12.2.tar.gz ...

Coding Farmer的博客 773

使用 nginx 搭建代理服务器(正向代理 https 网站)指南

使用 nginx 搭建代理服务器(正向代理 https 网站)指南

墨鸦的博客 3万+

nginx的安装以及代理配置

在nginx/conf目录下找到nginx.conf文件。重启之前先停止nginx,在nginx/sbin目录下。修改配置文件之后保存,然后需要重启nginx。基本上如下命令可以完成安装。

一般社员的博客 644

从零开始搭建Nginx代理服务

零基础小白也能完整搭建Centos系统的Nginx代理服务。

蹲在草丛嚼益达 2273

Nginx系列-使用 Nginx 搭建公网代理服务器

nginx配置正向代理

sre救赎之路 2700

nginx配置代理服务器-反向代理详细教程

最明显的一个例子,天猫双十一当天,某个热销商品的瞬时访问量是极其庞大的,那么类似上面的系统架构,将机器都增加到现有的顶级物理配置,都是不能够满足需求的。这时候集群的概念产生了,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。顺便说下,目前市面上,主流的负载均衡方案,硬件设备有F5,软件方案有四层负载均衡的LVS,七层负载均衡的Nginx、Haproxy等。

飙歌的博客 1万+

学习笔记:深入理解高性能代理服务器——Nginx

Nginx学习笔记一、Nginx 简介1. 什么是Nginx2. 反向代理3. 负载均衡4. 动静分离二、Nginx基本使用1. Nginx常用的操作命令2. Nginx的配置文件 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录一、Nginx 简介1. 什么是Nginx2. 反向代理3. 负载均衡4. 动静分离二、Nginx基本使用1. Nginx常用的操作命令2. Nginx的配置文件 一、Nginx 简介 1. 什么是Nginx   Nginx(“engine x”)是一个

qq_45867699的博客 8874

Nginx代理服务器

代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。.........

JohnnyG2000的博客 5595

Nginx的搭建与核心配置

1 Nginx概述 1.1Nginx模块与作用 1.2 Nginx三大作用(反向代理、负载均衡、动静分离) 2 Nginx和Apache对比 2.1 Nginx和Apache的差异 2.2Nginx和Apache的优缺点比较 3 安装及使用Nginx 3.1 编译安装nginx 3.2 启动停止nginx 3.3 创建Nginx 自启动文件 4 平滑升级及信号使用 4.1 信号 4.1.1 显示版本 4.1.2显示编译详细情况 模块等信息 4.1.3发送

2302_78835233的博客 1697
上一篇: Memcache学习笔记三:Memcache管理Tomcat的Session,Session共享
下一篇: TCP-IP学习笔记九:通过Spring打造通用RPC架构webService
motui
博客等级 码龄10年 84粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值