三十八、LNMP潮流组合搭建
一、安装mysql 数据库
1.1 mysql数据库安装的三种方法: 1)编译安装,在lamp经典组合安装是5.1版本,是configure,make,make install,这里如果是5.5版本采用的是cmake安装
2)yum/rpm
3)二进制包,直接压缩解压,初始化数据库即可,无需编译
1.2安装(软件路径和安装路径为:/home/oldboy/tools/mysql-5.5.32-linux2.6-x86_64和/application/mysql/mysql-5.5.32-linux2.6-x86_64)
1)上传,解压软件
rz -y
tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz
2) 因为是二进制文件,将文件直接拷贝到安装目录
mv ./mysql-5.5.32-linux2.6-x86_64 /application/mysql/
3)数据库数据目录授权
chown -R mysql /application/mysql/data/
4) 数据库初始化
/application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql/data --datadir=/application/mysql/data/
5)配置文件放到默认位置
cp ./support-files/my-small.cnf /etc/my.cnf
6)将启动服务文件放到默认位置
/cp ./support-files/mysql.server /etc/init.d/mysqld
7)修改启动命令路径,如下
vim /etc/init.d/mysqld

8)将数据库启动命令进行配置,这里有两种方式
1.添加到PATH变量里面,系统内会自动搜索,例如:/usr/local/sbin下
[root@djw1 mysql]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
2.添加到 /etc/profile下面,末尾添加如下:

9)添加用户名密码
/application/mysql/bin/mysqladmin -u root password 'oldboy124'
10)登录成功:mysql -uroot -p
1.3.优化用户名,只保留127.0.0.1和localhost,删除空用户和::1ipv6用户
mysql 数据库中可以使用 DROP USER 语句来删除一个或多个用户账号以及相关的权限。

优化如下: drop user ""@"localhost"; drop user ""@"::1"; drop user ""@"djw1";

二、安装PHP工具所需要的库
安装php是因为有一些动态数据需要通过PHP程序运行到mysql数据库中,而PHP程序依赖于PHP工具进行编译运行。
2.1检查安装PHP所需lib库,php会调用这些跟图形相关的函数库
yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel -y
2.2检查安装libiconv字符转换库工具
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
cd ../
2.3 libmcrypt:加密算法扩展库,支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
sleep 2
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../
2.4 mhash:hash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
make
make install
cd ../
rm -f /usr/lib64/libmhash.*
ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la
ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so
ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a
ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la
ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so
ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2
ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure LD_LIBRARY_PATH=/usr/local/lib
make
make install
cd ../
cd php-5.3.27
--with-mysql=/application/mysql \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib/
注意:启动php-fpm进程前,一定要启动nginx进程,查看php-fpm进程初始化如下:

启动成功!启动命令为 :/application/php/sbin/php-fpm -t \/application/php/sbin/php-fpm
五、php整合nginx,在nginx中添加如下内容:
1)配置参数
server {
listen 80;
server_name bbs.etiantian.org;
root html/bbs;
index index.php index.html index.htm;
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
2)写入站点连接数据库
[root@djw1 bbs]# cat ../../html/bbs/mysql.php
<?php
$link_id=mysql_connect('localhost','root','oldboy124') or mysql_error();
if($link_id){
echo "mysql successful by oldboy !\n";
}else{
echo mysql_error();
}
?>
3)测试
1.直接用php引擎: /application/php/bin/php mysql.php
2.页面测试:

六、安装部署开源软件wiki测试:
1.数据库:
create database wiki;
grant all on wiki.* to wiki@'localhost' identified by 'wiki';\
flush privileges;
2.下载开源软件:kaiyuan.baike.com ,复制链接后,wget下载
3.根据提示,输入必要的配置参数,就可以看到了,如下


三十八、LNMP潮流组合搭建的更多相关文章
- NeHe OpenGL教程 第三十八课:资源文件
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- spring boot / cloud (十八) 使用docker快速搭建本地环境
spring boot / cloud (十八) 使用docker快速搭建本地环境 在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越 ...
- Java进阶(三十八)快速排序
Java进阶(三十八)快速排序 前言 有没有既不浪费空间又可以快一点的排序算法呢?那就是"快速排序"啦!光听这个名字是不是就觉得很高端呢. 假设我们现在对"6 1 2 7 ...
- SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)
0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入.个人认为称之为堆叠注入更为准确.堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据 ...
- 微信小程序把玩(三十八)获取设备信息 API
原文:微信小程序把玩(三十八)获取设备信息 API 获取设备信息这里分为四种, 主要属性: 网络信息wx.getNetWorkType, 系统信息wx.getSystemInfo, 重力感应数据wx. ...
- 《手把手教你》系列技巧篇(三十八)-java+ selenium自动化测试-日历时间控件-下篇(详解教程)
1.简介 理想很丰满现实很骨感,在应用selenium实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操作就 ...
- bp(net core)+easyui+efcore实现仓储管理系统——入库管理之二(三十八)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- Deep learning:三十八(Stacked CNN简单介绍)
http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html 前言: 本节主要是来简单介绍下stacked CNN(深度卷积网络 ...
- 【FastDev4Android框架开发】打造QQ6.X最新版本号側滑界面效果(三十八)
转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50253925 本文出自:[江清清的博客] (一).前言: [好消息] ...
随机推荐
- Jlink线序问题
- C++ STD Gems02
remove.remove_if.replace.replace_if.remove_copy_if.unique #include <iostream> #include <str ...
- zTree & ckeditor &ValidateCode.jar 使用个人心得总结
zTree:依靠 jQuery 实现的多功能 “树插件”. 使用时只需要将下载的压缩包接用,复制里边的css 和 js 到指定目录即可. 如图所示: 在zTree的官网可以找到各种类型树的示例: 地址 ...
- java笔记5
1. JUnit 单元测试:方法名任意,但是没有参数列表. 注解: @Test @Ignore @Before @After 2. 泛型 1. 在集合中使用泛型 2. 在通用性较高的代码中使用泛型 1 ...
- 设计模式讲解5:FlyWeight模式源码
声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 FlyWeight模式即享元模式.很多文本编辑器中都使用了FlyWeight模式.FlyWeight单词含 ...
- tomcat8.5的安装、卸载、配置和部署
安装和卸载 下载 http://tomcat.apache.org/ 环境变量 1.点击此电脑 右键—>属性. 2.创建变量名为CATALINA_HOME,的值为所解压安装tomcat的本地目录 ...
- How to .gitignore all files/folder in a folder, but not the folder itself?
https://stackoverflow.com/questions/4250063/how-to-gitignore-all-files-folder-in-a-folder-but-not-th ...
- spring获取当前动态代理对象
由于spring中的aop拦截的是代理对象 当拦截的目标方法被本类的另一个方法调用时,会出现拦截失效 最佳实践: 例如拦截RegulationService的update(regulation)方法, ...
- Centos8无法安装screen的解决方法:使用epel安装screen
选择了一个基础款的vps安装的镜像选了熟悉的centos的最新版centos8,但是在安装screen的时候,却安装不了,提示: No match for argument: screen 本来以为是 ...
- 吴裕雄--天生自然ShellX学习笔记:Shell test 命令
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 实例演示: num1=100 num2=100 if test $[num1] -eq $[num2 ...