Nginx架构的企业级应用
Nginx架构的企业级应用
实现HA高可用集群
实现LB负载均衡集群
Nginx实现反向代理
Nginx实现动静分离
需求:
客户端访问静态的请求,由nginx反向代理给后端的Apache服务器;
客户端访问动态的请求,由nginx反向代理给后端的php-fpm(fastCGI)服务器,而且做负载均衡,如果需要访问数据库,则由php-fpm连接mysql;
如果nginx主服务器宕机之后,nginx备服务器马上顶替主服务器,提供服务;
服务器IP规划和所需软件安装:
IP地址 | 软件 | |
nginx主 | 172.16.22.1 (VIP 172.16.22.10) | nginx+heartbeat |
nginx备 | 172.16.22.2 (VIP 172.16.22.10) | nginx+heartbeat |
Apache | 172.16.22.3 | httpd |
php-fpm1 | 172.16.22.4 | php(提供fastCGI服务器) |
php-fpm2 | 172.16.22.5 | php(提供fastCGI服务器) |
mysql | 172.16.22.6 | mysql |
heartbeat软件包,已经以附件的形式上传了nginx、php、mysql的软件包在网上都很好下载
具体下载目录在 /2013年资料/9月/15日/Nginx架构的企业级应用
需解决的问题:
1)、怎么实现HA高可用集群
思路:安装heartbeat软件,把nginx主服务器和nginx备服务器这两个节点都加入到heartbeat中,用heartbeat的crm管理资源,定义高可用集群
2)、怎么实现LB负载均衡集群
思路:利用nginx的upstream模块,配置实现应用层的负载均衡
3)、nginx怎么把客户的静态请求提交给后端的Apache服务器联系
思路:利用nginx的反向代理给后端的Apache服务器
4)、nginx怎么把客户的动态请求提交给后端的php-fpm服务器联系
思路:首先nginx支持fastCGI,然后利用nginx的反向代理给php-fpm服务器
5)、php-fpm服务器怎么和mysql服务器联系
思路:mysql授权能让php-fpm服务器连接数据库
一、先安装每个服务器所需的软件
nginx主服务器的配置:
1)、编译安装nginx
[root@jie1 ~]# ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk -F: '{print $2}' | cut -d' ' -f1 查看ip地址
172.16.22.1
[root@jie1 ~]#tar xf nginx-1.4.2.tar.gz
[root@jie1 ~]# yum -y groupinstall "Development tools" "Server Platform Development" 安装开发包
[root@jie1 ~]#yum -y install pcre-devel 安装依赖性包
[root@jie1 ~]# cd nginx-1.4.2
[root@jie1 nginx-1.4.2]# groupadd nginx
[root@jie1 nginx-1.4.2]# useradd -r -g nginx nginx
[root@jie1 nginx-1.4.2]#./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi \
--with-pcre
[root@jie1 nginx-1.4.2]# make && make install
相关阅读:
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里