1. Nginx是一款轻量级的服务器。相比Apache,占用内存少,稳定性高,并发能力强。

Nginx 采用“master/workers”进程池架构,使用单线程,消除了进程、线程切换的成本。

2. 配置文件:/usr/local/nginx/conf/nginx.conf

3. 启动:/usr/local/nginx/sbin/nginx

4. 查看是否启动:ps -ef | grep nginx

5. 如果需要重启,使用:/usr/local/nginx/sbin/nginx -s reload

6. 关键参数优化:

    Nginx_Nginx

    Nginx_Nginx_02

  • worker_rlimit_nofile  10240  (10240不能大于 “使用命令查看linux打开的最大文件数:ulimit -n”) 

  • keepalive_timeout   不要设置为0,建议10-20

  • gzip on

  • gzip_disable "MSIE[1-6]\."; 指定的客户端禁用gzip功能。设置成ie6或者更低以使我们的方案能够广泛兼容

  • gzip_proxied any; 压缩所有的请求

  • gzip_min_length 1k; 如果一个请求小于1000字节,不压缩

  • gzip_comp_level 4; 设置数据的压缩等级,可以是1-9间的任意数值,9是最慢但压缩比最大,4比较折中 

  • 过期时间,同apache

    Nginx_Nginx_03


7. 从哪几方面优化Nginx

  • 硬件(终极优化:加机器)

  • 参数

  • 部署方式(和其他搭配,取长补短)


Nginx的缺点:

Nginx 依赖于磁盘上的静态配置文件,修改后必须重启才能生效,缺乏灵活性。

这在业务频繁变动的时候是非常致命的(例如流行的微服务架构),特别是对于拥有成千上万台服务器的网站来说,仅仅增加或者删除一行配置就要分发、重启所有的机器,对运维是一个非常大的挑战,要耗费很多的时间和精力,成本很高,很不灵活,难以“随需应变”。


OpenResty

基于 Nginx,打包了很多有用的模块和库,是一个高性能的 Web 开发平台。