zoukankan      html  css  js  c++  java
  • Linux三阶段之九:期中架构LNMP章节

    九、期中架构LNMP章节

    (一)LNMP架构说明

    1)使前端web服务和后端存储服务进行串联
    2)主要实现处理PHP程序动态请求	
    
    

    (二)LNMP架构工作原理

     L Linux  N nginx M mysql P php
    

    (三)LNMP架构部署

    1)安装LNMP相关软件

    ①. 部署Linux系统
    基础优化操作要完成(防火墙关闭 关闭selinux /tmp权限为1777)
    ②. 部署nginx服务
    见上一章节
    ③. 部署mysql服务
    yum部署软件 ,编译安装软件, 二进制包方式部署mysql服务

    第一个里程:下载并解压mysql软件程序

    mysql官方下载链接地址:ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/
    上传mysql软件程序,进行利用xftp软件进行上传
    tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
    mv mysql-5.6.34-linux-glibc2.5-x86_64 /application/mysql-5.6.34
    
    

    第二个里程:创建软件程序软链接

    ln -sf /application/mysql-5.6.34/ /application/mysql
    
    

    第三个里程:创建数据库管理用户,并授权数据目录

    useradd mysql -M -s /sbin/nologin 
    chown -R mysql.mysql /application/mysql/data/
    
    

    第四个里程:对数据库服务进行初始化

    /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
    
    

    第五个里程:启动mysql服务

    cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
    sed -ri 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe
    cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
    /etc/init.d/mysqld start
    

    第六个里程:设置数据库root用户登录密码

    /application/mysql/bin/mysqladmin -uroot password "oldboy123"
    /application/mysql/bin/mysql -uroot -poldboy123
    

    ④. PHP软件安装部署过程

    第一里程:解决PHP软件的依赖关系

     yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
    
     libiconv软件安装---字符集转换库(默认可以不进行安装了)
     cd /server/tools
     #wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
     tar zxf libiconv-1.14.tar.gz
     cd libiconv-1.14
     ./configure --prefix=/usr/local/libiconv
     make
     make install
     cd ../
    
     #wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
     yum -y install libmcrypt-devel mhash mcrypt
     rpm -qa libmcrypt-devel mhash mcrypt
    

    第二个里程:下载解压PHP软件

    php官方网站下载:php.net
    cd /server/tools/
    tar xf php-5.5.32.tar.gz
    cd php-5.5.32
    ./configure 
    --prefix=/application/php-5.5.32 
    --with-mysql=/application/mysql-5.6.34 
    --with-pdo-mysql=mysqlnd 
    --with-iconv-dir=/usr/local/libiconv 
    --with-freetype-dir 
    --with-jpeg-dir 
    --with-png-dir 
    --with-zlib 
    --with-libxml-dir=/usr 
    --enable-xml 
    --disable-rpath 
    --enable-bcmath 
    --enable-shmop 
    --enable-sysvsem 
    --enable-inline-optimization 
    --with-curl 
    --enable-mbregex 
    --enable-fpm 
    --enable-mbstring 
    --with-mcrypt 
    --with-gd 
    --enable-gd-native-ttf 
    --with-openssl 
    --with-mhash 
    --enable-pcntl 
    --enable-sockets 
    --with-xmlrpc 
    --enable-soap 
    --enable-short-tags 
    --enable-static 
    --with-xsl 
    --with-fpm-user=www 
    --with-fpm-group=www 
    --enable-ftp 
    --enable-opcache=no
    
    ##防错(以下信息可以不进行配置了)
    ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/
    touch ext/phar/phar.phar
    make
    make install
    ln -s /application/php-5.5.32/ /application/php
    
    
    

    第三个里程:设置PHP程序配置文件

     php.ini php-fpm.ini
     cp php.ini-production /application/php-5.5.32/lib/
    cd /application/php/etc/
    cp php-fpm.conf.default php-fpm.con
    

    第四个里程:启动php程序服务

    /application/php/sbin/php-fpm
    netstat -lntup|grep php
     tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      6251/php-fpm
    
    

    2)进行软件直接的结合

    	   nginx与php结合:编写nginx配置文件
    	   location ~* .*.(php|php5)?$ {
              fastcgi_pass  127.0.0.1:9000;
              fastcgi_index index.php;
              include fastcgi.conf;
           }
    	   
    	   php与mysql结合:编写php程序代码
    	   <?php
               //$link_id=mysql_connect('主机名','用户','密码');
               //mysql -u用户 -p密码 -h 主机
               $link_id=mysql_connect('localhost','root','oldboy123') or mysql_error();
               if($link_id){
                            echo "mysql successful by oldboy !
    ";
                           }else{
                            echo mysql_error();
                           }
           ?>
    
    

    3)部署一个真的网站

    第一个里程:下载与上传网站代码

    第二个里程:解压程序代码,将程序代码保存到站点目录并进行授权

     tar xf wordpress-4.7.3-zh_CN.tar.gz 
     mv wordpress/* /application/nginx/html/blog/
     chown -R www.www /application/nginx/html/blog/
    
    

    第三个里程:直接访问blog网站,进行初始化操作

     创建数据库:
     create database wordpress;
     show databases;
    创建连接数据用户信息
    grant all on wordpress.* to 'wordpress'@'localhost' identified by 'oldboy123';
    select user,host from mysql.user;
    
    
  • 相关阅读:
    别人的代码
    ZOJ 1914 Arctic Network
    今日所得 2.22
    poj 2031 Building a Space Station
    POJ 1251 Jungle Roads
    优秀的开发者 vs. 糟糕的开发者
    有关读书求知的一些想法
    开发者拒绝写技术博客的常见理由
    写代码如坐禅:你是哪一类程序员?
    [C++] c++ new() 与new[]的区别
  • 原文地址:https://www.cnblogs.com/cuiyongchao007/p/12820293.html
Copyright © 2011-2022 走看看