前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTTP服务器Nginx服务介绍续

HTTP服务器Nginx服务介绍续

作者头像
民工哥
发布2020-09-16 16:23:39
2790
发布2020-09-16 16:23:39
举报

HTTP服务器Nginx服务

什么是Nginx

在此之前也介绍过相关的内容与安装过程,介于实际生产运维环境中使用之多,还是有必要详细了解和理解它的一些强大的功能与特性。

Nginx作为一个轻量级的HTTP服务器,相比Apache优势也是比较明显的,在性能上它占用资源少,能支持更高更多的并发连接,从而达到提高访问效率;在功能上它是一款非常优秀的代理服务器与负载均衡服务器;在安装配置上它安装,配置都比较简单

Nginx的优势简介:

经常在运维面试中,面试官会问到,你们用什么HTTP服务器啊?为什么用它??

1、作为WEB服务器而言,Nginx处理静态文件的效率比较高

2、作为代理服务器而言,Nginx可以实现无缓存的反向代理加速来提高WEB站点的运行速度,提高用户访问的体验

3、作为负载均衡服务器而言,支持的应用较多,同时也支持容错功能,自带算法进行负载均衡调度

4、性能方面而言,采用内核poll模型,支持更多的并发连接,官方显示最大可支持50000个并发连接的请求响应,但占用资源很少且非常稳定

Nginx日常配置优化

1、日志切割

由于Nginx没有Apache服务的cronolog日志切割功能,所以需要进行相关优化处理,可以编写脚本来自动切割日志文件

代码语言:javascript
复制
#!/bin/sh
logpath="/nginx/logpath"
nginxlogs="/var/log/nginx/"
mkdir -p  $logpath/$(date +%Y)
mv $nginxlogs/access.log $logpath/$(date +%Y)/access_$(date +F).log
mv $nginxlogs/error.log $logpath/$(date +%Y)/access_$(date +F).log
kill -USR1 `cat /var/log/nginx/nginx.pid`

##通过USR1信号来控制进程,从而重新生成一个新的日志文件

nginx对进程的控制功能非常强,可以通过信号指令来控制进程,常用信号如下

QUIT 处理完当前请求后关闭进程

HUP 重新加载配置,不会中断用户的访问请求

USR1 用于切割日志

USR2 用于平滑升级可执行程序

最后将脚本执行命令加入到定时任务来实现自动切割日志

2、nginx中FastCGI参数优化

提高nginx环境下PHP的运行效率,可以将下面的配置加入到主配置文件中

代码语言:javascript
复制
fastcgi_cache_path /application/nginx/fastcgi_cache_levels=1:2 keys_zone=TEST:10m inactive=5m;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_cache TEST;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 3011d;
fastcgi_cache_valid any 1m;

##应答缓存时间

3、nginx的HTTPgzip模块配置

代码语言:javascript
复制
[root@centos7 ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.12.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --prefix=/usr/local/nginx

可以看出在编译时已加上此模块,因此只需要在配置文件里进行配置即可

代码语言:javascript
复制
    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档