linux服务平台
nginx-http服务
mysql-存储
php-前端处理语言
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/下
2)在/etc/目录下cp my.cnf my.cnf.back备份一份mysql配置文件,然后将安装后的配置文件直接覆盖掉原配置文件
编辑配置文件:
这里
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可读写
4)为了方便将mysql的命令的路径添加到环境变量中
5)执行mysql-install-db脚步初始化mysql中的data目录并创建一些表格,但是这里提示要使用--initialize
按提示继续进行操作,这里他会给你一个密码,如下图
此时在mysql目录下生成data目录
启动mysql服务 在data目录查看sock文件
此时为了目录的数据的安全,将除了mysql的data目录外,用户都设定为超级用户
进入mysql数据库查看,无法显示databases,根据提示要我们修改密码
进入更改密码交互窗口
后面根据提示前两个回车,后面选择y
完成后再次登陆查看如图
至此mysql部署完成
总结错误:
这里我在mysql编译时,将socket文件路径写错 通过建立链接将问题解决,如下图
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用户
3)复制php-fpm配置文件并查看编辑
打开pid = run/php-fpm.pid
4)按下图将配置文件和启动脚本复制到指定路径,方便后续操作
5)编辑php.ini更改时区
6)启动php-fpm服务,并查看端口为9000
至此php部署完成
1)源码包安装
先在 src/core/nginx.h 删除版本号,当外界访问时看不见版本号,增加了安全性
2)在 auto/cc/gcc注释debug,这样产生的nginx的程序只有几百k
3)完成上面的操作后./configure添加需要的模块进行编译,
过程中包错缺少pcre服务,直接安装,然后重新./configure编译
完成后make&&make install完成安装
4) 在/usr/local/lnmp/nginx/conf/nginx.conf 编辑配置文件,将index.php置于最前 打开65-70行 注释和.conf,如下图
以php结尾的访问,让php-fpm去管理这些访问进程
将默认发布目录改为index.php
编辑完配置文件后,nginx启动脚步作链接到/usr/local/sbin下,
nginx -t 检查配置文件是否合法,并启动nginx服务,查看其端口,如图
在nginx/html下,编写php测试文件,完成后网页测试访问
1)将下载好的论坛包解压到nginx的默认发布目录下,并改名为/bbs
2)网页访问按提示开始安装论坛
3)这里文件权限会产生报错,如图
按提示将所需文件权限改为777即可,如图
4)点击全新安装并填写mysql的信息和管理员用户名及密码
5)在安装步骤,会提示错误,如图
此时在/user/local/lnmp/php/etc/php.ini我们需要指定php连接mysql的通信接口,三个位置,如下图
完成后重新加载文件
6)在此安装时还会报错,连接数据库的权限不够,如图
我们将数据库的data目录赋予755权限即可
7)此时论坛成功安装
8)登陆查看
9)进入管理员管理中心,提示删除/install/目录下的php文件,按提示执行,避免二次安装,如图