搭建前准备:

  1.三台独立主机

    nginx:192.168.1.102

    php-fpm:192.168.1.105

    mysql:192.168.1.103

  2.相关软件的源码包

    nginx:nginx-1.10.2

    php:php-5.6.28

    mysql:mariadb-5.5.53

  3.开发环境及依赖包组

    包:openssl-devel;pcre-devel;zlib-devel

    包组:Development Tools;Server Platform Development

开始搭建:


  第一台主机的操作:nginx服务器主机

    1.解压展开源码包nginx-1.10.2.tar.gz

tar -xf nginx-1.10..tar.gz

    2.创建相应路径以便编译时使用

mkdir -pv /var/cache/nginx

    3.cd至nginx-1.10.2目录,运行以下命令

./configure  --prefix=/usr/local/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.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-file-aio --with-http_v2_module

    4.make && make install 即可

    5.开启nginx,在浏览器测试,出现即没有问题

 

    6.配置nginx支持php-fpm

     #vim /etc/nginx/nginx.conf 写入

    server {
listen ;
server_name www.a.com;
location / {
root /test/html;
index index.html index.htm index.php;
}
location ~ \.php$ {
root /test/html;
fastcgi_pass 192.168.1.105:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/test1/$fastcgi_script_name;
include fastcgi_params;
}
}

  第二台主机的操作:php的主机

    1.解压展开源码包php-5.6.28.tar.bz2

    2.cd至php-5.6.28目录,执行

./configure --prefix=/usr/local/php56 --with-mysql --with-openssl --with-mysqli --enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-dir --with-zlib --with-libxml-dir=/usr  --enable-xml --enable-sockets --with-mcrypt --with-config-file-path=/etc/php56 --with-config-file-scan-dir=/etc/php56.d --with-bz2 --enable-fpm

    其中,--enable-fpm是关键选项

    3.make && make install

    4.配置文件的操作

      ①#cp php.ini-development /etc/php.ini

      ②#cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm (将php-fpm加入到系统服务中)

      ③#chkconfig --add php-fpm

        查看添加结果:#chkconfig --list php-fpm

        则完成添加;

       注意:此处复制php-fpm到/etc/rc.d/init.d/目录下时,有可能php-fpm自身没有任何执行权限,会导致添加系统服务时失败,自行添加执行权限即可解决这个问题

    5.修改php-fpm配置文件

     ①修改php-fpm的pid设置

    ②修改php-fpm的进程属主

    ③修改php-fpm的监听地址

    这几项是服务正常开启运行的比较关键的几项,其余配置在此不再赘述

   6.开启php-fpm服务

service php-fpm start

    确保PHP主机的IP:9000处于监听状态即可

    7.创建动态资源目录,做测试用,此处是/www/test1目录,创建一个index.php文件

    8.开始测试,效果如下

 此为请求静态资源

此为请求动态资源


  第三台主机的操作:mysql主机

    1.此处安装mariadb-5.5.53,首先创建mariadb用户和组

groupadd mariadb
useradd -r -g mariadb -s /sbin/nologin

    2.安装依赖包

yum -y install gcc gcc-c++  cmake ncurses libxml2 libxml2-devel bison bison-devel

    3.开始编译

cmake . -DMYSQL_UNIX_ADDR=/tmp/mariadb.sock -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT= -DEXTRA_CHARSETS=all -DMYSQL_USER=mariadb -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/mydata/data  -DWITH_XTRADB_STORAGE_ENGINE= -DWITH_FEDERATEDX_STORAGE_ENGINE= -DWITH_ARCHIVE_STORAGE_ENGINE= -DWITH_MYISAM_STORAGE_ENGINE= -DWITH_INNOBASE_STORAGE_ENGINE= -DWITH_ARCHIVE_STPRAGE_ENGINE= -DWITH_BLACKHOLE_STORAGE_ENGINE= -DWIYH_READLINE= -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP= -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

    4.make && make install

    此过程比较慢,请耐心等待

    5.更改安装目录的属主属组,并创建数据存储目录、修改其相应的权限

mkdir -pv /mydata/data
chown -R mariadb:mariadb /mydata/data
cd /usr/local/mariadb
chown -R :mariadb ./*

    6.初始化数据库,复制配置文件

    #scripts/mysql_install_db --user=mariadb --datadir=/mydata/data/

    #cp mysql.server /etc/rc.d/init.d/mysqld

    #cp my-large.cnf /etc/my.cnf

    7.修改配置文件/etc/my.cnf

      在mysqld下添加三个选项:
        datadir = /mydata/data
        innodb_file_per_table = ON
        skip_name_resolve = ON

    8.将mysqld加入系统服务,并启动之

    #chkconfig --add mysqld

    注意:此处如果启动失败,显示错误为

    则修改/etc/rc.d/init.d/mysqld,找到第311行,

    然后再编辑/etc/my.cnf,在[mysqld]中加入

    之后再加入一个模块[mysqld_safe]

    最后修改/usr/local/mariadb的目录属主属组为mariadb用户即可

    # chown -R mariadb:mariadb /usr/local/mariadb/

    如果出现其他错误,则查看/var/log/mariadb_error.log日志,对症下药即可

    至此,mariadb已成功安装并启动

    在第二台主机编写php访问mysql的代码,测试一下

  到此为止,三台主机各自配置完毕,LNMP环境可正常运行


拓展:

  一、为php主机安装xcache,提供加速:

    1.此处编译安装xcache-3.2.0,还需要一个安装组件php-devel

    2.解压缩后,cd至xcache-3.2.0目录,执行

/usr/local/php56/bin/phpize #为php新增一个模块

    3.编译操作

./configure --enable-xcache --with-php-congig=/usr/local/php56/bin/php-config  

    4.make && make install

    5.安装完成后,出现以下结果:

    将红框内的字符串复制下来备用

    6.然后执行

    # mkdir -pv /etc/php56.d

    # cp xcache.ini /etc/php56.d

    注意:此处创建的目录/etc/php56.d必须跟编译php时的编译选项:--with-config-file-scan-dir=/etc/php56.d一致,否则php找不到xcache.ini,导致xcache无法工作;

    # vim /etc/php56.d/xcache.ini

    7.重载php-fpm,再次请求页面,就会看到:

  二、安装wordpress(个人信息发布平台)

    1.此处用的是wordpress-4.7-zh_CN.zip,直接解压缩即可

    2.在nginx主机和php主机各存放一份压缩好的wordpress,位置是各主机对应在虚拟主机中的root定义的位置

   3.在php主机上操作如下:

    # cp cp wp-config-sample.php wp-config.php

    # vim wp-config.php

    4.测试效果如下:

  三、安装phpmyadmin(图形化数据库管理工具)

    1.安装包phpMyAdmin-4.6.5.2-all-languages.zip

    2.与wordpress很相似,放在各自对应的路径下即可,然后修改php主机的配置文件:

      # cp cp config.sample.inc.php config.inc.php

      # vim config.inc.php

    3.访问即可,效果如下:


CentOS 6.5 源码编译搭建LNMP(三台独立主机实现)的更多相关文章

  1. 源码编译搭建LNMP环境

    LNMP源码编译 1.LNMP介绍 LNMP=Linux Nginx Mysql PHP Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器.Ng ...

  2. CentOS 6.5 源码编译搭建LAMP(两台独立主机实现)

    搭建前准备: 1.两台独立主机 httpd:192.168.1.105 php-fpm:192.168.1.105 mariadb:192.168.1.103 2.相关软件的源码包 httpd:htt ...

  3. CentOS 7.0源码包搭建LNMP方法分享(实际环境下)

    CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这 ...

  4. Centos 7.x 源码编译搭建Nginx

    环境: centos 7 防火墙关闭 Selinx关闭 Nginx Web安装 安装依赖库 yum install pcre-devel pcre gcc gcc-c++ zlib zlib-deve ...

  5. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  6. 源码编译配置lnmp部署zabbix

    环境说明: [root@wcy ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@wcy ~]# uname -a Linux ...

  7. WordPress安装篇(5):源码编译安装LNMP并部署WordPress

    与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...

  8. CentOS 7.4 源码编译安装 Redis

    一.CentOS 7.4  源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...

  9. 基于源码编译的lnmp架构实现论坛的搭建及memcache的应用

    系统环境: RHEL6 x86-64 selinux and iptables disabled LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构 Linux是一类 ...

随机推荐

  1. JavaBean用JSP调用和使用JSP动作标签的区别

    javabean的类可以用jsp动作标签实例化并使用. <!-- 下面这句是对Javabean类person的引用,引用的实例是p2 --> <jsp:useBean id=&quo ...

  2. 利用OpenMP实现埃拉托斯特尼(Eratosthenes)素数筛法并行化 分类: 算法与数据结构 2015-05-09 12:24 157人阅读 评论(0) 收藏

    1.算法简介 1.1筛法起源 筛法是一种简单检定素数的算法.据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274-194年)发明的,又称埃拉托斯特尼筛法(sieve of Eratos ...

  3. animate.css 一些常用的CSS3动画效果

    大家已经开始在项目中使用一些CSS3动画效果了吧,这让网站在高端浏览器上看起来很上流.animate.css是一个老外做的各种CSS3动画的合集,比较全,也很炫,大家可以参考学习一下. 项目主页:ht ...

  4. 转载: Emmet:HTML/CSS代码快速编写神器

    Emmet:HTML/CSS代码快速编写神器 因为文章严禁转载,那本着做一个遵纪守法的好公民,我就不转载了,把链接放下面,方便查阅. http://www.iteye.com/news/27580

  5. OGNL表达式(待解答)

    OGNL表达式的路径到底怎样的?下面代码看不懂为什么要这样?

  6. 在同一个机器上运行两个jboss修改配置

    http://blog.sina.com.cn/s/blog_8ebe17aa0101mnft.html 解决办法:修改 \jboss-4.0.4.GA\server\default\conf 目录下 ...

  7. vim 学习日志(4):多窗口使用技巧

    原文地址: http://blog.csdn.net/devil_2009/article/details/7006113 vim多窗口使用技巧 1.打开多个窗口打开多个窗口的命令以下几个:横向切割窗 ...

  8. 2 、Linux基本命令-ls-pwd-cd-date-hwclock

    Linux基本命令: 1.ls-查看目录下的文档 语法: ls 目录 注: .当前目录  ..上级目录 如:ls /etc/ 相关参数: -l  显示详细信息 ls /etc/ -l -a 显示隐藏的 ...

  9. Farey Sequence

    Description The Farey Sequence Fn for any integer n with n >= 2 is the set of irreducible rationa ...

  10. 自动improt的xcode插件 Auto-Importer

    https://github.com/lucholaf/Auto-Importer-for-Xcode