码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx架构-LNMP、Nginx+tomcat、Nginx+keepalived

时间:2018-11-14 19:11:29      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:ram   linu   ESS   负载均衡   off   tps   直接   image   pst   

Nginx架构-LNMP
  • php-fpm以单独的一个服务存在
  • Nginx直接处理静态文件
  • Nginx会把php的请求通过代理的方式交给php-fpm

技术分享图片

配置Nginx和php

配置如下(在server部分添加):
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

配置说明:
1 fastcgi_params文件在/usr/local/nginx/conf/下面,其内容为fastcgi相关的变量
2 fastcgi_pass后面跟的是php-fpm服务监听地址,可以是IP:PORT,也可以是unix socket地址,也支持upstream的地址
3 fastcgi_index定义索引页,如果在server内其他部分有定义index参数,该配置可以忽略
4 fastcgi_param这行其实可以在fastcgi_params文件里面定义SCRIPT_FILENAME变量,这个变量如果不定义,php的请求是没办法访问的。

Nginx+tomcat

Tomcat本身就是一个web服务器,可以处理静态文件的请求,但处理能力没有Nginx强,所以需要做一个动静分离
在本架构中,Nginx直接代理Tomcat
Tomcat安装略
配置文件示例
https://coding.net/u/aminglinux/p/nginx/git/blob/master/java/nginx_tomcat.md

技术分享图片

配置文件示例
server
{
    listen 80;
    server_name www.aminglinux.com;

    location ~* "\.(jpg|png|jepg|js|css|xml|bmp|swf|gif|html)$"
    {
        root /data/wwwroot/aminglinux/;
        access_log off;
        expire 7d;
    }

    location /
    {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

说明:
1 首先,把各种静态文件的请求分离出来,单独由nginx处理。
2 其他请求直接代理8080端口,即tomcat服务。

Nginx+keepalived

  • 用户访问的是一个vip(虚拟IP),两台Nginx通过Keepalived实现高可用
  • 正常情况下,Nginx主提供服务,Nginx备并不提供服务,留作备用,当主down掉后,Nginx备会替代主提供服务
  • Nginx主和备都要配置负载均衡,代理后端的所有Server
  • 在此架构中,Nginx和Keepalived安装在同一个机器上,也就是说Nginx主和Nginx备都需要安装Keepalived服务
    技术分享图片

Nginx架构-LNMP、Nginx+tomcat、Nginx+keepalived

标签:ram   linu   ESS   负载均衡   off   tps   直接   image   pst   

原文地址:http://blog.51cto.com/jacksoner/2316656

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!