lnmp架构

lnmp架构

linux服务平台

nginx-http服务

mysql-存储

php-前端处理语言


一、mysql安装

1、mysql的编译

1)安装cmake工具:cmake是一个跨平台安装编译工具,可以用简单的语句来描述所有平台的安装。他能够输出各种各样的makefile或者project文件,能测试编译器所指出的c++特性

2)在mysql 5.7.17目录下cmake

cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/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 \                                     安装 innodb 存储引擎
> -DDEFAULT_CHARSET=utf8 \                                                                 使用utf8字符
> -DDEFAULT_COLLATION=utf8_general_ci \                                          校验字符

> -DEXTRA_CHARSETS=all \                                                                      安装所有扩展字符集

3)cmake执行 按错误 安装gcc gcc-c++  并删除CMakeCache(缓存文件信息)
加入语句-DWITHBOOST=boost/boost1_59_0 并删除CMakeCache
安装ncurses-devel  删除CMakeCache

安装 bison 删除CMakeCache

缺什么安装什么直到cmake执行完成没有报错 

完成后make &&make install

2、mysql的初始化

1)安装好后在/usr/local/lnmp/ support-files/目录下将mysql的脚本文件复制到/etc/init.d/下

lnmp架构_第1张图片


2)在/etc/目录下cp my.cnf  my.cnf.back备份一份mysql配置文件,然后将安装后的配置文件直接覆盖掉原配置文件

lnmp架构_第2张图片

编辑配置文件:

lnmp架构_第3张图片

这里

basedir = /usr/local/lnmp/mysql                                mysql的主目录

datadir = /usr/local/lnmp/mysql/data                         数据目录

socket = /usr/local/lnmp/mysql/data/mysql.sock        mysql连接端口的路径

3)建立mysql的用户和用户组,并将mysql的目录改为仅mysql可读写

lnmp架构_第4张图片lnmp架构_第5张图片

4)为了方便将mysql的命令的路径添加到环境变量中

lnmp架构_第6张图片

5)执行mysql-install-db脚步初始化mysql中的data目录并创建一些表格,但是这里提示要使用--initialize

按提示继续进行操作,这里他会给你一个密码,如下图

lnmp架构_第7张图片

此时在mysql目录下生成data目录

lnmp架构_第8张图片

启动mysql服务 在data目录查看sock文件

lnmp架构_第9张图片

此时为了目录的数据的安全,将除了mysql的data目录外,用户都设定为超级用户

lnmp架构_第10张图片

进入mysql数据库查看,无法显示databases,根据提示要我们修改密码

lnmp架构_第11张图片

进入更改密码交互窗口

lnmp架构_第12张图片

后面根据提示前两个回车,后面选择y

lnmp架构_第13张图片

lnmp架构_第14张图片

完成后再次登陆查看如图

lnmp架构_第15张图片lnmp架构_第16张图片

至此mysql部署完成

总结错误:

这里我在mysql编译时,将socket文件路径写错 通过建立链接将问题解决,如下图

lnmp架构_第17张图片



二、php部署

1)这里我同样使用源码包编译

./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-gmp --with-gettext --with-pear --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash

编译会报错缺少什么软件和服务就安装什么(--with表示添加的模块,要的模块--help查看之后直接添加即可)

上面php-fpm提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,./configure的时候带 –enable-fpm参数即可开启php-fpm

完成后make &&make install 完成安装

2)查看目录并根据编译内容建立nginx用户

lnmp架构_第18张图片


lnmp架构_第19张图片

3)复制php-fpm配置文件并查看编辑

lnmp架构_第20张图片

打开pid = run/php-fpm.pid

lnmp架构_第21张图片

4)按下图将配置文件和启动脚本复制到指定路径,方便后续操作

lnmp架构_第22张图片

5)编辑php.ini更改时区

lnmp架构_第23张图片

6)启动php-fpm服务,并查看端口为9000

lnmp架构_第24张图片

至此php部署完成


三、nginx的部署

1)源码包安装

先在 src/core/nginx.h 删除版本号,当外界访问时看不见版本号,增加了安全性

lnmp架构_第25张图片

2)在 auto/cc/gcc注释debug,这样产生的nginx的程序只有几百k

lnmp架构_第26张图片

3)完成上面的操作后./configure添加需要的模块进行编译,lnmp架构_第27张图片

过程中包错缺少pcre服务,直接安装,然后重新./configure编译

完成后make&&make install完成安装

4) 在/usr/local/lnmp/nginx/conf/nginx.conf 编辑配置文件,将index.php置于最前 打开65-70行 注释和.conf,如下图

以php结尾的访问,让php-fpm去管理这些访问进程

lnmp架构_第28张图片

将默认发布目录改为index.php

lnmp架构_第29张图片

编辑完配置文件后,nginx启动脚步作链接到/usr/local/sbin下,

nginx -t 检查配置文件是否合法,并启动nginx服务,查看其端口,如图

lnmp架构_第30张图片

在nginx/html下,编写php测试文件,完成后网页测试访问

lnmp架构_第31张图片lnmp架构_第32张图片

lnmp架构_第33张图片



四、应用-论坛的搭建

1)将下载好的论坛包解压到nginx的默认发布目录下,并改名为/bbs

lnmp架构_第34张图片

2)网页访问按提示开始安装论坛

lnmp架构_第35张图片

3)这里文件权限会产生报错,如图

lnmp架构_第36张图片

按提示将所需文件权限改为777即可,如图

lnmp架构_第37张图片

lnmp架构_第38张图片

lnmp架构_第39张图片

4)点击全新安装并填写mysql的信息和管理员用户名及密码

lnmp架构_第40张图片

lnmp架构_第41张图片

5)在安装步骤,会提示错误,如图

lnmp架构_第42张图片

此时在/user/local/lnmp/php/etc/php.ini我们需要指定php连接mysql的通信接口,三个位置,如下图

lnmp架构_第43张图片

lnmp架构_第44张图片

完成后重新加载文件

6)在此安装时还会报错,连接数据库的权限不够,如图

lnmp架构_第45张图片

我们将数据库的data目录赋予755权限即可

lnmp架构_第46张图片

7)此时论坛成功安装

lnmp架构_第47张图片

8)登陆查看

lnmp架构_第48张图片

9)进入管理员管理中心,提示删除/install/目录下的php文件,按提示执行,避免二次安装,如图

lnmp架构_第49张图片lnmp架构_第50张图片lnmp架构_第51张图片


你可能感兴趣的:(lnmp架构)