Nginx Web服务优化

实验环境:

虚拟机

CentOS 6.8

Nginx基本安全优化

1.调整参数隐藏Nginx软件版本号信息

http

{

include  mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

server_tokens off;   为关闭状态,不显示具体版本号

include extra/www.conf;

include extra/bbs.conf;

include extra/blog.conf;

}

2.更改源码隐藏Nginx软件名称及版本号

先修改以下几个文件:

/home/skyboy/tools/nginx-1.10.2/src/core/nginx.h

/home/skyboy/tools/nginx-1.10.2/src/http/ngx_http_header_filter_module.c

/home/skyboy/tools/nginx-1.10.2/src/http/ngx_http_special_response.c

修改后编译软件,使其生效。

3.更改Nginx服务的默认用户

[[email protected] conf]# grep ‘#user‘ nginx.conf.default

#user  nobody;

(1)为Nginx服务建立新用户

[[email protected] conf]# useradd nginx -s /sbin/nologin -M

useradd:用户“nginx”已存在

(2)使用刚刚建立的nginx用户

第一种方法:直接更改配置文件参数

User nginx  nginx;

第二种方法:在编译软件时指定用户名和用户组

(3)检查更改用户的效果

[[email protected] conf]# ps  -ef|grep nginx|grep -v grep

root      1574     1  0 23:07 ?        00:00:00 nginx: master process /application/nginx/sbin/nginx -c /application/nginx/conf/nginx.conf

nginx     1674  1673  0 23:13 ?        00:00:00 php-fpm: pool www

nginx     1675  1673  0 23:13 ?        00:00:00 php-fpm: pool www

nginx     1832  1574  0 23:36 ?        00:00:00 nginx: worker process

根据参数优化Nginx服务性能

优化Nginx服务的worker进程个数

建议,根据cpu的个数来配置进程个数。

Worker_processes 1;  #默认是1个进程数

调整Nginx单个进程允许的客户端最大连接数

events {

worker_connections  1024; #默认是1024

}

Worker_connections的值要根据具体服务器性能和程序的内存使用量来指定。

#vi nginx

user nginx nginx;

worker_processes 1;

events

{

use epoll; #事件处理模型优化,没有进行任何设置,nginx会自动选择最优方法

worker_connections  2000;

}

http

{

include  mime.types;

default_type application/octet-stream;

sendfile on; #用开启文件的高效传输模式

keepalive_timeout 25; #连接超时的参数设置

server_tokens off;

tcp_nopush on;  #减少网络报文段的数量

tcp_nodelay on;  #提高I/O性能

client_header_timeout 15s; #读取客户端请求头数据的超时时间

client_body_timeout 60s;

send_timeout 25s;  #响应客户端的超时时间

client_max_body_size 8M; #调整上传文件的大小

include extra/www.conf;

include extra/bbs.conf;

include extra/blog.conf;

}

FastCGI相关参数调优

user nginx nginx;

worker_processes 1;

worker_rlimit_nofile 65535;

events

{

use epoll;

worker_connections  2000;

}

http

{

include  mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

server_tokens off;

 fastcgi_connect_timeout 240;

  fastcgi_send_timeout 240;

  fastcgi_read_timeout 240;

  fastcgi_buffer_size 64k;

  fastcgi_buffers 4 64k;

  fastcgi_busy_buffers_size 128k;

  fastcgi_temp_file_write_size 128k;

  #fastcgi_temp_path data/ngx_fcgi_tmp;

 fastcgi_cache_path  data/ngx_fcgi_cache levels=2:2 keys_zone=ngx_fcgi_cache:512m inactive=1d max_size=40g;

tcp_nopush on;

tcp_nodelay on;

client_header_timeout 15s;

client_body_timeout 60s;

send_timeout 25s;

client_max_body_size 8M;

include extra/www.conf;

include extra/bbs.conf;

include extra/blog.conf;

}

server {

listen 80;

server_name  blog.etiantian.org;

location / {

root html/blog;

index index.php index.html index.htm;

}

location ~.*\.(php|php5)?$ {

root html/blog;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include  fastcgi.conf;

fastcgi_cache ngx_fcgi_cache;

 fastcgi_cache_valid 200 302 2h;

      fastcgi_cache_valid 301 2d;

      fastcgi_cache_valid and 2m;

      fastcgi_cache_min_uses 2;

      fastcgi_cache_use_stale error timeout invalid_header http_500;

      fastcgi_cache_key http://$host$request_uri;

}

配置Nginx gzip压缩实现性能优化

[[email protected] conf]# vi mime.types

#文件末尾添加如下内容:

gzip on;

gzip_mim_length 1k;

gzip_buffers 4 32k;

gzip_http_version 1.1;

gzip_comp_level 9;

gzip_types text/css text/xml  application/javascript;

# gzip_vary on;

时间: 2024-11-02 21:35:50

Nginx Web服务优化的相关文章

Nginx web服务优化 (一)

1.Nginx基本安全优化 a.更改配置文件参数隐藏版本 编辑nginx.conf配置文件增加参数,实现隐藏Nginx版本号的方式如下.在nginx配置文件nginx.conf中的http标签段内加入 "server_tokens off;"参数,如下: http{ -- server_tokens off; -- } 此参数放置在http标签内,作用是控制http response header内的web服务版本信息的显示,以及错误信息中web服务版本信息的显示. server_to

web网站集群之企业级Nginx Web服务优化详解

1. 隐藏nginx版本信息优化(安全优化) 官方参考链接:http://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens Syntax:  server_tokens on | off | build | string; Default: server_tokens on;(默认显示nginx服务版本) Context: http, server, location 实践配置: server { listen     

web网站集群之企业级Nginx Web服务优化详解(二)

12 配置Nginx gzip压缩实现性能优化 100k ---- 1s 90k 100k ---- 5s 10k gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 7; gzip_types text/css text/xml application/javascripts; gzip_vary on; Syntax: gzip_buffers number size;

web网站集群之企业级Nginx Web服务优化详解(一)

1. 隐藏nginx版本信息优化(安全优化) 官方参考链接:http://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens Syntax:  server_tokens on | off | build | string; Default: server_tokens on;(默认显示nginx服务版本) Context: http, server, location 实践配置: server { listen     

Nginx Web 服务详解

一.初识Nginx软件 Nginx是一款非常优秀的web服务软件,不但可以做web服务软件,还可以做反向代理负载均衡和前端业务的缓存服务 作为web服务软件Nginx是一个支持高性能高并发的web服务软件,它具有很多优秀的特性,作为web服务器与apache相比nginx可以支持更多的并发连接访问,但占用的资源却更少,效率更高,在功能上也强大了许多 作为反向代理或负载均衡服务在反向代理或负载均衡反面nginx可以作为web服务.php等动态服务及Memcached缓存代理服务,它具有类似专业反向

Nginx Web 服务

1.http协议包含很多功能. 上网的×××w是http功能之一.×××w服务默认端口80,OSI 第七层 应用层协议.https 默认端口443,加密的http服务. 2.实现×××w服务的常用web软件.产品:nginx,apache(解决静态web软件) 3.经典流行的web组合.lamp(linux apache mysql php) ===>经典lnmp(linux nginx mysql php)====>国内流行 4.nginx(engine x)介绍nginx,×××w服务软件

nginx web服务理论与实战

Nginx LNMP(linux nginx mysql php)也叫LEMP(linux engin x nginx mysql php) 3w并发, 10线程,只需150m内存....稍有点夸张,也说明优秀. nginx的一下功能: a.www web服务 b.负载均衡(反向代理) c.web cache(web缓存) nginx的优点: 0.配置简单.灵活. 1.高并发(静态小文件),静态1-2w,apache并发3-5千. 2.占用资源少. 3.功能多,每一个功能都不是特别强. 4.支持

Nginx Web 服务应用进阶(2)

1. Nginx 状态信息功能配置 1.1 Nginx status 介绍 Nginx 软件的功能模块中有一个 http_stub_status_module 模块,这个模块的主要功能是记录 Nginx 的基本访问状态信息,让使用者了解 Nginx 的工作状态,例如连接数等信息.要想使用状态模块,在编译 Nginx 时必须增加该模块,可通过如下方法检查编译安装 Nginx 时是否设定支持上述模块: [r[email protected] conf]# /application/nginx/sbi

企业级Web Nginx 服务优化(5)

资源防盗链的技术: 1.1.1什么是资源盗链? 简单的说啊,就是某些不法的网站,通过在其自身网站程序里未经许可非法调用其他网站的资源,然后在自己的网站上显示这些调用的资源,达到了填充自身网站显示效果,但是浪费了调用资源网站的网络流量,造成了其他网站的带宽及服务压力吃紧,甚至宕机. 1.1.2资源被盗链原理详细示意图 解决的办法就是: 1.图片,视频打上水印,品牌. 2.防盗链控制,根据IP控制 3.防盗链(根据referer机制) 1.1.3网站资源被盗链带来的问题: 网站资源盗链带来的问题 当