zoukankan      html  css  js  c++  java
  • CentOS 6.5 源码编译搭建LNMP(三台独立主机实现)

    搭建前准备:

      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.2.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 80;
            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:9000;
                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=3306 -DEXTRA_CHARSETS=all -DMYSQL_USER=mariadb -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/mydata/data  -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_FEDERATEDX_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -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.访问即可,效果如下:


  • 相关阅读:
    LeetCode --- Climbing Stairs
    LeetCode --- Best Time to Buy and Sell Stock II
    LeedCode --- Best Time to Buy and Sell Stock
    git命令总结
    LeetCode --- Jump Game II
    Hdu 4497
    数据库lib7第4题创建存储过程
    Hdu 4496
    Hdu 4493
    快速排序
  • 原文地址:https://www.cnblogs.com/trymybesttoimp/p/6178784.html
Copyright © 2011-2022 走看看