企业—LNMP架构的搭建(MYSQL,PHP,Nginx)

关于LNMP架构的详细介绍可参考上篇博文:https://blog.csdn.net/weixin_44224288/article/details/89635066

一.MYSQL的源码编译

1.实验环境

  • rhel6.5 selinux and iptables disabled
  • 因为MYSQL占用的空间大所以需要20G的硬盘,并且内存设置为2048KB,在编译安装的时候可以加快速度

2.源码编译

  • (1)官网下载安装包,本次实验直接从物理机上scp已经下载好的安装包到server1,然后进行解压
[root@server1 ~]# tar zxf mysql-boost-5.7.17.tar.gz 
[root@server1 ~]# cd mysql-5.7.17/

在这里插入图片描述

  • (2)编译安装
  • 创建目录用于存放LNMP框架需要的MYSQL,Nginx,PHP

mkdir -r /usr/local/lnmp

  • 安装编译源码工具cmake
    cmake跨平台工具是用来编译mysql源码的,用于设置mysql的编译参数。如安装目录,存放路径,字符编码及排序规则等等
    在这里插入图片描述
  • 安装编译时需要的依赖包
[root@server1 mysql-5.7.17]# yum install -y ncurses-devel #安装依赖性软件
[root@server1 mysql-5.7.17]# yum install -y gcc gcc-c++
[root@server1 mysql-5.7.17]# yum install -y bison
  • 进行编译,在编译时可以加上在编译时的条件
[root@server1 mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \  #指定mysql的安装位置
> -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \  #指定数据库中数据存放的路径
> -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \  #链接数据库的socket文件
> -DWITH_MYISAM_STORAGE_ENGINE=1 \ #安装MYISAM的存储引擎
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DDEFAULT_CHARSET=utf8 \ #使用utf-8字符编码
> -DDEFAULT_COLLATION=utf8_general_ci \ #校验字符
> -DEXTRA_CHARSETS=all \ #安装所有的扩展字符集
> -DWITH_BOOST=boost/boost_1_59_0

在这里插入图片描述
注:如果编译过一次出现问题解决后再次编译回保留缓存文件,再次编译时会报错,因此需要先删除缓存文件,然后再进行编译:rm -rf CMakeCache.txt

  • 安装安装成包
    在这里插入图片描述
    3.MYSQL的配置

  • (1)将编译完成的mysql的启动脚本复制到系统启动服务脚本的默认目录中去

[root@server1 mysql-5.7.17]# cd support-files/
[root@server1 support-files]# cp mysql.server /etc/init.d/mysqld
[root@server1 support-files]# chmod +x /etc/init.d/mysqld #给服务脚本添加执行权限

在这里插入图片描述

  • (2)进入源码编译目录,再进入mysql安装的位置,在相关的配置目录下把mysql的配置文件放到/etc/my.cnf
    在这里插入图片描述
  • (3)编辑配置文件my.cnf,添加mysql的存放路径
[root@server1 support-files]# vim /etc/my.cnf

文件编辑内容如下:
在这里插入图片描述

  • (4)添加mysql用户对mysql服务进行限制,将mysql服务的工作空间局限在mysql用户的家目录中
    在这里插入图片描述
  • (5)创建数据目录data
    将mysql目录下的所有文件的所有组都改为mysql用户,实现mysql用户的管理,并且将数据data的目录的所有人改为mysql,实现对其的操作
    在这里插入图片描述
  • (6)将编译生成的mysql二进制命令放进系统的环境变量中,方便调用
[root@server1 mysql]# vim ~/.bash_profile
文件编辑内容如下:

在这里插入图片描述
在这里插入图片描述

  • (7)执行mysql的配置初始化文件
    在这里插入图片描述
    注:如果初始化出现问题,则进入data数据的目录下将已经生成的东西删掉,再次执行即可

  • (8)开启数据库
    在这里插入图片描述

  • (9)登录查看
    在这里插入图片描述

  • (10)mysql的安全初始化
    在这里插入图片描述
    在这里插入图片描述

  • (11)使用新密码重新登录再次测试
    在这里插入图片描述

二.PHP的源码编译

1.php的编译及其安装

  • (1)官网下载php的原码包并进行解压
    在这里插入图片描述

  • (2)安装编译时遇到的依赖性

yum install -y libmcrypt-2.5.8-9.el6.x86_64.rpm
yum install libmcrypt-devel-2.5.8-9.el6.x86_64.rpm #上面俩个安装包需要再官网上下载
 yum install libxml2-devel -y
 yum install openssl-devel -y
 yum install libcurl-devel -y
 yum install libjpeg-turbo-devel-1.2.1-1.el6.x86_64 -y
 yum install 2:libpng-devel-1.2.49-1.el6_2.x86_64 -y
 yum install freetype-devel -y
 yum install gmp-devel-4.3.1-7.el6_2.2.x86_64 -y
 yum install net-snmp-devel -y
  • (3)进入解压目录进行编译
./configure --prefix=/usr/local/lnmp/php #指定php的安装路径
--with-config-file-path=/usr/local/lnmp/php/etc #php配置文件所在的路径
--with-openssl #支持openssl加密
--with-snmp
--with-gd
--with-zlib 
--with-curl 
--with-libxml-dir 
--with-png-dir 
--with-jpeg-dir 
--with-freetype-dir  #以上三个为php处理图片的格式
--with-gmp 
--with-gettext 
--with-pear 
--enable-mysqlnd 
--with-mysql=mysqlnd 
--with-mysqli=mysqlnd #支持与mysql数据库之间建立联系
--with-pdo-mysql=mysqlnd 
--enable-inline-optimization 
--enable-soap --enable-ftp 
--enable-sockets 
--enable-mbstring 
--enable-fpm #开启php-fpm服务
--with-fpm-user=nginx  #使用nginx用户来限制对php服务
--with-fpm-group=nginx 
--with-mcrypt #提供了多种块算法的支持
--with-mhash #加密算法

在这里插入图片描述

  • (4)安装
    在这里插入图片描述
    2.php的相关配置

  • (1)创建nginx用户实现对php的控制
    在这里插入图片描述

  • (2)复制配置文件模版到配置文件中
    在这里插入图片描述

  • (3)编辑php的配置文件,配置pid,及其查看所属用户和组是否为nginx
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • (4)修改时区
    在这里插入图片描述
    在这里插入图片描述

  • (5)将php的启动脚本复制到系统的启动目录下并添加执行权限
    在这里插入图片描述

  • (6)开启服务并且查看php段口,默认为9000
    在这里插入图片描述

三.Nginx的源码编译

1.Nginx的源码编译

  • (1)官网下载源码编译包并解压
    在这里插入图片描述

  • (2)为了安全起见需要去掉nginx的版本号
    在这里插入图片描述
    在这里插入图片描述

  • (3)关闭debug日志,因为debug日志是最基础的日志,里面的记录比较多会占用内存
    在这里插入图片描述
    在这里插入图片描述

  • (4)安装编译时遇到的依赖性的安装包
    在这里插入图片描述

  • (5)编译
    在这里插入图片描述

  • (6)安装
    在这里插入图片描述
    2.nginx的相关配置

  • (1)在配置文件中添加php的相关内容
    在这里插入图片描述
    文件编辑内容如下:
    在这里插入图片描述
    在这里插入图片描述

  • (2)创建软链接方变直接调用
    在这里插入图片描述

  • (3)检测nginx服务的语法错误,打开服务,查看端口(80)
    在这里插入图片描述

  • (4)在浏览器中查看nginx是否可用
    在这里插入图片描述

四.测试

  • 在nginx的默认发布目录下添加所要识别的php页面
    在这里插入图片描述

  • 在浏览器再次查看
    在这里插入图片描述
    由上图显示则LNMP架构搭建成功

猜你喜欢

转载自blog.csdn.net/weixin_44224288/article/details/89643406