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. 关键参数优化:
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
7. 从哪几方面优化Nginx
硬件(终极优化:加机器)
参数
部署方式(和其他搭配,取长补短)
Nginx的缺点:
Nginx 依赖于磁盘上的静态配置文件,修改后必须重启才能生效,缺乏灵活性。
这在业务频繁变动的时候是非常致命的(例如流行的微服务架构),特别是对于拥有成千上万台服务器的网站来说,仅仅增加或者删除一行配置就要分发、重启所有的机器,对运维是一个非常大的挑战,要耗费很多的时间和精力,成本很高,很不灵活,难以“随需应变”。
OpenResty
基于 Nginx,打包了很多有用的模块和库,是一个高性能的 Web 开发平台。