zoukankan      html  css  js  c++  java
  • 部署LNMP

    第1章 编译安装Nginx

    到目前为止还未发现操作系统ISO镜像自带,或者默认情况下yum可以直接通过rpm包方法安装Nginx的情况。如果要使用yum安装Nginx,则需要配置epel yum源或去官网寻找。

    1.1 安装Nginx所需的pcre库

    yum install  pcre  pcre-devel -y

    注意:                  

       安装pcre库是为了使Nginx支持具备URI重写功能rewrite模块;rewrite模块功能在企业中最常用的;

    1.1 安装依赖关系的软件包  pcre pcre-devel、openssl  openssl-devel

    [root@web01 ~]# rpm -qa pcre pcre-devel  ###查看安装结果 prce   prce-devel

    pcre-7.8-7.el6.x86_64

    pcre-devel-7.8-7.el6.x86_64

    [root@web01 ~]# rpm -qa openssl openssl-devel  ##查看安装结果openssl  openssl-devel

    openssl-1.0.1e-48.el6_8.4.x86_64

    openssl-devel-1.0.1e-48.el6_8.4.x86_64

    ###如果这两个软件包都没有安装,yum安装

    #yum install  pcre  pcre-devel -y

    #yum install  optenssl openssl-devel  -y 

    #1.安装依赖包

    yum install -y  pcre-devel openssl-devel

    注意:

       Nginx在使用HTTPS服务的时候需要用到此模块,如果不安装optenssl相关包,安装Nginx的过程会报错。

    1.2 开始安装Nginx

    1.2.1 创建目录,创建的这个目录用来固定存放各种软件; (统一个存放软件的目录)

    mkdir -p /home/oldboy/tools  ##创建文件目录

    1.2.2 下载软件包,进入到/home/oldboy/tools目录下面,下载软件安装包

    cd /home/oldboy/tools

    wget http://nginx.org/download/nginx-1.10.2.tar.gz

    #注意:

        在选择下载安装包时,要选定稳定的版本    ##为偶数

    1.2.3 解压

    [root@web01 tools]# tar xf nginx-1.10.2.tar.gz

    [root@web01 tools]# ll

    total 896

    drwxr-xr-x 8 1001 1001   4096 Oct 18 23:03 nginx-1.10.2

    -rw-r--r-- 1 root root 910812 Mar 22 18:10 nginx-1.10.2.tar.gz

    1.2.4 创建虚拟用户

    useradd  -s /sbin/nologin -M www

    1.2.5 配置(configure)nginx ;

    cd /home/oldboy/tools/nginx-1.10.2   #进入这个目录下面来配置

    ./configure  --user=www --group=www --prefix=/application/nginx-1.10.2 --with-http_stub_status_module  --with-http_ssl_module

    注意: ./configure--help帮助信息

    --user=USER                         ##进程用户权限

    --group=www                         ##进程用户组权限

    -prefix=/application/nginx-1.10.2   ##设置安装路径

    --with-http_stub_status_module      ##激活状态信息

    --with-http_ssl_module              ##激活ssl功能

    1.2.6  编译,安装

       make

       make install

    1.2.7 创建软连接

    ln -s /application/nginx-1.10.2 /application/nginx

    1.2.8 检查配置文件语法

    /application/nginx/sbin/nginx   -t    

    nginx: the configuration file /application/nginx-1.10.2/conf/nginx.conf syntax is ok

    nginx: configuration file /application/nginx-1.10.2/conf/nginx.conf test is successful      

    命令说明:

          -t  是检查配置文件的语法

          -s 【reload】  是让配置文件平滑重启,不会影响其它用户

          /application/nginx/sbin/nginx   -s  reload

    1.2.9 启动nginx进行测试

    /application/nginx/sbin/nginx

    1.2.10 检测服务

    1、查看端口服务是否开启

    lsof -i:80

    [root@web01 nginx]# netstat -lnt|grep 80

    tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN     

    tcp        0      0 0.0.0.0:46580               0.0.0.0:*                   LISTEN   

    2、浏览器访问 10.0.0.8

    打开浏览器输入http://10.0.0.8(为安装nginx服务器的IP地址),然后回车

    第2章 MySQL

    1.1 MySQL安装部署步骤(web01)

    1.1.1 上传MySQL软件到响应的目录中

    1.1.2 解压MySQL软件,将解压后目录放置到/application目录中,并创建软连接。

    解压MySQL二进制包

    cd /home/oldboy/tools

    tar xf mysql-5.6.34-*-x86_64.tar.gz

    把MySQL 移动到 /application/

    mkdir -p /application/

    mv mysql-5.6.34-linux-glibc2.5-x86_64 /application/mysql-5.6.34

    创建软连接

    ln -s /application/mysql-5.6.34/ /application/mysql

    ll /application/mysql

    1.1.3 让MySQL用户管理

    chown -R mysql.mysql /application/mysql/

    1.1.4 创建管理MySQL服务的用户mysql

    groupadd mysql

    useradd mysql -g mysql -M -s /sbin/nologin

    useradd mysql -M -s /sbin/nologin

    1.1.5 初始化MySQL(创建默认数据库数据信息过程)

     cd /application/mysql

    ##在数据库MySQL目录下执行   

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

    1.1.6 复制启动脚本,授权。/appl

    cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld

    chmod +x /etc/init.d/mysqld

    /application/mysql/bin/mysqld_safe &

        \cp support-files/mysql.server /etc/init.d/mysqld

    ll /etc/init.d/mysqld

    1.1.7 修改启动脚本和MySQL命令中的路径

    mysql启动脚本 默认放在support-files/mysql.server

     sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

    启动:

    /etc/init.d/mysqld start

    启动不成功:

    修改配置文件,复制过来,复制之前先备份,以免出现错误。

    cp /etc/my.cnf{,.ori}

    \cp /application/mysql/my.cnf /etc/my.cnf

    1.1.8 检查是否启动成功

    nestat -lntup|grep mysql

    ps -ef|grep mysql

    ##3306 为mysql专用端口

    1.1.9 小结

    初始化脚本文件 /scripts/mysql_install_db

    服务启动脚本文件 /application/mysql/bin/mysqld_safe support-files/mysql.server(/etc/init.d/ +x)

    1.2 进入数据库命令

    /application/mysql/bin/mysql

    1.2.1 设置密码

    /application/mysql/bin/mysqladmin -u root password 'oldboy123'

    看见warning不要害怕,只是一个警告。

    1.2.2 设置完密码如何进入

    命令行输入密码

    /application/mysql/bin/mysqladmin -u root password 'oldboy123'

    交互式输入密码

    /application/mysql/bin/mysql -uroot -p

    1.2.3 加入开机自启动

    chkconfig --add mysqld

    chkconfig mysqld on

    1.3 进入数据库操作

    1.3.1 查看所有数据库

    show databases

    mysql> show databases;

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | mysql              |

    | performance_schema |

    | test               |

    | wordpress          |

    +--------------------+

    5 rows in set (0.05 sec)

    mysql>

    1.3.2 刷新

    flush privileges;

    1.3.3 创建数据库

    create database 名字;

    mysql> create database oldgirl;

    Query OK, 1 row affected (0.04 sec)

    mysql> show databases;

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | mysql              |

    | oldgirl            |

    | performance_schema |

    | test               |

    | wordpress          |

    +--------------------+

    1.3.4 查询用户的权限,当前系统都有什么用户?他们可以在那里登录?

    select user,host from mysql.user;

    mysql> select user,host from mysql.user;

    +-----------+------------+

    | user      | host       |

    +-----------+------------+

    | root      | 127.0.0.1  |

    | wordpress | 172.16.1.% |

    | root      | ::1        |

    |           | db01       |

    | root      | db01       |

    |           | localhost  |

    | root      | localhost  |

    +-----------+------------+

    7 rows in set (0.06 sec)

    1.3.5 删除数据库

    drop database 数据库名字;

    1.3.6 查看当前所属的数据库,相当于从pwd命令

    select database()

    1.3.7 添加用户并授予权限

    grant all on wordpress.* to '用户名'@ '在哪' identfied by '密码'

    ###db01添加新的用户  那个%的不好使添加这个

    grant all on wordpress.* to 'wordpress@'172.16.1.0/255.255.255.0' identified by '123456';

    flush privileges;

    1.3.8 数据库常用操作命令说明

    show databases;             ---查看数据库信息

    create database oldboy;       ---创建新的数据库

    drop database oldboy;        ---删除存在的数据库

    show tables;              ---查看数据库中表信息

    use mysql;                 ---切换数据库

    select database();            ---查看所在数据库,相当于pwd

    select * from user\G;         ---查看user表中所有信息,并且纵行显示

    select user,host from user; ---查看user表中指定信息,并且横行显示

    select user,host from mysql.user;

    grant all on *.* to user@'host' identified by 'oldboy123';           ---创建用户

    grant all on *.* to Old_Boy@'localhost' identified by 'oldboy123';   ---创建用户(大写用户)

    drop user 'user'@'host';

    flush privileges;          --- 刷新权限

    第3章 PHP

    2.1 安装PHP基础库

    2.1.1 基础依赖包

    解压PHP软件,进行编译安装,将程序安装到/application目录中,并且创建软连接

    yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y

    yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y

    2.1.2 安装字符集转换库---libicony

    mkdir -p /home/oldboy/tools

    cd /home/oldboy/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

    2.1.3 安装其他相关程序--libmcrypt

    在/home/oldboy/tools下载工具的目录

    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

    2.1.4 报错

    创建软连接

    ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/

    touch ext/phar/phar.phar

    如果是nginx用户则需要修改php-fpm.conf.default 这个配置文件user = www:group = www改变一下

    改变方法:

    #sed -i 's#user = www#user = nginx#g;s#group = www#group = nginx#g' /application/php-5.5.32/etc/php-fpm.conf.default

    2.1.5 创建软连接

    ln -s /application/php-5.5.32/ /application/php

    2.1.6 配置php解析文件

    cd /home/oldboy/tools/php-5.5.32

    cp php.ini-production /application/php/lib/php.ini

    2.1.7 配置php-fpm配置文件

    cd /application/php/etc/

    cp php-fpm.conf.default php-fpm.conf

    2.1.8 启动php-fpm

    /application/php/sbin/php-fpm

    #查看端口,是否启动。

    lsof -i :9000

    ps -ef|grep php-fpm

    2.2 测试php与MySQL沟通是否正常

    编辑

    /application/nginx/html/blog

    vim test_mysql.php

    ?php
    //$link_id=mysql_connect('主机名','用户','密码');
    //mysql -u用户 -p密码 -h 主机
    $link_id=mysql_connect('localhost','wordpress','123456') or mysql_error();
    if($link_id){
    echo "mysql successful by oldboy !\n";
    }else{
    echo mysql_error();
    }
    ?>

    第4章 安装博客

    进入tools目录

    cd /home/oldboy/tools/

    3.1 解压软件wordpress

    tar xf wordpress-4.7.3-zh_CN.tar.gz

    3.2 将软件移动到博客配置文件路径/application/nginx/html/blog/

    mv wordpress/*     /application/nginx/html/blog/

    3.3 给予/application/nginx/html/blog/路径www权限

    chown -R www.www /application/nginx/html/blog/

    3.4 数据库迁移

    将本地的数据库迁移到mysql服务器

    推过去web01==>db01

    scp /home/oldboy/tools/mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz 172.16.1.51:/home/oldboy/tools/

    将压缩包推倒MySQL服务器

    解压创建数据库,创建用户。

    在本地/application/nginx/html/blog路径下,修改vim wp-config.php文件。

    ......................省略

    // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //

    /** WordPress数据库的名称 */

    define('DB_NAME', 'wordpress');

     

    /** MySQL数据库用户名 */

    define('DB_USER', 'wordpress');

     

    /** MySQL数据库密码 */

    define('DB_PASSWORD', 'oldboy123');

     

    /** MySQL主机 */

    define('DB_HOST', '172.16.1.51');  ##将IP地址改成mysqlIP地址

     

    /** 创建数据表时默认的文字编码 */

    define('DB_CHARSET', 'utf8mb4');

     

    /** 数据库整理类型。如不确定请勿更改 */

    define('DB_COLLATE', '');

    ..........................省略

  • 相关阅读:
    2019第二周作业
    2019 编程总结
    寒假作业2编程总结
    2018秋季学习总结
    喜欢的老师
    人生路上对我影响最大的三位老师
    自我介绍
    抓老鼠啊~亏了还是赚了?
    币值转换
    打印沙漏
  • 原文地址:https://www.cnblogs.com/xinlibao/p/6731115.html
Copyright © 2011-2022 走看看