在互联网服务器架构中,我们经常可以听到LAMP(Linux+Apache+Mysql+PHP/Perl+Python)的架构,用来指代Linux操作系统、Apache网络服务器、Mysql数据库和PHP(Python或Perl)脚本语言的组合。现
在由于Nginx拥有超越Apache的卓越性能,传统LAMP架构正在逐渐被LNMP架构所取代。因此以下介绍
Linux+Nginux+MariaDB+PHP架构的基于不同主机间的编译安装。
操作环境:
Linux操作系统: Centos6.6-2.6.32-504.el6.x86_64
Nginx :Nginx-1.6.2 主机IP地址为:192.16.1.3
MariaDB:mariadb-10.0.12 主机IP地址为:192.168.1.4
PHP:php-5.4.26 主机IP地址为:192.168.1.5
为了后面的编译,我在每个每台主机上都安装了以下的编译环境,后面有其他需要的在编译中再安装
| 12 | yum -y groupinstall |
由于在不同的主机上编译安装,因此安装的顺序没有先后之分。
一.编译安装MariaDB
准备MariaDB源码包,可以去其官方网站www.mariadb.org 下载
wget http://mirrors.neusoft.edu.cn/mariadb/mariadb-10.1.2/source/mariadb-10.1.2.tar.gz
此处是alpha版,不建议在生产环境中使用
| 12 | [root@client1 data] |
由于mariab是cmake编译安装,因此需要安装cmake工具,此处直接yum 安装
yum -y install cmake
安装完成后,即可编译安装mariab了,如下:
首先创建mysql用户和要安装的目录,并改属主和属组为mysql
useradd |
cmake . -DCMAKE_INSTALL_PREFIX= |
创建配置文件和启动脚本,并加入开机启动
cd |
初始化mysql
/application/mariadb/scripts/mysql_install_db |
手动添加启动命令路径至/etc/profile
echo |
至此MariaDB就编译安装完成了
二.编译安装PHP(Fastcgi模式)
准备PHP源码包 php我是去搜狐镜像上下载的,地址为:http://mirror.sohu.com
开始编译安装:
|
安装完成后,为php提供配置文件
[root@client2 php-5.4.26]# cp php.ini-production /application/php/etc/php.ini
为php提供sys启动控制脚本,并加入开机启动
[root@client2 php-5.4.26] |
为php-fpm提供配置文件php-fpm.conf,编译配置文件,修改监听端口为php主机IP地址
[root@client2 php] |
启动php-fpm并且查看其信息
[root@client2 etc] |
至此PHP编译安装完成了,接下来我们编译Nginx
三.编译安装Nginx
首先准备源码包:
|
开始编译
tar |
安装完成后,启动nginx并且查看其信息
cd |
此时在打开网页输入192.168.1.3 即可看到welcom to nginx的信息,表明nginx已经启动成功,下面
介绍如何将nginx与php以fastcgi方式结合起来,配置nginx.conf文件
[root@bogon conf] |
此时在php主机(即192.168.1.5)上创建一个/web/www的目录,创建一个配置文件index.php,文件内
容为
phpinfo(); |
在Ninux主机上,浏览器输入www.v1.com (前天需要修改hosts文件,内容为192.168.1.5 www.v1.com)
即可看到如下内容
则表明Nginx与PHP交互成功
下面我们通过wordpress来结合Nginx和PHP,回到mariab数据库的主机,授权一个用户wdadmin
MariaDB [(none)]> create database wpdb; #创建一个wpdb数据库,用户保存wordpress数据
MariaDB [(none)]> grant all privileges on wpdb.* to "wpadmin"@"192.168.1.%" identified by 'test'; #授权给wpadmin用户,密码是test
转到php主机,在/web/下创建一个wordpress目录,用于保存wordpress代码
mkdir |
在nginx主机上,添加一个虚拟主机,内容如下:
server { |
配置好后,网页访问www.wordpress.com(前提是要修改hosts文件)
看到此界面则说明三者交互成功,安装后,可能看不到图片,是因为没有做动静分离,可以放Nginx的
/web/wordpress目录下放置同样一份就可以看到了。
至此LNMP的编译安装完成,以上只是个人的浅显认识,错误之处在所难免,望各位同仁批评指正谢谢!



