Nginx——Nginx优化方案设计

16 篇文章 2 订阅
订阅专栏

摘要

本博文介绍Nginx的优化设计方向和原理,帮助大家在nginx的使用和优化中提供一个参考的方向,让你的nginx发挥最大性能,节约系统资源。

一、Nginx开启Http2.0的优化

HTTP/2是HTTP协议的最新标准,它是HTTP/1.1的继承者。由于它给Web开发人员和用户带来的好处,它变得越来越受欢迎。通过支持HTTP/1.1的所有核心功能,它为HTTP语义提供了优化的传输,但是旨在以多种方式提高效率。HTTP/2之上有许多功能,这些功能使您有更多的可能性来优化网站/应用程序。它提供了真正的多路复用和并发,更好的报头压缩(二进制编码),更好的优先级,更好的流控制机制以及称为服务器推送的新交互模式,该模式使服务器能够将响应推送到客户端。更不用说,HTTP/2基于Google的实验性SPDY协议。因此,HTTP/2的主要重点是减少整个网页的加载时间,从而提高性能。它还关注网络和服务器资源的使用以及安全性,因为对于HTTP/2,必须进行SSL/TLS加密。

1.1 Http2.0的优点

HTTP2.0大幅度的提高了web性能,在HTTP1.1完全语意兼容的基础上,进一步减少了网络的延迟。实现低延迟高吞吐量。对于前端开发者而言,减少了优化工作。有以下优点

  • 二进制分帧
  • 首部压缩
  • 流量控制
  • 多路复用
  • 请求优先级
  • 服务器推送

1.2 Nginx开启的前提

  • 使用ngx_http_v2_module模块构建的NGINX 1.9.5或更高版本的正常安装。
  • 确保您的网站使用SSL/TLS证书,如果您没有SSL/TLS证书,则可以从Let's Encrypt获取或使用自签名证书。

1.3 nginx配置Http2.0

如果已安装NGINX,请ngx_http_v2_module通过运行以下命令来验证它是由模块构建的。

# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module

只需将http2参数添加到所有LISTEN指令,即可启用HTTP/2支持

listen 443 ssl http2;

 示例服务器块配置如下所示。

server {
        server_name example.com www.example.com;
        access_log  /var/log/nginx/example.com_access.log;
        error_log  /var/log/nginx/example.com_error.log;

        listen [::]:443 ssl ipv6only=on http2; # managed by Certbot
        listen 443 ssl http2; # managed by Certbot

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot    
}

二、Nginx配置Https功能

通过Nginx启用SSL, 代理HTTPS, 并实现HTTP强制转HTTPS。在配置ssl证书之前,要确保你的nginx已经安装了ssl模块,一般情况下自己安装的nginx都是不存在ssl模块的。这里先检查下自己是否存在ssl模块:进入到你的nginx安装目录下面,我的目录是在(/usr/local/nginx),如果你的nginx安装步骤和上面的文章一致的话,那你的目录和我应该是一致的进入到目录的sbin目录下,输入

#注意这里是大写的V,小写的只显示版本号

./nginx -V  

 如果出现 (configure arguments: --with-http_ssl_module), 则已安装。一般情况下都是不存在ssl模块的,接下来进入到你的解压缩后的nginx目录,注意这里不是nginx安装目录,是解压缩后的目录,我的是在(/root/nginx),进入目录后,输入

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
#切记不要执行make install,否则会重新安装nginx

 上述操作执行完成以后,你的目录下会出现objs文件夹,文件夹内存在nginx文件,如图:

接下来使用新的nginx文件替换掉之前安装目录sbin下的nginx,注意这里的替换的时候可以先将之前的文件备份下,停掉nginx服务。

./nginx -s stop #停止nginx服务

#替换之前的nginx

cp /root/nginx/objs/nginx /usr/local/nginx/sbin

Nginx代理HTTPS,修改配置: 添加443端口监听, 开启SSL, 配置证书地址,反向代理HTTPS。

server { 
    listen  443 ssl;
    server_name  www.abc.com;
    ssl         on;
    ssl_certificate     /usr/cert/yourperm.pem;
    ssl_certificate_key /usr/cert/yourkey.key;

    location / {
        proxy_pass https://127.0.0.1:9443;
        proxy_set_header Host $host;
    }
}

HTTP强制转 HTTPS,修改配置: 在80端口监听HTTP请求, 并重写请求, 以实现跳转。

 rewrite ^(.*) https://$server_name$1 permanent;
server {
    listen 80;
    server_name www.abc.com;
    rewrite ^(.*) https://$server_name$1 permanent;
} 

server { 
    listen  443 ssl;
    server_name  www.abc.com;
    ssl         on;
    ssl_certificate     /usr/cert/yourperm.pem;
    ssl_certificate_key /usr/cert/yourkey.key;

    location / {
        proxy_pass https://127.0.0.1:9443;
        proxy_set_header Host $host;
    }
}

三、Nginx开启数据压缩

为提高用户获取响应数据的速度,Nginx 服务器可以将响应数据进行 gzip 压缩,在减小响应数据的大小后再发送给用户端浏览器,相对于使用户浏览 Web 页面,上述方式显示速度更快。

要想启用响应数据 gzip 压缩(ngx_http_gzip_module 模块)功能,需要用户浏览器也支持 gzip 解压功能,目前大多数浏览器都支持 gzip 压缩数据的显示。Nginx 服务器接收客户端浏览器发送的请求后,通过请求头中的属性字段 Accept-Encoding 判断浏览器是否支持 gzip 压缩,对支持 gzip 压缩的浏览器将发送 gzip 压缩的响应数据。

Nginx开启Gzip的配置如下:
# $gzip_ratio计算请求的压缩率,$body_bytes_sent请求体大小
log_format  main  '$remote_addr - $remote_user [$time_local] "$host" - "$request" '
'$gzip_ratio - $body_bytes_sent - $request_time';
access_log  logs/access.log  main;

# 开启gzip
gzip on;

# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;

# gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level 1;

# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;

# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;

# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";

# 设置压缩所需要的缓冲区大小     
gzip_buffers 32 4k;

# 设置gzip压缩针对的HTTP协议版本
gzip_http_version 1.0;

我们以一个大小为92.6K的脚本文件为例,如下所示。其中最后三个数值分别表示压缩比、包大小、平均处理时间(使用ab压测,100用户并发下, ./ab -n 10000 -c 100 -H 'Accept-Encoding: gzip' http://10.27.180.75/jquery.js)以及CPU消耗。

从这我们可以得出结论:

  1. 随着压缩级别的升高,压缩比有所提高,但到了级别6后,很难再提高;
  2. 随着压缩级别的升高,处理时间明显变慢;
  3. gzip很消耗cpu的性能,高并发情况下cpu达到100%

因此,建议:一方面,不是压缩级别越高越好,其实gzip_comp_level 1的压缩能力已经够用了,后面级别越高,压缩的比例其实增长不大,反而很吃处理性能。另一方面,压缩一定要和静态资源缓存相结合,缓存压缩后的版本,否则每次都压缩高负载下服务器肯定吃不住。

四、Nginx开启合并请求

使用nginx-http-concat添加nginx资源请求合并功能

1.下载 这是https://github.com/alibaba/nginx-http-concat网址
 
cd /usr/local/src

wget https://github.com/alibaba/nginx-http-concat/archive/master.zip -O nginx-http-concat-master.zip

再配置下nginx编译参数,查看版本号以及配置信息(目录/模块) 这很重要,因为我们需要安装同一个版本来升级数据

/usr/local/nginx/sbin/nginx -V

也就是在原来的配置上添加  --add-module=--add-module=/usr/local/src/nginx-http-concat-master (解压目录)

编译安装: make && make install

server {
        listen       80;
        server_name localhost;
        index index.html index.htm;
        root  /html;
                
        location /static/css/ {
                concat on;    //开启
                concat_max_files 20; //最大合并文件数量是20个
				concat_delimiter /* my file */;  //
				concat_unique off;
				concat_types text/css application/javascript;
      }
 
        location /status {
                stub_status on;
                access_log   off;
        }
 
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js)$ {
                expires      off;
        }
		
 
}
  • concat ,是否打开资源合并开关,选项:on | off,默认:off
  • concat_types ,模块处理的资源类型,默认:text/css application/x-javascript
  • concat_unique ,是否允许合并不同类型的资源,选项:on | off,默认:on
  • concat_max_files ,允许合并的最大资源数目,默认:10
  • concat_delimiter ,合并后的文件内容分隔符,用于区分不同文件的内容
  • concat_ignore_file_error ,是否忽略404或403错误,选项:on | off,默认:off

 重启nginx,命令:/usr/local/nginx/sbin/nginx -s reload

五、Nginx配置参数调优

worker_processes 4;
worker_cpu_affinity = 0001 0010 0100 1000;
worker_rlimit_nofile 65538;

events {
	use epoll;
    worker_connections 65538;
	accept_mutex off;
    multi_accept off;
}

http {
	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	client_header_buffer_size 4k;
	client_max_body_size 2048m;

	gzip on;
    gzip_disable "msie6";
    gzip_min_length 1024;
    gzip_vary on;
    gzip_comp_level 2;
    gunzip_static on;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    fastcgi_connect_timeout      	600;
	fastcgi_read_timeout            600;
	fastcgi_send_timeout            600;
	fastcgi_buffer_size				64k;
	fastcgi_buffers 				4 64k;


    # 静态文件缓存 在各个server中按需单独配置
    server {
    	location ~* .(jpg|jpeg|png|gif|ico)$ {
		    expires 365d;
		}

		error_log  /xxx/error.log;
		access_log off;
    }

}

参数说明:

  • worker_processes 4; nginx进程数,一般设置为CPU核数量, grep processor /proc/cpuinfo | wc -l 命令可获得CPU核数。
  • worker_cpu_affinity = 0001 0010 0100 1000;将worker process与指定cpu核绑定,降低由于多CPU核切换造成的寄存器等现场重建带来的性能损耗,如果为2核,则配置为:worker_cpu_affinity = 01 10;如果是8核,则配置为:worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;如果超过8核,(最多开启8个,8个以上会不稳定)则worker_processes auto;且不配置worker_cpu_affinity参数。
  • worker_connections 65538; 每个进程允许的最多连接数,与ulimit -n值保持一致。
  • worker_rlimit_nofile 65538; 一个nginx 进程打开的最多文件描述符数目,与worker_connections值保持一致
  • sendfile on; 提高文件传输性能
  • tcp_nopush on; sendfile为on时这里也应该设为on,数据包会累积一下再一起传输,可以提高一些传输效率。
  • tcp_nodelay on; 小的数据包不等待直接传输
  • keepalive_timeout 65; keepalive_timeout 指定了与客户端的 keep-alive 链接的超时时间。服务器会在这个时间后关闭链接。降低这个值,以避免让 worker 过长时间的忙碌。注:后台有导出的话,其中参数keepalive_timeout可设置大些,为 1065
  • client_header_buffer_size 4k; 客户端请求的Header头缓冲区大小
  • client_max_body_size 2048m; 客户端上传的body的最大值(由于会诊之类的功能有大文件上传,所以这里的值需要设置为可上传最大文件上限)
  • gzip on; 开启Gzip,gzip可以帮助Nginx减少大量的网络传输工作
  • gzip_disable “msie6”; 对IE6浏览器的数据不进行GZIP压缩。
  • gzip_min_length 1024; Gzip压缩功能对大数据的压缩效果明显,但是如果压缩很小的数据,可能出现越压缩数据量越大的情况,因此应该根据相应页面的大小,选择性开启或者关闭Gzip功能。建议将值设置为1KB。
  • gzip_vary on; 用于设置在使用Gzip功能时是否发送带有“Vary:Accept-Encoding”头域的响应头部,该头域的主要功能是告诉接收方发送的数据经过了压缩处理,开启后端效果是在响应头部Accept-Encoding: gzip,对于本身不支持Gzip的压缩的客户端浏览器是有用的。
  • gzip_comp_level 2; 压缩级别
  • gunzip_static on; 如果客户端浏览器不支持Gzip处理,Nginx服务器将返回解压后的数据,如果客户端浏览器支持Gzip处理。Nginx服务器忽略该指令设置,仍然返回压缩数据。
  • gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
  • 启用gzip压缩的文件类型
  • access_log off; 日志,关闭访问日志,减少磁盘IO
  • fastcgi_connect_timeout 600; Nginx服务器和后端FastCGI服务器连接的超时时间
  • fastcgi_read_timeout 600; Nginx允许FastCGI服务器返回数据的超时时间,即在规定时间内后端服务器必须传完所有的数据,否则Nginx将断开这个连接
  • fastcgi_read_timeout 600; Nginx从FastCGI服务器读取响应信息的超时时间,表示连接建立成功后,Nginx等待后端服务器的响应时间
  • fastcgi_buffer_size 64k; Nginx FastCGI 的缓冲区大小,用来读取从FastCGI服务器端收到的第一部分响应信息的缓冲区大小
  • fastcgi_buffers 4 64k; 设定用来读取从FastCGI服务器端收到的响应信息的缓冲区大小和缓冲区数量
location ~* .(jpg|jpeg|png|gif|ico)$ {
        expires 365d;
} 静态文件缓存

 配置完成后,执行nginx -s reload命令重新加载配置文件

六、Ningx的扩容方式

扩容方式

  • 单机垂直扩容:硬件资源增加
  • 水平扩展:集群化
  • 细粒度拆分:分布式
  •                   数据分区
  •                  上游服务SOA化(原生支持水平/垂直扩容)
  •                  入口细分:浏览器、移动端原生App(物联网)、H5内嵌式应用
  • 数据异构化
  •         多级缓存
  •             客户端缓存
  •             CDN缓存
  •             异地多活
  •             Nginx缓存
  • 服务异步化
  •        拆分请求
  •        消息中间件

博文参考

《Nginx的优化设计》

ningx 的配置与安装 超详细
qq_44744614的博客
11-24 1238
ningx的配置与安装 一.安装环境准备 1.安装包官网地址:http://nginx.org/download/ 2.Linux系统(centos7) 二.安装步骤 1.ssh工具上传安装包到installPackage 目录下 2.如图所示进行解压:tar -xvf nginx-1.6.2.tar.gz , 重命名剪切到安装目录: mv nginx-1.6.2 /home/ningx 3.系统安装环境: yum -y install make zlib zlib-devel gcc-c++ libt
架构设计:负载均衡层设计方案(2)——Nginx安装1
08-08
【架构设计:负载均衡层设计方案(2)——Nginx 安装1】 在构建复杂的IT系统时,负载均衡是确保服务稳定性和可扩展性的重要组成部分。Nginx作为一个流行的高性能反向代理服务器和负载均衡器,其在架构设计中的角色...
Nginx性能调优策略|进阶篇
justlpf的专栏
06-14 2348
Nginx是一个高性能的Web服务器和反向代理服务器,常用于处理高并发的请求
Nginx性能优化方法总结--详细
u014748504的博客
09-11 2100
目录[-] nginx优化 #将nginx进程设置为普通用户,为了安全考虑 user nginx; #当前启动的worker进程,官方建议是与系统核心数一致 worker_processes 2; #方式一,就是自动分配绑定 worker_cpu_affinity auto; #日志配置成warn error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; #针对 nginx 句柄的文件限制 worker_rlimit_nof...
Nginx的配置及优化2
fyb012811的博客
09-02 532
修改错误页面的主要目的是为了提供更友好的用户体验和品牌一致性。也可以用指定的响应状态码进行响应。部分响应码状态#部分响应状态码 400 Bad Request:请求不正确或无效的错误页面。401 Unauthorized:未授权访问的错误页面。403 Forbidden:禁止访问的错误页面。404 Not Found:页面未找到的错误页面。500 Internal Server Error:服务器内部错误的错误页面。502 Bad Gateway:错误的网关请求的错误页面。
nginx : 提升多个小文件性能的concat模块
error311的博客
06-20 409
ngx_http_concat_module模块(阿里巴巴提供) 发挥范围:content阶段 功能:一次请求中返回多个文件的内容。当页面需要访问多个小文件时,把它们的内容合并到一次http响应中返回,提升性能 模块开发者Tengine网址链接 --add-module=../nginx-http-concat/ 使用:在URL后加上??,后通过多个逗号分隔文件 如果还有参数,则在最后通过?添加参数 1.concat指令(选择是否启用) 语法:concat :on | off; 默认...
架构设计:负载均衡层设计方案(3)——Nginx进阶1
08-08
Nginx 负载均衡层设计方案:Nginx 进阶】 在架构设计中,负载均衡层扮演着至关重要的角色,它负责分散网络流量,确保服务的高可用性和性能。Nginx 作为一款高性能的反向代理服务器,常常被用作负载均衡器。在本篇...
nginx-1.21.2.zip
最新发布
04-17
在这个"nginx-1.21.2.zip"压缩包中,您将找到Nginx的最新稳定版本——1.21.2。这个免安装版使得部署和使用更加便捷,无需复杂的安装过程,只需解压即可开始配置和运行。 **1. Nginx的核心特性** Nginx采用了事件...
nginx-rtmp+ffmpeg——livepush.war包
07-24
【标题】"nginx-rtmp+ffmpeg——livepush.war包" 涉及到的是一个实时流媒体处理的解决方案,结合了Nginx-RTMP模块和FFmpeg工具,以及一个名为`livepush.war`的应用程序。这个组合常用于将RTSP视频流进行转换和分发。...
技术选型方案(中间件选型)针对Nginx.doc
06-21
**技术选型方案:Nginx 中间件详解** 在当今的互联网环境中,选择合适的中间件对于构建高效、稳定、可扩展的系统至关重要。Nginx作为一款高性能的Web服务器和反向代理服务器,因其出色的性能特性而备受青睐。本文将...
nginx系列(十四)nginx下支持http/2.0
04-23
NULL 博文链接:https://phl.iteye.com/blog/2251697
Nginx优化方案
桂安俊@KylinOS
11-15 1321
2、自定义错误返回页面默认nginx.conf的server下面都有个注释的error_page配置,取消注释,更改为自定义页面或图片就行了:server {}#html可以自定义,但要实际存在##也可以显示图片,选用一个即可#}... ...}【注】:上面的my404.html和my404.jpg文件前面的“/”不是系统的跟目录,而是nginx的html的根目录,即/usr/local/nginx/html/下。
Nginx基础入门
思变的博客
07-10 132
1.Nginx基本概念 Nginx是什么?做什么事情? 正向代理:代理客户端,如翻墙 反向代理:代理服务器,隐藏真实服务器IP 负载均衡:将请求分发到不同服务器 动静分离:把动态页面和静态页面由不同的服务器来解析 2.Nginx安装、常用命令、配置文件 一:安装Nginx相关依赖 安装nginx相关依赖 yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y open
Nginx实现合并多个静态文件,减少http请求
weixin_33862041的博客
08-08 231
为什么80%的码农都做不了架构师?>>> ...
ngx_pagespeed-nginx前端优化模块介绍
weixin_33836874的博客
02-21 142
  ngx_pagespeed是Nginx的一个扩展模块,借助pagespeed,为Nginx网站服务器提速。主要的功能是针对前端页面而进行服务器端的优化,对前端设计人员来说,可以省去优化css、js以及图片的过程。ngx_pagespeed对nginx自身负载能力的提升基本是看不到的,甚至会因为进行服务器端的优化而使系统增加负载;但从减少客户请求数的角度去看,牺牲部分服务器性能还是值得的。 ng...
nginx配置http为1.0到1.1,主要是为了长连接有效
热门推荐
gxl0805的专栏
04-21 1万+
对于HTTP代理,proxy_http_version指令应该设置为“1.1”,同时“Connection”头的值也应被清空。 upstream http_backend { server 127.0.0.1:8080; keepalive 16; } server { ... location /http/ { proxy_pass h
Nginx 性能优化给你的几点建议和技巧 Performance Tuning – Tips & Tricks
小楼一夜听春雨,深巷明朝卖杏花
07-11 1088
Tuning NGINX Configuration Please refer to theNGINX reference documentationfor details about supported values, default settings, and the scope within which each setting is supported. SSL This section describes how toremove slow and unnecessary cip...
Nginx 高可用方案
qq_36807862的博客
07-30 3121
负载均衡策略 方案一:使用硬件负载均衡策略的实现,如使用F5,Array等负载均衡器; 方案二:使用软件进行负载均衡 使用阿里云服务器均衡负载SLB; 使用nginx+keepalived; 其他软件负载均衡如LVS(Linux Virtual Server)、Haproxy等技术; Nginx环境搭建 wget下载nginx安装包; 进行解压安装; 下载所需要的依赖库文件:yum...
提高Nginx网络吞吐量之buffers优化
weixin_34099526的博客
05-24 495
2019独角兽企业重金招聘Python工程师标准>>> ...
计算机网络课程设计(精品课程网站设计).doc
06-19
计算机网络课程设计(精品课程网站设计).doc

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交

博客专家认证

864
原创
1203
点赞
7270
收藏
2180
粉丝
关注
私信
写文章

热门文章

  • 产品与团队——项目管理工具(JIRA) 50441
  • Python——回调函数(callback) 40263
  • pycharm出现了pytest模式下怎修改会run模式 31324
  • 数据库架构设计——表结构设计 22494
  • 计算机网络——网络抓包实战 15146

分类专栏

  • 支付交易 付费 18篇
  • MySql数据库 付费 56篇
  • JVM虚拟机 付费 17篇
  • Redis 付费 30篇
  • Athena电商系统 6篇
  • Hear大数据项目 3篇
  • 微服务系统实战 17篇
  • 数据结构与算法 30篇
  • leetcode每日一题 24篇
  • 剑指offer 67篇
  • 操作系统 16篇
  • 计算机网络 26篇
  • JDK源码 30篇
  • 软件设计模式 18篇
  • 计算机语言 36篇
  • JUC并发编程 16篇
  • 数据库中间件 10篇
  • Netty框架 24篇
  • RPC框架 23篇
  • 注册中心 21篇
  • MQ中间件 24篇
  • Mybatis 13篇
  • Nginx 16篇
  • Spring框架 28篇
  • KubeSphere 32篇
  • Docker 25篇
  • 软件测试 6篇
  • Git 13篇
  • DevOps 11篇
  • Vue 1篇
  • 数据分析 1篇
  • 大数据 1篇
  • 系统架构设计 39篇
  • AI项目 13篇
  • 面试经验 1篇
  • 环境配置实战 16篇
  • 产品与团队 12篇

最新评论

  • 支付交易——支付原理

    twtqmq: 作者的数据 还是 2018年的, 能拿到较新的数据吗

  • MQ——RabbitMQ基础组件

    喻师傅: 牛的 大佬

  • MyBatis——MyBatis插件原理

    怪 咖@: 讲的确实细,不亏阿里

  • 算法训练——DFS岛屿问题

    HANG行: 很好的文章,感谢大佬

  • 计算机网络——HTTP协议原理

    丶睡觉丶: b/s应该是浏览器服务器模型吧

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 信贷系统——信贷对数(对账)
  • 信贷系统——基础信贷概念
  • 信贷系统——信贷的账务设计
2024年23篇
2023年141篇
2022年175篇
2021年388篇
2020年135篇
2019年4篇
2018年2篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庄小焱

我将坚持分享更多知识

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

PHP网站源码吉祥建网站南澳seo网站推广坂田网站推广工具大运百姓网标王推广东莞外贸网站设计大浪标王南山网络推广光明网站改版大鹏网站推广方案大鹏网页设计永湖企业网站制作塘坑百搜标王惠州高端网站设计东莞网站改版双龙建设网站罗湖品牌网站设计大鹏外贸网站建设坪山百度网站优化排名龙岗百度关键词包年推广塘坑外贸网站设计荷坳网站优化按天计费荷坳推广网站大运营销网站双龙网站推广方案南山关键词按天扣费大浪网站优化推广爱联设计网站坑梓网站制作大浪百度竞价平湖营销网站歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化