LNMP基于FastCGI实现Nginx,PHP,MySQL的架构分离

架构图:

运行原理:

用户通过Ngsvr调度器访问wordpress,Ngsvr服务器会根据调度算法把请求负载均衡调度至Usvr1和Usvr2. 并通过fastcgi协议与Usvr1、Usvr2通信返回动态数据

总体配置:

Ngsvr: IP 192.168.61.131,需安装的软件nginx,wordpress

Usvr1: IP 192.168.61.139,需安装的软件php

Usvr2: IP 192.168.61.140需安装的软件php,mysql

1.配置Ngsvr

(a) 配置nfs

安装

yum -y install nfs-utils

添加开机启动

chkconfig nfs on

设定wordpress目录

mkdir -pv /web

编辑vim/etc/exports

/web192.168.61.0/24(rw,no_root_squash)

启动

servicenfs start

(b) wordpress准备

下载地址https://cn.wordpress.org/wordpress-4.3.1-zh_CN.tar.gz

解压到/web/wordpress

(b) nginx安装

安装过程参考http://dengxi.blog.51cto.com/4804263/1710472

安装好之后编辑/etc/nginx/fastcgi_params,将其内容更改为如下内容:

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;

fastcgi_param  SERVER_SOFTWARE    nginx;

fastcgi_param  QUERY_STRING       $query_string;

fastcgi_param  REQUEST_METHOD     $request_method;

fastcgi_param  CONTENT_TYPE       $content_type;

fastcgi_param CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

fastcgi_param  REQUEST_URI        $request_uri;

fastcgi_param  DOCUMENT_URI       $document_uri;

fastcgi_param  DOCUMENT_ROOT      $document_root;

fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  REMOTE_ADDR        $remote_addr;

fastcgi_param  REMOTE_PORT        $remote_port;

fastcgi_param  SERVER_ADDR        $server_addr;

fastcgi_param  SERVER_PORT        $server_port;

fastcgi_param  SERVER_NAME        $server_name;

修改/etc/nginx/nginx.conf 文件

在http段增加

upstreambbs {

server192.168.61.139:9000;

server192.168.61.140:9000;

}

/etc/nginx/nginx.conf,最后面有php配置的案例,去掉注释修改

# pass the PHP scripts to FastCGI serverlistening on 127.0.0.1:9000

location ~ \.php$ {

root          /web/wordpress; #指定wordpress目录

fastcgi_pass   bbs; #指定刚才定义的上游服务器组

fastcgi_index  index.php;

#fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include       fastcgi_params;  #使用扩展的fastcgi参数

}

最后启动服务

service nginx start

2.配置Usvr1

挂载ngsvr的nfs

mkdir/web

mount-t nfs 192.168.61.131:/web /web

PHP安装,参考http://dengxi.blog.51cto.com/4804263/1710479

编译安装完成之后,把/usr/local/php/etc目录下php-fpm.conf.default配置示例文件改名php-fpm.conf作为配置文件。

拷贝源码目录下的php.ini-production到编译时指定的配置文件目录 /usr/local/php/etc下,并改名为php.ini。

拷贝源码目录下sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm添加好启动服务

最后启动服务

servicephp-fpm start

3.配置Usvr2

         挂载ngsvr的nfs

mkdir/web

mount-t nfs 192.168.61.131:/web /web

 

mysql安装,参考http://dengxi.blog.51cto.com/4804263/1713256

PHP安装,参数Usvr1

最后启动mysql、php-fpm服务

4.后续整合配置

         Usvr2

登陆mysql增加wordpress数据库和用户wordpress,密码123456

mysql -uroot -p

createdatabase wordpress;

GRANTALL ON *.* TO [email protected]‘0.0.0.0‘ IDENTIFIED BY ‘123456‘;

Ngsvr:

浏览器运行http://192.168.61.131/wp-admin/install.php进行wordpress安装

安装完成后,即可以http://192.168.61.131/index.php访问wordpress

时间: 2024-10-05 05:06:19

LNMP基于FastCGI实现Nginx,PHP,MySQL的架构分离的相关文章

LNMP基于fastcgi实现nginx,php,mysql的分离

平时安装LNMP是把它们安装到同一台机器上,我想这个对大家来说丝毫没有挑战,下面我们实现把他们剥离到不同的机器上,让各个服务器直接分担原来的压力,也可以增加节点实现负载均衡,如:多增加一台php,让两台机器轮询的编译php,也可以在增加一台nginx,实现dns的轮询负载均衡. 规划: nginx:172.16.1.1 php(FASTCGI):172.16.1.2 mysql:172.16.1.3 环境: redhat5.8 32位,yum可以正常使用,开发包组"Development Too

Nginx系列-2.配置LNMP(Linux、Nginx、MySQL、PHP)架构

Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 N

LNMP 1.2升级Nginx、MySQL/MariaDB、PHP教程

一般情况下不建议对生产环境进行升级,升级开始后会停止LNMP相关服务.本文仅适用于LNMP1.2及以后版本! 在LNMP目前LNMP v1.2中已经包含了Nginx.MySQL/MariaDB.PHP的升级脚本,可以帮助搭建对环境中的程序进行升级.(注意:以下操作均需要在lnmp压缩包解压后的目录里运行) 一.Nginx升级脚本执行:./upgrade.sh nginx 按提示输入版本号后回车(访问 http://nginx.org/en/download.html 可查找nginx的最新版本号

CentOS源码安装搭建LNMP全过程(包括nginx,mysql,php,svn)

服务器环境为:CentOS6.5 64位 目标:搭建LNMP(Linux + Nginx + MySQL + PHP +SVN),其中svn是用来代替ftp,方便开发中调试同步代码 相关目录:所有软件都安装到/www/目录下,在www目录下新建web文件夹作为网站的根路径,www目录下新建wwwsvn作为svn的仓库地址./www/software用来放nginx,mysql,php的安装包和源码.nginx运行分组和账户www:www 一,安装前的准备 yum -y install ntp m

CentOS源码安装搭建LNMP全过程(包括nginx,mysql,php,svn)【转】

转自:http://blog.csdn.net/yanzi1225627/article/details/49123659 服务器环境为:CentOS6.5 64位 目标:搭建LNMP(Linux + Nginx + MySQL + PHP +SVN),其中svn是用来代替ftp,方便开发中调试同步代码 相关目录:所有软件都安装到/www/目录下,在www目录下新建web文件夹作为网站的根路径,www目录下新建wwwsvn作为svn的仓库地址./www/software用来放nginx,mysq

LNAMP(Linux+Nginx+Apache+Mysql+PHP)高性能架构配置实战版

LNAMP(Linux+Nginx+Apache+Mysql+PHP)架构受到很多IT企业的青睐,取代了原来认为很好的LNMP(Linux+Nginx+Mysql+PHP)架构. 那我们说LNAMP到底有什么优点呢,还得从Nginx和apache的优缺点说起. 1)Nginx处理静态文件能力很强 2)Apache处理动态文件很强而且很稳定,把二者综合在一块,性能提升很多倍. 可能很多Linux SA在从事LNMP运维中,会发现PHP(FastCGI)模式会出现一些502错误的现象,这是因为Ngi

centos 6.8 安装LNMP环境(linux+nginx+mysql+php)

Nginx 特性 Nginx 性能稳定.功能丰富.运维简单.处理静态文件速度快且消耗系统资源极少.1.相比 Apache,用 Nginx 作为 Web 服务器:使用资源更少,支持更多并发连接,效率更高.2.作为负载均衡服务器:Nginx 既可在内部直接支持 Rails 和 PHP,也可支持作为 HTTP 代理服务器对外进行服务.Nginx 用 C 编写而成, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多.3.作为邮件代理服务器:Nginx 同时也是一款非常优秀的邮件代理

CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)

CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL) 一.准备篇: 1 /etc/init.d/iptables stop #关闭防火墙 2 关闭SELINUX 3 vi /etc/selinux/config 4 #SELINUX=enforcing #注释掉 5 #SELINUXTYPE=targeted #注释掉 6 SELINUX=disabled #增加 7 :wq 8 shutdown -r now #重启系统 二.安装篇 1.安装nginx 1 yum re

CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)

准备篇 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙 备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败, 正确