介绍

Nginx是一个高性能的HTTP和反向代理服务器

  1. Apache和Nginx的优缺点比较

Nginx优点

  • 轻量级:同样的web服务,比Apache占用更少的内存及资源
  • 抗并发:Nginx处理请求是异步非阻塞的,而Apache是阻塞型的,
    • 在高并发下Nginx保持低资源消耗高性能
  • 社区活跃,各种高性能模块出品迅速

Apache优点

  • rewrite比Nginx的rewrite强大
  • 模块超多,bug比Nginx相对少,超稳定

性能要求选择上:

  • 在只求稳定的情况下使用Apache
  • 在需要性能的web服务使用Nginx

服务器选择上:

  • Nginx使用更少的资源,支持更多的并发连接,安装简单,配置简洁

核心的区别在于:

  • Apache是同步多进程模型,一连接对应一进行
  • Nginx是异步的,多个连接(百万级)可以对应一进程,负载能力强

请求处理上:

  • Nginx适合处理静态请求(静态处理性能比Apache高3倍以上)和反向代理
  • Apache适合处理动态代理和复杂的功能(拥有超多的模块)
  1. Nginx的主要特性
  • 处理静态文件,索引文件(自动索引);打开文件描述符缓存
  • 无缓存的反向代理加速,简单的负载均衡和容错(FastCGI)
  • 模块化结构
  • 支持SSL和TLSSNI
  • 专为性能开发的,实现上非常重视效率,能经受高负载的考验
  • 采用分阶段资源分配技术,它的cup与内存占用率非常低,类似DOS攻击对Nginx无效
  • 支持热部署,启动容易,不需要重启的情况下能对软件版本进行升级
  • 采用master-slave模型,充分利用SMP优势,减少工作进程在磁盘io的阻塞延迟
  • 代码质量高,规范,手法成熟,模块扩展容易

    Nginx的三种通配符号

  • = 精确匹配

  • ~ 模糊匹配,区分大小写
  • ~* 模糊匹配,不区分大小写
  • Server可以有多个
  • Location 可以有多个
    1. nginx 启动nginx
    2. nginx -s stop 关闭nginx
    3. nginx -s reload 重启nginx
    4. ps -ef | grep nginx 查看nginx主进程
    1. 查看防火墙状态:firewall-cmd --state
    2. 开启状态:running 关闭状态:not running
    3. 开启防火墙:systemctl start firewalld.service
    4. 关闭防火墙:systemctl stop firewalld.service
    5. 重启防火墙:systemctl restart firewalld.service
    6. 设置开机自启:systemctl enable firewalld.service
    7. 永久关闭防火墙:systemctl disable firewald.service
    8. 重新载入:firewall-cmd --reload
    9. 查看:firewall-cmd --zone=public --query-port=80/tcp
    10. 删除:firewall-cmd --zone=public --remove-port=80/tcp --permanent
    11. 查看开启的所有端口:firewall-cmd --list-ports