生产环境实用之LNMP架构的编译安装+SSL加密实现

LNMP是Linux下Nginx、MySQL、PHP网站服务器架构,在之前的文中也有对LAMP架构的实现,我们主要介绍一下Nginx

为什么使用Nginx

  • Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定

  • Nginx是解决C10K问题的服务器之一。不同于传统的服务器,Nginx的不依赖于线程处理请求。相反,它使用一个更可扩展的事件驱动(event-driven)(异步)架构

     

Nginx的服务器特性

基本的服务器特性

处理静态文件,索引文件以及自动索引;打开文件描述符缓存;

使用缓存加速反向代理;简单负载均衡以及容错;

远程FastCGI,uwsgi,SCGI,和memcached服务的缓存加速支持;简单的负载均衡以及容错;

模块化的架构。过滤器包括gzip压缩、ranges支持、chunked响应、XSLT,SSI以及图像缩放。在SSI 过滤器中,一个包含多个SSI的页面,如果经由FastCGI或反向代理处理,可被并行处理;

支持SSL,TLS SNI。

  • 基于名字和IP的虚拟主机;

Keep-alive和pipelined连接支持;

灵活的配置;

重新加载配置以及在线升级时,不需要中断正在处理的请求;

自定义访问日志格式,带缓存的日志写操作以及快速日志轮转;

3xx-5xx错误代码重定向;

重写(rewrite)模块:使用正则表达式改变URI;

根据客户端地址执行不同的功能;

基于客户端IP地址和HTTP基本认证机制的访问控制;

支持验证HTTP referer;

支持PUT、DELETE、MKCOL、COPY以及MOVE方法;

支持FLV流和MP4流;

速度限制;

来自同一地址的同时连接数或请求数限制;

嵌入Perl语言。

  • 邮件代理服务器特性

使用外部HTTP认证服务器重定向用户到IMAP/POP3后端;

使用外部HTTP认证服务器认证用户后重定向连接到内部SMTP后端;

支持的认证方式:

POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;

IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;

SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;

SSL支持;

STARTTLS和STLS支持。

LNMP架构优势

  • 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率

  • 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。

  • 作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验

相关推荐