您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

nginx常见典型故障

时间:2019-09-05 11:10:23  来源:  作者:

1.为什么Nginx里面有的是浏览器渲染出的页面,有的时候就变成下载文件?

这个一个取决于服务端nginx,一个取决于你浏览器。在Nginx服务端的配置文件目录下,有一个mime.types文件,内容如下

types {
 text/html html htm shtml;
 text/css css;
 text/xml xml;
 image/gif gif;
 image/jpeg jpeg jpg;
 Application/JAVAscript js;
 application/atom+xml atom;
 application/rss+xml rss;
 text/mathml mml;
 text/plain txt;
 text/vnd.sun.j2me.app-descriptor jad;
 text/vnd.wap.wml wml;
 text/x-component htc;

这里,如text/html格式的字符串就是用来说明数据类型的,/前的是主类型,/之后的是该主类型下的子类型。详细的类型定义在RFC2046中。

Nginx通过服务器端文件的后缀名来判断这个文件属于什么类型,再将该数据类型写入HTTP头部的Content-Type字段中,发送给客户端

比如,当我们打开一个页面,看到一个PNG格式的图片的时候,Nginx是这样发送格式信息的:

服务器上有test.png这个文件,后缀名是png;

根据mime.types,这个文件的数据类型应该是image/png;

将Content-Type的值设置为image/png,然后发送给客户端。

我们在Chrome浏览器中可以看到这个文件返回的头部信息,并对应的宣传出来,如果不能识别则设置为下载文件。

2.multi_accept on的作用是什么?能不能通用配置?

这个数值默认就是on建议采用默认设置, multi_accept的作用是告诉nginx收到一个新连接通知后接受尽可能多的连接,多个worker按串行方式来处理连接,也就是一个连接只有一个worker被唤醒,其他的处于休眠状态

设置为off后,多个worker按并行方式来处理连接,也就是一个连接会唤醒所有的worker,直到连接分配完毕,没有取得连接的继续休眠。当你的服务器连接数不多时,开启这个参数会让负载有一定的降低,但是当服务器的吞吐量很大时,为了效率,可以关闭这个参数。

3.同一台机器通过进程socket文件快还是通过localhost:9000这个方式快?彼此之间各有什么坑吗?

这两个模式不一样,一般对于程序联系更为紧密的,可以使用进程间共享内存调用,这样效率更高。Socket方式

如果,两个进程是松耦合的,那么用接口调用模式更佳。IP:PORT方式

当前,我们对于系统设计讲究松耦合,微服务的模式,所以版本通过api接口模式调用更为广泛应用。

4.nginx +Tomcat 后台服务响应内容比较大,日志报"an upstream response is buffered to a temporary file"的warn,通常这种情况需要配置网站的 Proxy Buffer相关的参数,但proxy buffer相关的参数,我应该配置多大合理

这个buffer缓冲区设置是根据实际的 Response 大小来定,假设你是这么设置的:

fastcgi_buffers 8 5K; 
fastcgi_buffer_size 5K;
#那么内存的缓存区最大能缓存的大小是 5K * 8 = 40K,如果Nginx代理的后台页面超过这个大小,那就会出现这个错误。
#因为,频繁的写硬盘会影响性能,所以这个参数还是值得适当的根据实际情况优化的

5.关于try_files,怎么在生产中真正结合缓存,代理用?如下例:

server {
 ...
 location {
 try_files /app/cache/ $uri @fallback; 
 index index.html;
 }
 ...
}

我们可以用后台程序将缓存信息生成到$document_root/app/cache/目录下,它将检测,$document_root/app/cache/index.html 和$document_root$uri是否有静态缓存生成的文件存在,如果不存在着内部重定向到@fallback(@表示配置文件中预定义标记点)。

6.nginx在配置https时,如何匹配某个URL地址不做https跳转,如下例:

server {
 listen 80;
 server_name xuliangwei.com;
 root /code;
 location / {
 #如果url不匹配这个则进行跳转https,匹配则走本地的root查询内容
 if ($request_uri !~ '^/bgx/') {
 return 301 https://$server_name$request_uri;
 }
 }
}
server {
 ....
 listen 443;
 server_name xuliangwei.com;
 ....
}

7.使用nginx负载均衡时,如何将后端请求超时的服务器流量平滑的切换到另一台上。

如果后台服务连接超时,Nginx是本身是有机制的,如果出现一个节点down掉的时候,Nginx会更据你具体负载均衡的设置,将请求转移到其他的节点上,但是,如果后台服务连接没有down掉,但是返回错误异常码了如:504、502、500,这个时候你需要加一个负载均衡的设置,如下:

proxy_next_upstream http_500 | http_502 | http_503 | http_504 |http_404;

意思是,当其中一台返回错误码404,500...等错误时,可以分配到下一台服务器程序继续处理,提高平台访问成功率。

server {
 listen 80;
 server_name xuliangwei.com;
 location / {
 proxy_pass http://node;
 proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
 }
}

8.如何使用nginx的proxy_next_upstream将nginx错误页面返回json

需求是除了404 页面,其他的错误页面都要返回 json,而且在外界看来是正常的,所以说白了就是后端服务器返回了我定义的错误状态码,需要在nginx这里做一个转换,转换到 200,用户看到的是200,其实是将错误的状态码定向至200,然后再次调度到/api。

server {
 listen 80;
 server_name www.bgx.com;
 location / {
 proxy_intercept_errors on; #反向代理默认不支持自定义错误页面,需要增加该参数
 proxy_set_header Host $host;
 proxy_pass http://www_server3_plools;
 proxy_set_header X-Forwarded-For $remote_addr;
 proxy_next_upstream error timeout http_503 non_idempotent;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 #出现500等错误都返回给用户200状态,并跳转至/api
 error_page 500 502 503 504 =200 /api;
 location = /api{
 default_type application/json;
 return 200 '{"retCode":"1001","retMsg":"invoke failed"}';
 }

9.负载均衡配置,当挂掉一台服务时,不能流畅地切换

需求:在配置负载均衡时,后端三台web,手动关闭一个web 服务,当轮询到这台关停的时候,总是要卡顿很久?

#可以如下这两个参数:
proxy_connect_timeout 600; #1分钟 
proxy_read_timeout 600; #1分钟

10.Nginx如何封掉真实恶意攻击的IP地址

server {
 listen 80;
 server_name bgx.com;
 location / {
 set $allow true;
 if ($http_x_forwarded_for ~ "106.121.*.*|106.121.71.120|106.121.74.130"){
 set $allow false;
 }
 if ($allow = false){
 return 403;
 }
 }
}

11.配置Nginx,仅允许公司网络地址能访问公司后台/admin,其他网络访问返回403错误。

server {
 listen 80;
 server_name bgx.com;
 location ~ ^/admin {
 set $allow false;
 if ($http_x_forwarded_for ~ "36.11.10.254|36.11.10.*"){
 set $allow true;
 }
 if ($allow = false){
 return 403;
 }
 }
}

12.linux系统的65535端口限制是如何来的?

在TCP、UDP协议的开头,会分别有16位来存储源端口号和目标端口号,所以端口个数是2^16-1=65535个。

TCP端口数65535的限制,这个是由TCP/IP协议栈中的第四层运输层UDP/TCP协议决定的.在UDP/TCP协议中源端口和目的端口都只有16位,也就是说端口的取值范围为0~65535。

13.四层负载均衡与七层负载均衡误区?

1.四层负载均衡不受系统套接字限制,可以承载的并发量可以远远超过65535,这是因为四层在OSI协议中处于较低的层级,其并非在用户空间,而是在内核空间,是由TCP/IP协议栈处理的!

2.而七层负载均衡是在应用层进行负载均衡,应用层位于OSI协议中的最高层,也就是最接近用户,其维护连接数要受到系统套接字的限制,Linux默认最多可以使用的套接字就65535个,这是系统的限制……更重要的是每个客户端请求到达服务器,服务器处理的时候都是自最下层往上一次拆封数据包的,最上面的应用层需要处理更多的工作,因此其必然承载的并发量不如四层多!

3.但需要注意七层负载均衡可以进行更复杂的控制,比如session会话保持,URL规则控制等,功能比四层更全面!

至于四层和七层可以处理的并发量有多大,这个和硬件密切相关,不同配置的服务器,差异较大,没有准确的量化指标!

14.如何为Nginx配置错误页面?

当我们只有单台web服务器时,需要配置错误返回页面,可以使用error_page来指定。

[root@web01 conf.d]# cat code3.conf 
server {
 listen 80;
 server_name code.oldboy.com;
 location / {
 root /code;
 }
 #如服务器返回如下错误状态码,则进行跳转,跳转至/404.html
 error_page 404 403 /40x.html;
 #如服务器返回如下错误状态码,则进行跳转,跳转至/50x.html
 error_page 500 502 503 504 /50x.html;
 #精准匹配访问
 location = /404.html {
 root /err;
 }
 location = /50x.html {
 root /err;
 }
}

15.如何为nginx反向代理设置自定义错误页面,包含proxy、fastcgi

#代理的配置
[root@www conf.d]# cat proxy.conf
server {
 listen 80;
 server_name test.bgx.com;
 location / {
 proxy_pass http://127.0.0.1:8080;
 proxy_intercept_errors on; #接收后端web4xx,5xx错误
 error_page 500 502 403 404 = /proxy_error.html; #将后端web抛出的错误定向到指定的页面
 }
 #如果有请求proxy_error.html文件的则指定到对应的目录
 location = /proxy_error.html {
 root /code/proxy;
 }
}
#后端web节点配置
[root@www conf.d]# cat web.conf
server {
 listen 8080;
 server_name test.bgx.com;
 root /code/web;
 index index.html;
 error_page 404 /404.html; #如果代理开启proxy_intercept_errors则后端web配置error_page无效
}

16.Nginx如何禁止IP直接访问?

当用户通过访问IP或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500,目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。

server {
 listen 80;
 server_name www.xuliangwei.com # 这里指定自己的域名
}
server{
 listen 80 default_server; # 默认优先返回
 server_name _; # 空主机头或IP
 return 500; # 返回500错误
}

也可以将流量集中导入自己的网站,只要做以下跳转设置就可以

server {
 listen 80 default_server;
 return 302 https://www.xuliangwei.com;
}

17.Nginx在上传文件时出现413 Request Entity Too Large,怎么办?

因为Nginx默认支持上传1MB的文件,所以超过1MB则会报错。

#nginx上传文件大小限制配置语法
Syntax: client_max_body_size size;
Default: client_max_body_size 1m;
Context: http, server, location
允许该server能支持上传200m的文件,也可以其配置放入http层,所有server都生效。
server {
...
 client_max_body_size 200m;
...
}

18.Nginx指定路径时,root与alias区别在哪

root与alias路径匹配主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上,alias是一个目录别名的定义,root则是最上层目录的定义。

root的处理结果是:root路径+location路径

alias的处理结果是:使用alias路径替换location路径

1.root路径配置实例: 用户访问www.xuliangwei.com/image/test.gif,实际上Nginx会上/code/image/目录下找去找test.gif文件

server {
 listen 80;
 server_name www.xuliangwei.com;
 location /image/ {
 root /code;
 }
}

2.alias配置实例: 用户访问www.xuliangwei.com/image/test.gif,实际上Nginx会上/code/目录下找去找test.gif文件。

server {
 listen 80;
 server_name www.xuliangwei.com;
 location /image/ {
 alias /code;
 }
}

19.为什么通过IP地址访问Nginx,有时候访问的不是我想要的页面呢?

在开始处理一个http请求时,nginx会取出header头中的Host变量,与nginx.conf中每个server的server_name进行匹配,以此决定到底由哪一个server来处理这个请求。但nginx如配置多个相同的server_name,会导致server_name出现优先级访问冲突。

1.准备nginx对应的配置文件

[root@web02 conf.d]# cat code1.conf
server {
 listen 80;
 server_name localhost code1.bgx.com;
 location / {
 root /code1;
 index index.html;
 }
}
[root@web02 conf.d]# cat code2.conf
server {
 listen 80;
 server_name localhost code2.bgx.com;
 location / {
 root /code2;
 index index.html;
 }
}
[root@web02 conf.d]# cat code3.conf
server {
 listen 80;
 server_name localhost code3.bgx.com;
 location / {
 root /code3;
 index index.html;
 }
}

2.准备站点目录

[root@web02 conf.d]# mkdir /code{1..3} -p
[root@web02 conf.d]# for i in {1..3};do echo "Code$i" > /code$i/index.html;done
[root@web02 conf.d]# cat /code1/index.html 
Code1
[root@web02 conf.d]# cat /code2/index.html 
Code2
[root@web02 conf.d]# cat /code3/index.html 
Code3

3.检查语法, 并重新加载Nginx

[root@web02 conf.d]# nginx -t
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# 重启Nginx
[root@Nginx ~]# systemctl restart nginx

4.测试访问效果

#1.当用户第一次访问, 由code1.conf返回输出信息
[root@Nginx ~]# curl localhost
Code 1
#2.此时将code1.conf修改为code5.conf后进行重载Nginx
[root@Nginx ~]# mv code1.conf code5.conf
[root@Nginx ~]# systemctl reload nginx
#3.再次访问时, 由code2.conf返回输出信息
[root@Nginx ~]# curl localhost
Code 2

5.多ServerName优先级总结, 在开始处理一个HTTP请求时,Nginx会读取请求头中的host,与每个server中的 server_name 进行匹配,来决定用哪一个 server 标签完成处理这个请求。但有可能一个Host与多个server中的server_name都匹配,这个时候就会更具匹配优先级来选择实际处理的server块。优先级匹配结果如下:

1.首先选择所有的字符串完全匹配的server_name。(完全匹配)

2.选择通配符在前面的server_name,如*.bgx.com

3.选择通配符在后面的server_name,如bgx.*

4.最后选择使用正则表达式匹配的server_name

5.如果全部都没有匹配到,那么将选择在listen配置项后加入[default_server]的server块

6.如果没写,那么就找到匹配listen端口的第一个Server块的配置文件

PS注意:当出现多个相同的Server_Name情况下,配置文件排序优先使用则会先被调用,所以生产建议配置相同端口, 不同域名,这样则不会出现访问冲突。

20.Nginx Try_files路径匹配如何使用?

nginx的try_file路径匹配,按顺序检查文件是否存在

[root@bgx ~]# cat /etc/nginx/conf.d/try_file.conf
server {
 listen 80;
 server_name try.bgx.com;
 root /code;
 location / {
 try_files $uri /404.html /index.php;
 }
}
#1.检查用户请求的uri内容是否存在本地,存在则解析
#2.如果请求的url不存在,则访问对应站点目录中的404.html文件 
#3.最后交给index.php处理 

1.演示环境准备

[root@Nginx ~]# echo "Try-Page" > /soft/code/index.html
[root@Nginx ~]# echo "Tomcat-Page" > /soft/app/Apache-tomcat-9.0.7/webapps/ROOT/index.html
#启动tomcat
[root@Nginx ~]# sh /soft/app/apache-tomcat-9.0.7/bin/startup.sh
#检查tomcat端口
[root@Nginx ~]# netstat -lntp|grep 8080
tcp6 0 0 :::8080 :::* LISTEN 104952/java 

2.配置Nginx的tryfiles

[root@Nginx ~]# cat /etc/nginx/conf.d/try.conf 
server {
 listen 80;
 server_name try.bgx.com;
 root /code;
 index index.html;
 location / {
 try_files $uri @java_page;
 }
 location @java_page {
 proxy_pass http://127.0.0.1:8080;
 }
}
#重启Nginx
[root@Nginx ~]# nginx -s reload

3.测试`tryfiles`

[root@Nginx ~]# curl http://try.bgx.com/index.html
Try-Page
#将/code/index.html文件移走
[root@Nginx ~]# mv /code/{index.html,index.html_bak}
#发现由Tomcat吐回了请求
[root@Nginx ~]# curl http://try.bgx.com/index.html 
Tomcat-Page

21.使用lvs+keepalived可以直接负载到后端的tomcat,nginx也可以负载到后端的tomcat,lvs是4层负载比nginx七层负载效率要高,为什么网上有很多资料要使用lvs+keepalived来负载nginx呢?直接使用lvs+keepalived负载到后端的tomcat不就可以了吗?

首先nginx是一个静态服务器,通常用来处理静态资源,比如你网页中的html,图片,css等,这些都属于静态资源,但nginx也可以作为反向代理,将你的动态资源请求给你分发到后端的应用服务器(此处就是分发到你的tomcat),由于nginx的高性能,尤其是处理静态资源的高效性!

其实两种方案都可以,一种是nginx+tomcat,这种通常用于中小型站点,

第二种是lvs+nginx+tomcat,这种适用于大型站点,因为lvs的并发能力远远大于nginx,所以用在最前端,接收用户请求,后面的nginx可以用于会话保持

两者是不同的应用场景,对于有session保持的场景,LVS是做不到的,因此LVS也替代不了Nginx……但如果你的应用不需要更复杂的7层控制,那LVS的性能会远远大于nginx!

22.nginx挂维护页面后,所有用户访问网站都会自动跳转至维护页面。但公司内部IP需要能正常访问网站,不授维护页面干扰。

1.代码如下

[root@web01 conf.d]# cat wh.conf
server {
 listen 80;
 server_name limit.bgx.com;
 root /code;
 #------------------>
 #1.在server层下设定ip变量值为0
 set $ip 0;
 #2.如果来源IP是10.0.0.101 102则设定变量为ip变量为1
 #注意如果remote_addr无法获取真实客户端IP,请使用$http_x_forwarded_for
 if ($remote_addr ~* "10.0.0.101|10.0.0.102") {
 set $ip 1;
 }
 #3.如果ip变量为0,则跳转至/code/wh.html这个页面,否则不做任何处理
 if ($ip = 0) {
 rewrite ^(.*)$ /wh.html break;
 }
 #------------------->如果想针对某个location进行操作,则将如上配置写入location中即可
 location / {
 index index.html;
 }
}

2.效果展示

Linux干货:nginx常见典型故障

 



Tags:nginx   点击:()  评论:()
声明:本站部分内容来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
什么是Nginx?Nginx (engine x) 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来...【详细内容】
2020-07-06   nginx  点击:(0)  评论:(0)  加入收藏
相对于Apache的同步IO模型,Nginx由于采用了NIO的缘故,性能上碾压前者。Nginx是轻量级的,占用的系统资源更少,天然支持高并发。今天我们就简单的讨论一下nginx的线程模型。注意不...【详细内容】
2020-07-01   nginx  点击:(3)  评论:(0)  加入收藏
前面几周,讲过Nginx的日志配置:Nginx | 超详细!Nginx 日志配置实践,然后也讲了Nginx的进程模型,底层原理等:Nginx为什么快到根本停不下来?没看过的可以先看看(链接点击可跳转)。 例...【详细内容】
2020-06-26   nginx  点击:(0)  评论:(0)  加入收藏
上一篇文章我写了 Nginx 的 11 个阶段,很多人都说太长了。这是出于文章完整性的考虑的,11 个阶段嘛,一次性说完就完事了。今天这篇文章比较短,看完没问题。过滤模块的位置之前我...【详细内容】
2020-06-25   nginx  点击:(0)  评论:(0)  加入收藏
技术编辑:宗恩丨发自 SiFou Office作者:SegmentFault 思否报道转发链接: https://mp.weixin.qq.com/s/IRWTloT_nMSIezZiwUEGZg前言去年12月,俄罗斯警方搜查了商业服务器公司 N...【详细内容】
2020-06-21   nginx  点击:(1)  评论:(0)  加入收藏
简单有效的防盗链手段场景如果做过个人站点的同学,可能会遇到别人盗用自己站点资源链接的情况,这就是盗链。说到盗链就要说一个 HTTP 协议的 头部,referer 头部。当其他网站通...【详细内容】
2020-06-15   nginx  点击:(2)  评论:(0)  加入收藏
本文以api.mingongge.com.cn域名为测试对象进行统计,日志为crm.mingongge.com.cn和risk.mingongge.com.cn请求之和(此二者域名不具生产换环境统计意义),生产环境请根据具体需...【详细内容】
2020-06-12   nginx  点击:(0)  评论:(0)  加入收藏
​一、设置CentOS7的yum源及EPEL yum源EPEL (Extra Packages for Enterprise Linux) 是由 Fedora Special Interest Group 为企业 Linux 创建、维护和管理的一个高质量附...【详细内容】
2020-06-08   nginx  点击:(25)  评论:(0)  加入收藏
没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位...【详细内容】
2020-06-06   nginx  点击:(4)  评论:(0)  加入收藏
1 简介Nginx是一个非常强大和流行的高性能Web服务器。本文讲解Nginx如何整合https并将http重定向到https。https相关文章如下:(1)Springboot整合https原来这么简单(2)HTTPS之密钥...【详细内容】
2020-06-04   nginx  点击:(3)  评论:(0)  加入收藏
简述本文主要介绍Nginx负载均衡之upstream、server、location参数配置。NginxNginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源...【详细内容】
2020-06-04   nginx  点击:(1)  评论:(0)  加入收藏
LVS简介LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。LVS主要用于多服务器的负载均衡。它工作在网络层,可以实现高性能,高可用的服务器集...【详细内容】
2020-06-04   nginx  点击:(2)  评论:(0)  加入收藏
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少(一个worker进程只占用10-12M内存),启动极快,高并发能力强,在互联网项目中广泛应用。 上图基本上说明了当下流...【详细内容】
2020-06-03   nginx  点击:(0)  评论:(0)  加入收藏
前言Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型...【详细内容】
2020-06-02   nginx  点击:(1)  评论:(0)  加入收藏
前言Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的...【详细内容】
2020-06-02   nginx  点击:(1)  评论:(0)  加入收藏
相信很多小伙伴都见过一些商业产品中的url接口响应时间,实时汇总显示功能。可以理解为web接口的慢查询,与sql的慢查询有异曲同工之妙,但是想做却无从入手不知道怎么实现此功能,...【详细内容】
2020-05-29   nginx  点击:(4)  评论:(0)  加入收藏
Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务...【详细内容】
2020-05-22   nginx  点击:(5)  评论:(0)  加入收藏
Nginx服务器是一款高性能的服务器,之前部署网站就使用了它进行反向代理,这次就好好总结Nginx相关的特性与使用。 01 前言Nginx服务器是Web服务器,也就是我们平时用来提供Web服...【详细内容】
2020-05-22   nginx  点击:(4)  评论:(0)  加入收藏
本文主要帮助大家熟悉 Nginx 有哪些应用场景、Nginx 特点和架构模型以及相关流程、Nginx 定制化开发的几种模块分类。 本文将围绕如下几个部分进行讲解: Nginx 简介及特点 Ng...【详细内容】
2020-05-20   nginx  点击:(5)  评论:(0)  加入收藏
1.nginx的编译安装#1.安装Nginx所依赖的库文件或开发包yum install gcc redhat-rpm-config libxslt-devel gd-devel perl-ExtUtils-Embed geoip-devel gperftools-devel pcr...【详细内容】
2020-05-19   nginx  点击:(2)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条