• 20150410--Lnmp+Nginx-02


    image

    目录

    一、常用web服务器的介绍 1

    二、nginx的了解 1

    三、nginx特点 1

    四、支持的操作系统: 2

    五、nginx的安装 2

    六、配置虚拟主机 3

    七、nginx支持php 4

    八、配置nginx expires缓存功能 6

    1、整体配置有效期: 6

    2、根据目录进行判断,添加expires功能 7

    九、压缩配置: 7

    九、配置负载均衡 9

    一、常用web服务器的介绍

    apache:功能完善,历史悠久

    缺点:处理每一个php比较费资源,导致如果高并发时会太耗费服务器资源无法处理更多请求。

    nginx省资源,省cpu,所以在高并发时能够处理更多的请求,高端能达到3万到5万的并发量。

    二、nginx的了解

    Nginx(”engine x”)是俄罗斯人编写的一款高性能的HTTP和反向代理服务器。Nginx是Apache服务器不错的替代品,它能够支持高达50000个并发连接数的响应,而内存,cpu等系统资源消耗却非常低,运行非常稳定。

    在国内,已经有新浪博客,新浪播客,网易新闻,六间房,56.com.discuz!官方论坛,水木社区,豆瓣,海内SNS,迅雷在线等多家网站使用Nginx作为web服务器或反向代理服务器。

    三、nginx特点

    1、它可以高并发连接,官方测试能够支撑5万并发连接,在实际生产环境中可以支撑2到4万并发连接。

    2、内存消耗少

    Nginx+php(FastCGI)服务器再3万并发连接下,开启的10个Nginx进程消耗150MB内存(15MB*10=150MB)开启的64个php-cgi进程消耗1280MB内存(20MB*64=1280MB)

    3、成本低廉

    购买F5 BIG-IP ,NetScaler等硬件负载均衡交换机需要10多万甚至几十万人民币。而Nginx为开源软件,可以免费试用,并且可用于商业用途。

    4、其他理由:

    (1)配置文件非常简单:通俗易懂,即使非专业管理员也能看懂。

    (2)支持 rewrite重写规则:能根据域名、URL的不同,将HTTP请求分到不同的后端服务器群组。

    (3)内置的健康检查功能:如果nginx proxy后端的某台服务器宕机了,不会影响前端访问。

    (4)节省带宽,支持gzip压缩。

    (5)稳定性高:用于反向代理,宕机的概率微乎其微。

    (6)支持热部署。在不间断服务的情况下,对软件版本升级。

    四、支持的操作系统:

    FreeBSD 3.x,4.x,5.x,6.x i386; FreeBSD 5.x,6.x amd64;

    Linux 2.2,2.4,2.6 i386; Linux 2.6 amd64;

    Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386;

    MacOS X (10.4) PPC;

    Windows XP,Windows Server 2003和Windows 7等。

    五、nginx的安装

    wps5436.tmp1、下载软件,解压后,拷贝到指定的目录

    wps5437.tmpwps5438.tmpwps5439.tmpwps543A.tmpwps544A.tmpwps545B.tmp

    2、以cmd 方式,进入到nginx下面执行start nginx开启nginx的服务

    wps546B.tmp

    3、在浏览器输出服务器的ip地址,进行访问。

    wps547C.tmp

    几个操作的命令:

    start nginx开启nginx的服务

    nginx –s reload  重新加载配置文件,没有关闭服务

    nginx –s stop 停止nginx的服务

    六、配置虚拟主机

    每一个server段是一个配置的虚拟主机

    server {

    //具体的配置项

    每一行用分号结束;

    }

    基于域名的虚拟主机:

    wps547D.tmpwps547F.tmpwps549F.tmpwps54A0.tmpwps54D0.tmp

    wps54E0.tmp

    在abc目录里面添加文件后,修改本地的hosts文件,进行访问。

    基于端口的虚拟主机:

    wps54F0.tmpwps54F1.tmpwps5502.tmp

    wps5503.tmp

    七、nginx支持php

    在apache里面php是作为一个apache的模块启动工作的。

    在nginx中,php是作为独立进程启动的。

    当nginx中遇到php文件时,交给php进程来处理,

    1、把php程序文件拷贝到指定的目录一般和nginx是同一级目录

    2、对php程序文件进行配置。

    打开php的程序目录,修改一份 php.ini文件。

    wps5514.tmp

    把该文件修改成php.ini文件

    3、配置php加载扩展库的配置

    wps5524.tmp

    4、配置让php作为一个进程独立启动。

    wps5535.tmp

    5、复制该三个文件到nginx目录中来。

    wps5546.tmp

    start_nginx.bat该脚本文件是启动php独立进程和nginx的

    stop_nginx.bat停止ph独立进程和nginx的。

    配置start_nginx.bat文件要和php安装的目录一致。

    wps5547.tmpwps5557.tmpwps5558.tmpwps5569.tmp

    6、修改nginx.conf配置文件,开启php的支持

    wps5579.tmp

    配置完成后,直接双击start_nginx.bat文件。即可。

    八、配置nginx expires缓存功能

    1、整体配置有效期:

    对于图片,css,js等元素更改机会较少,特别是图片,可以将图片设置在浏览器本地缓存365天,css,js缓存10天,这样可以提高下次打开用户页面加载速度,并节省大量带宽。此功能同apache的expires。这里通过location的功能,将需要缓存的扩展名列出来,然后指定缓存时间:

    location  ~.*.(gif|jpg|jpeg|png|bmp)$

    {

    expires 365d;

    }

    wps558A.tmp

    wps559B.tmp

    2、根据目录进行判断,添加expires功能

    location ~ ^/(js|css|)/ {

    expires 360d;

    }

    wps55AB.tmp

    九、压缩配置:

    gzip on; 

    #开启gzip压缩功能

    gzip_min_length 1k;

    #设置允许压缩的页面最小字节数,页面字节数从header头的content-length中获取。默认值是0,不管页面多大都进行压缩。建议设置成大于1k。如果小于1k可能会越压越大。

    gzip_buffers 4 16k;

    #压缩缓冲区大小。表示申请4个单位为16k的内容作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果。

    gzip_http_version 1.0;

    #压缩版本(默认1.1,前端为squid2.5时使用1.0)用于设置识别http协议版本,默认是1.1,目前大部分浏览器已经支持gzip解压,使用默认即可。

    gzip_comp_level 2;

    #压缩比率。用来指定gzip压缩比,1压缩比量小,处理速度快;9压缩比量大,传输速度快,但处理最慢,也必将消耗cpu资源。

    gzip_types text/plain application/x-javascript text/css application/xml;

    #用来指定压缩的类型,“text/html”类型总是会被压缩。

    gzip_vary on;

    #vary header支持。该选项可以让前端的缓存服务器缓存经过gzip压缩的页面,例如用squid缓存经过nginx压缩的数据。

    要注意:需要和不需要压缩的对象

    (1)大于1k的纯文本文件html,js,css,xml,html.

    (2)图片,视频等不要压缩,因为不但不会减小,在压缩时消耗cpu和内存资源。

    gzip on; 

    gzip_min_length 1k;

    gzip_buffers 4 16k;

    gzip_http_version 1.0;

    gzip_comp_level 2;

    gzip_types text/plain application/x-javascript text/css application/xml;

    gzip_vary on; 

    压缩之前:

    wps55AC.tmp

    压缩之后:

    wps55BD.tmp

    九、配置负载均衡

    wps55CE.tmp

    开始配置的步骤:

    1、建立两个基于端口的虚拟主机,并根据目录创建对应的文件。

    wps55DE.tmp

    2、创建一个连接池

    upstream 连接池的名字 {

    server www.123.com:81;

    server www.123.com:82;

    }

    wps55EF.tmp

    3、具体的配置,虚拟主机

    wps55FF.tmp

    4、在hosts 文件里面配置好域名对应的ip地址,直接访问即可。

    wps5600.tmp

  • 相关阅读:
    如何用互联网的思维开一家有逼格的客栈?
    create和grant配合使用,对Mysql进行创建用户和对用户授权
    Nginx 403 forbidden原因及故障模拟重现(转载)
    企业级缓存系统varnish应用
    实现基于Haproxy+Keepalived负载均衡高可用架构
    企业级监控zabbix基础
    实现基于Keepalived主从高可用集群网站架构
    实现基于LVS负载均衡集群的电商网站架构
    实现基于lnmp的电子商务网站
    CentOS6编译LAMP基于FPM模式的应用wordpress
  • 原文地址:https://www.cnblogs.com/lifushan/p/5471987.html
Copyright © 2020-2023  润新知