Nginx架构的企业级应用

Nginx架构的企业级应用

实现HA高可用集群
实现LB负载均衡集群
Nginx实现反向代理
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 的下载地址:请点这里

相关推荐