一 LNMP相关概念


   LNMP组成:


       LNMP:Linux+Nginx+Mysql+PHP


           PHP:编程语言。负责处理请求。


           MySQL:数据库管理系统。


           Nginx:Web服务软件。监听端口、接收请求、解析HTTP协议、转发给PHP进行处理并接收其结果响应请求。


   LNMP架构:


      


分布式部署springcloud 分布式部署LNMP+WordPress_php



二 LNMP部署


 


  1. #添加不可登录的nginx用户
useradd -s /sbin/nologin nginx#安装部署nginx所用到的安装工具和相关库yum -y install gcc openssl-devel pcre-devel zlib-devel#下载nginx源码包,并解压wget http://nginx.org/download/nginx-1.10.3.tar.gztar -zxvf nginx-1.10.3.tar.gzcd nginx-1.10.3#设置参数 参数具体参考《nginx编译参数》./configure \--prefix=/usr \--sbin-path=/usr/sbin/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/nginx.pid \--lock-path=/var/lock/nginx.lock \--user=nginx \--group=nginx \--with-http_ssl_module \--with-http_flv_module \--with-http_stub_status_module \--with-http_gzip_static_module \--http-client-body-temp-path=/var/tmp/nginx/client/ \--http-proxy-temp-path=/var/tmp/nginx/proxy/ \--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \--http-scgi-temp-path=/var/tmp/nginx/scgi \--with-pcre#编译并安装 ,时间挺长的
  1. make && make install
  2. #使用命令启动nginx #nginx -s stop 关闭nginx
  3. nginx #如果启动失败报缺失某文件,mkdir -p 创建即可
  4. #防火墙允许策略
  5. firewall-cmd --permanent --add-port=80/tcp
  6. firewall-cmd --reload
  7. #访问ip测试


   部署PHP


#下载php-7源码包wget http://hk2.php.net/get/php-7.0.15.tar.gz/from/this/mirror#下载编译工具和库yum install -y gcc libxml2-devel openssl-devel bzip2-devel libmcrypt-devel # libmcrypt-devel是php加密,yum没有下载源码包可自行下载源码包编译安装后使用。#安装一些库或软件可去www.sourceforge.net搜索下载 #mcrypt安装 (需安装libmcrypt mhash mcrypt,前两个是mcrypt的依赖)
    1. wget https://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/download
    
    2. wget https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
    3. wget https://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz/download
    4. #解压,会生成文件 libmcrypt-2.5.8 mcrypt-2.6.8 mhash-0.9.9.9
    5. tar -zxvf download
    6. tar -zxvf download.1
    7. tar -zxvf download.2  
    8. #安装libmcrypt
    9. cd libmcrypt-2.5.8/
    10. ./configure
    
    11. make && make install
    
    12. #安装mhash
    13. cd /root/mhash-0.9.9.9/
    
    14. ./configure
    
    15. make && make install
    
    16. #安装mcrypt
    17. cd /root/mcrypt-2.6.8/
    
    18. LD_LIBRARY_PATH=/usr/local/lib ./configure
    
    19. make && make install
    
    20. 
    21. #编译安装php
    tar -zxvf mirror #会解压生成php7的文件夹cd php-7*/./configure \--prefix=/usr/local/php7 \--enable-mysqlnd \
    --with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-openssl \--enable-mbstring \--with-freetype-dir \--with-png-dir \--with-zlib \--with-libxml-dir=/usr \--enable-xml \--enable-sockets \--enable-fpm \--with-mcrypt \--with-config-file-path=/etc \--with-config-file-scan-dir=/etc/php.d \--with-bz2
    
    1. make && make install
    2. #把php配置文件复制到默认目录
    3. cp php.ini-production /etc/php.ini
    
    4. #php-fpm自启设置
    5. cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
    
    6. chmod +x /etc/rc.d/init.d/php-fpm
    
    7. chkconfig --add php-fpm
    
    8. chkconfig php-fpm on
    
    9. #php-fpm使用service管理
    10. cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
    
    11. cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
    12. service php-fpm start 
    
    13. #配置nginx可调用php
    14. vim /etc/nginx/nginx.conf
    
    15. #45行追加index.php
    16. #去掉php配置的注释(大约65-71行)
    17. 
    18. vim /etc/nginx/fastcgi_params
    
    19. fastcgi_param  QUERY_STRING       $query_string;
    20. fastcgi_param  REQUEST_METHOD     $request_method;
    21. fastcgi_param  CONTENT_TYPE       $content_type;
    22. fastcgi_param  CONTENT_LENGTH     $content_length;
    23. fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    24. fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
    25. fastcgi_param  REQUEST_URI        $request_uri;
    26. fastcgi_param  DOCUMENT_URI       $document_uri;
    27. fastcgi_param  DOCUMENT_ROOT      $document_root;
    28. fastcgi_param  SERVER_PROTOCOL    $server_protocol;
    29. fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
    30. fastcgi_param  SERVER_SOFTWARE    nginx;
    31. fastcgi_param  REMOTE_ADDR        $remote_addr;
    32. fastcgi_param  REMOTE_PORT        $remote_port;
    33. fastcgi_param  SERVER_ADDR        $server_addr;
    34. fastcgi_param  SERVER_PORT        $server_port;
    35. fastcgi_param  SERVER_NAME        $server_name;
    36. #可在nginx的html默认网站根目录创建以下文件
    37. #vim test.php
    38. #<?php
    39. #phpinfo();
    40. #登录 http://IP/test.php测试
     
    
         部署mysql 
    
     
    #添加mysql用户组并添加mysql用户(不允许登录)groupadd mysqluseradd -r -g mysql -s /bin/false -M mysql#下载mysql源码包wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz#安装编译工具和依赖包yum install -y cmake make gcc gcc-c++yum install -y ncurses-devel openssl-devel bison-devel libaio libaio-devel# boost库安装# 该步骤可以省略,在cmake阶段添加参数-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost即可wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gztar -zxvf boost_1_59_0.tar.gz -C /usr/localmv /usr/local/boost_1_59_0 /usr/local/boostcd /usr/local/boost./bootstrap.sh./b2 stage threading=multi link=shared./b2 install threading=multi link=shared#安装编译mysqltar -zxvf mysql-5.7.17.tar.gzcd mysql-5.7.17
    1. #使用cmake工具设置参数,新版的php都从configure改用cmake
    2. cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADTR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DMYSQL_USER=mysql \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DENABLE_DOWNLOADS=1 \-DWITH_PARTRTION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_DEBUG=0 \-DMYSQL_MAINTAINER_MODE=0 \-DMITH_SSL:STRING=bundled \-DWITH_ZLIB:STRING=bundled \-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=/usr/local/boost
    1. 
    2. make && make install
    3. #将mysql目录权限给mysql用户
    4. chown -Rf mysql:mysql /usr/local/mysql
    5. #初始化数据库,默认会将库存入默认目录,即/usr/local/mysql/data
    6. /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    7. #设置mysql的配置文件
    8. cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
    9. #使用service管理,并设置自启
    10. cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
    chmod 755 /etc/rc.d/init.d/mysqldchkconfig mysqld onservice mysqld start
    1. 
    2. echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
    source /etc/profile#以下命令可参考《Mariadb基本管理》 Mariadb兼容mysql命令#初始化mysql数据库服务 会提示输入mysql的root密码mysql_secure_installation#使用root登录mysqlmysql -u root -p
    1. #以下创建会在使用workpress搭建网站使用
    #展示当前数据库show databases;#创建msun数据库create database msun;#创建msun用户create user 'msun'@'localhost' identified by '123456';#赋予msun用户关于msun数据库所有权限grant all on msun.* to msun@localhost;
    1. #退出
    exit
    1. #OK!!下面就是搭建网站博客
     
    
       workpress搭建网站 
     
     
    #下载workpress文件并解压wget https://cn.wordpress.org/wordpress-4.7.2-zh_CN.tar.gztar -zxvf wordpress-4.7.2-zh_CN.tar.gz
    #删除html原来文件并将workpress文件移入nginx网站目录rm /usr/html/*mv wordpress/* /usr/html/#登录网站IP开始安装http://192.168.1.166
    

    分布式部署springcloud 分布式部署LNMP+WordPress_nginx_02



    #此处设置数据库就是mysql刚刚创建的


    分布式部署springcloud 分布式部署LNMP+WordPress_lnmp_03


    #此处按要求 vim /usr/html/wp-config.php 把下面内容复制进去



    分布式部署springcloud 分布式部署LNMP+WordPress_php_04


    分布式部署springcloud 分布式部署LNMP+WordPress_nginx_05


    分布式部署springcloud 分布式部署LNMP+WordPress_分布式部署springcloud_06


    OK!!这样登录IP就可看见你自己搭建的博客网站