Nginx搭建集群服务器过程详解

Nginx+Apache+PHP+MySQL搭建集群服务器过程详解

概念介绍在本文未能提及,请自助上网科普,直接进入过程详解:

  • 集群架构图大致如下:

一、软件下载


序号


软件名称


软件版本


下载地址


1


操作系统


Windows Server 2008 Enterprise 64bit


2


Php


php-5.6.19-Win32-VC11-x64 Thread Safe(由于HTTP服务器用的apache)


http://windows.php.net/downloads/releases/php-5.6.19-Win32-VC11-x64.zip


3


VC11


Visual C++ Redistributable for Visual Studio 2012 Update 4(VSU_4\vcredist_x64.exe)


https://www.microsoft.com/en-us/download/confirmation.aspx?id=30679


4


Nginx


nginx/Windows-1.8.1


http://nginx.org/download/nginx-1.8.1.zip


5


Apache


Apache 2.4.18 x64


http://www.apachehaus.com/cgi-bin/download.plx?dli=gVwkjeaVVQy4ERntWTWFVMKVlUGR1UwZ3UVRGU


6


MySql


mysql-5.7.11.0
- win
x64


http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.7.11.0.msi


7


Navicate


Navicat Premium
x64


http://download3.navicat.com/download/navicat112_premium_en_x64.exe


8


PHPmyadmin


phpMyAdmin-4.4.15.5-all-languages


https://files.phpmyadmin.net/phpMyAdmin/4.4.15.5/phpMyAdmin-4.4.15.5-all-languages.zip

二、VC11安装与配置

根据PHP版本选择安装对应版本的VC,php5.6对应的是VC11,根据VC11应用程序安装指引安装VC11。

三、PHP安装与配置

  1. 解压PHP安装包到C:\Program Files\php-5.6.19-Win32-VC11-x64;
  2. 在系统环境变量PATH中添加 ;C:\Program Files\php-5.6.19-Win32-VC11-x64;C:\Program Files\php-5.6.19-Win32-VC11-x64\ext,重启后生效,此步骤对于phpmyadmin的安装十分重要;
  3. 模块加载配置: extension_dir = "C:\Program Files\php-5.6.19-Win32-VC11-x64\ext"。

四、Apache安装与配置

  1. 解压Apache安装包到C:\Program
    Files\Apache24;
  2. 修改C:\Program Files\Apache24\conf\httpd.conf;

a. Define SRVRROOT改为Apache的安装路径:

Define SRVROOT "C:/Program
Files/Apache24"

  1. Listen 80改为Listen 8080;
  2. LoadModule最后加入PHP5的配置信息;

#LoadModulephp5 support

LoadModule php5_module "C:/Program
Files/php-5.6.19-Win32-VC11-x64/php5apache2_4.dll"

AddTypeapplication/x-httpd-php .php .html .htm

#configurethe path to php.ini

PHPIniDir "C:/ProgramFiles/php-5.6.19-Win32-VC11-x64"

  1. 保存httpd.conf文件的修改。

3. 创建Apache2.4服务,具体命令:

-> C:Program Files\Apache24\bin\httpd.exe -k install -n"Apache2.4"

Tips:删除Apache2.4服务命令:

-> C:Program Files\Apache24\bin\httpd.exe -k uninstall -n"Apache2.4"

4. 使用命令行或应用程序重启httpd.exe;

5. 在浏览器中访问http://localhost:8080检查Apache页面是否配置正确,出现“It
works”页面表示安装成功;

  1. 在C:\Program
    Files\Apache24\htdocs\中创建test.php,文件内容为:

<?php  phpinfo(); ?>

  1. 在浏览器中访问http://localhost/test.php看是否能访问PHP页面以检查php是否配置正确;

五、Nginx安装与配置

上述软件安装成功后,开始着手配置安装Nginx

  1. 安装nginx:解压到C:\Program
    Files\nginx-1.8.1,到解压目录下运行nginx.exe;
  1. 在浏览器中输入http://lcoalhost/检查Nginx是否配置正确,出现“Welcome
    to nginx!”页面则表示安装成功;

  1. 打开nginx配置文件conf/nginx.conf,在http模块下配置服务器集群信息;

upstreammyCluster {

        server ip address1 : 8080 ;

        server ip address2 : 8081 ;

    }

然后在server模块中加入

 location ~\.php$ {

        proxy_pass  http://myCluster;

        proxy_redirect     off;

        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. 分别在2个apache的htdocs下新建两个test.php文件,区分内容以便后面辨别负载均衡是否成功;
  2. 在浏览器中分别输入http://localhost/ http://localhost/test.php试试;
  3. Nginx service服务创建
    1. 下载windows service wrapper,如下载的是winsw-1.7-bin.exe
    2. 将winsw-1.7-bin.exe更名为nginx-service.exe,并将它复制到nginx的安装目录
    3. 在同一个目录创建Windows Service Wrapper的XML配置文件,名称必须为nginx-service.xml
    4. nginx-service.xml的内容为:

<?xmlversion="1.0" encoding="UTF-8" ?>

<service>

<id>nginx</id>

<name>NginxService</name>

<description>HighPerformance Nginx Service</description>

<executable>C:\ProgramFiles\nginx-1.8.1\nginx.exe</executable>

<logpath>C:\ProgramFiles\nginx-1.8.1</logpath>

<logmode>roll</logmode>

<depend></depend>

<startargument>-pC:\Program Files\nginx-1.8.1</startargument>

<stopargument>-pC:\Program Files\nginx-1.8.1 -s stop</stopargument>

</service>

  1. 在命令行下执行nginx-service.exe install
  2. 按照上述步骤操作即可在Windows服务列表看到Nginx
    Service服务了

六、 Mysql安装与配置

  1. 运行mysql-5.7.11.msi,更具可视化安装界面,据自己需求操作即可;
  2. 打开SQL命令行,输入默认账号root的密码,进入Mysql命令行操作界面,即可验证数据库是否安装正确;

七、 PhpMyAdmin安装

  1. 将安装包解压或上传到服务器的Web文件目录,即G:\Program
    Files\Apache24\htdocs中;
  2. 修改配置文件C:\Program Files\Apache24\htdocs\phpmyadmin\libraries\config.default.php;

/**

 * Your phpMyAdmin URL.

 *

 * Complete the variable below with the fullURL ie

 *   http://www.your_web.net/path_to_your_phpMyAdmin_directory/

 *

 * It must contain characters that are validfor a URL, and the path is

 * case sensitive on some Web servers, forexample Unix-based servers.

 *

 * In most cases you can leave this variableempty, as the correct value

 * will be detected automatically. However, werecommend that you do

 * test to see that the auto-detection codeworks in your system. A good

 * test is to browse a table, then edit a rowand save it.  There will be

 * an error message if phpMyAdmin cannotauto-detect the correct value.

 *

 * @global string $cfg[‘PmaAbsoluteUri‘]

 */

$cfg[‘PmaAbsoluteUri‘] = ‘http://yourdomain/phpmyadmin/‘;

/**

 * MySQL hostname or IP address

 *

 * @global string $cfg[‘Servers‘][$i][‘host‘]

 */

$cfg[‘Servers‘][$i][‘host‘] = ‘ip address‘;

/**

 * Authentication method (valid choices:config, http, signon or cookie)

 *

 * @global string$cfg[‘Servers‘][$i][‘auth_type‘]

 */

$cfg[‘Servers‘][$i][‘auth_type‘]= ‘cookie‘;

 

/**

 * MySQL user

 *

 * @global string $cfg[‘Servers‘][$i][‘user‘]

 */

$cfg[‘Servers‘][$i][‘user‘]= ‘your user name‘;

 

/**

 * MySQL password (only needed with ‘config‘auth_type)

 *

 * @global string$cfg[‘Servers‘][$i][‘password‘]

 */

$cfg[‘Servers‘][$i][‘password‘]= ‘your password‘;

注意:本人亲测:phpmyadmin不支持被配置为负载均衡。

3. 打开浏览器访问phpmyadmin,输入用户名和密码,进入到phpmyadmin控制台则表明PhpMyadmin配置成功。

时间: 2024-10-14 00:38:36

Nginx搭建集群服务器过程详解的相关文章

RabbitMQ 集群安装过程详解

一.安装Erlang 1.rabbitMQ是基于erlang的,所以首先必须配置erlang环境. 从erlang官网下载 otp 18.3.下载链接:http://erlang.org/download/otp_src_18.3.tar.gz linux 可以使用wget http://erlang.org/download/otp_src_18.3.tar.gz 下载 2.解压并配置,编译,安装过程 # tar zvxf otp_src_18.3.tar.gz # mv otp_src_18

t持久化与集群部署开发详解

Quartz.net持久化与集群部署开发详解 序言 我前边有几篇文章有介绍过quartz的基本使用语法与类库.但是他的执行计划都是被写在本地的xml文件中.无法做集群部署,我让它看起来脆弱不堪,那是我的罪过. 但是quart.net是经过许多大项目的锤炼,走到啦今天,支持集群高可用的开发方案那是一定的,今天我就给小结下我的quartz.net开发升级过程. Quartz.net的数据库表结构 如果支持集群与持久化,单靠本机的内存和xml来保存计算任务调度的各种状态值,可想而知,是困难的.所以支持

阿里巴巴 Sigma 调度和集群管理系统架构详解

阿里巴巴 Sigma 调度和集群管理系统架构详解 划重点 阿里巴巴 9 年双 11 经历下来,交易额增长了 280 倍.交易峰值增长 800 多倍.系统数呈现爆发式增长.系统在支撑双 11 过程中的复杂度和支撑难度以指数级形式上升.双 11 峰值的本质是用有限的成本最大化提升用户体验和集群吞吐能力,用合理的代价解决峰值.本文将从阿里巴巴统一调度体系.混部架构.云化架构三个方面详解阿里是如何支撑如此庞大的系统. 统一调度体系 始于 2011 年建设的 Sigma 是服务阿里巴巴在线业务的调度系统,

Kafka单机、集群模式安装详解(二)

本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11) 接上篇 Kafka单机.集群模式安装详解(一) 6. 单节点多Broker模式 Kafka使用可以有多种模式,包括单节点单Broker,单节点多Broker,多节点多Broker. 这里我们简单区分一下: 单节点单Broker:在单台机子上,启动了一个Kafka实例(上一篇就是这种模式). 单节点多Broker:在同一台机子上开启多个Kafka(类似H

复制虚拟机vmware centos搭建集群节点过程中网络配置eth0和eth1遇到的问题以及NAT模式下虚拟机静态IP配置方法

在centos中安装完第一个虚拟机后,一般习惯通过克隆的方式创建其它虚拟机,开后vmware无法发现网卡信息,系统认为这是重新安装,所以重新创建了一个新的网卡叫eth1. 并且用IFCONFIG-a查看网卡信息,只有lo信息,无法显示eth0了. 解决方法: 修改/etc/udev/rules.d 下的 70-persistent-net.rules文件,我们会发现下面两行: # PCI device 0x1022:0x2000(pcnet32) SUBSYSTEM=="net",DR

Linux 高可用(HA)集群之keepalived详解

http://freeloda.blog.51cto.com/2033581/1280962 大纲 一.前言 二.Keepalived 详解 三.环境准备 四.LVS+Keepalived 实现高可用的前端负载均衡器 一.前言 这篇文章是前几篇文章的总结,我们先简单的总结一下我们前面讲解的内容,前面我们讲解了,LVS(负载均衡器).Heartbeat.Corosync.Pacemaker.Web高可用集群.MySQL高可用集群.DRDB.iscsi.gfs2.cLVM等,唯一没有讲解的就是LVS

HA集群之keepalived详解/基于keepalived+LVS-DR构建HA主备模型(一)

一.理论部分:     keepalived是vrrp协议的实现:原生设计目的为高可用ipvs服务:keepalived能够配置文件中的定义生成ipvs规则:并能够对各RealServer的健康状态进行检测:  vrrp协议:虚拟冗余路由协议:早期只是主要在路由器上提供的一种非常简单的完成将多个物理设备组建成一个虚拟设备,并且在多个物理设备之间漂移地址一种协议:非常轻量化,性能非常好.而keepalived无非就是通过vrrp协议在Linux主机上通过一个守护进程,把Linux主机扮演成路由器,

linux高可用集群(HA)原理详解

高可用集群 一.什么是高可用集群 高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务.高可用集群是用于单个节点发生故障时,能够自动将资源.服务进行切换,这样可以保证服务一直在线.在这个过程中,对于客户端来说是透明的. 二.高可用集群的衡量标准 高可用集群一般是通过系统的可靠性(reliability)和系统的可维护性(maintainability)来衡量的.通常用平均无故障时间

linux下高可用集群之DRBD详解

1.DRBD:Disrtributed Replicated Block Device,分布式复制块设备 DRBD:主要是在不同服务器之间硬盘或分区同步数据,通过网络,按位同步,即镜像! Raid1主要是将同一服务器硬盘或分区同步数据,通过主板总线,按位同步.即镜像! DRBD区别于DAS,NAS,SAN,也区别于Raid1 DRBD是primary/secondary,主从设备,主从角色可以互换 primary:可读写执行操作,但secondary不能挂载文件系统 DRBD也是Dual pri