一、mysql的安装:

1. get mysql-boost-5.7.17.tar.gz (from 老吴)

使用mysql-boost-5.7.17.tar.gz时,查看df -h,物理空间应该大于10G

tar zxf mysql-boost-5.7.17.tar.gz##解压mysql,会发现解压完后du -sh是500+M

2. 软件包依赖性:

在cmake过程中需要使用到gcc、gcc-c++编译器、ncurses-devel、cmake

yum install -y gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel camke

3. 安装配置(当前路径:cd /root/mysql-5.7.17/)----编译三步曲

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 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BOOST=boost/boost_1_59_0/

make && make install

重新编译时,需要清除旧的对象文件和缓存信息(在编译过程中如果出错,因为cmake会有缓存,如果不清理就会持续报错,那么remove CMakeCache.txt文件,rerun cmake)

make clean

rm -f CmakeCache.txt

解释:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \#安装目录

-DMYSQL_DATADIR=/usr/local/mysql/data \#数据库存放目录

-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \#Unix socket 文件路径

-DWITH_MYISAM_STORAGE_ENGINE=1 \#安装 myisam 存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \#安装 innodb 存储引擎

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \#安装 archive 存储引擎

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \#安装 blackhole 存储引擎

-DWITH_PARTITION_STORAGE_ENGINE=1 \#安装数据库分区

-DENABLED_LOCAL_INFILE=1 \#允许从本地导入数据

-DWITH_READLINE=1 \#快捷键功能

-DWITH_SSL=yes \#支持 SSL

-DDEFAULT_CHARSET=utf8 \#使用 utf8 字符

-DDEFAULT_COLLATION=utf8_general_ci \#校验字符

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

-DMYSQL_TCP_PORT=3306 \#MySQL 监听端口

4. 添加mysql用户

groupadd -g 27 mysql

useradd -u 27 -g 27 -s /sbin/nologin -M -d /usr/local/lnmp/mysql/data mysql#添加mysql用户

id mysql

5. cd /usr/local/lnmp/mysql/bin/

vim ~/.bash_profile   #进入mysql的bin目录下修改文件 把路径修改为如下

10 PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin

source ~/.bash_profile##使文件生效

6.备份

cd /etc/

cp my.cnf my.cnf.bak #备份

cd /usr/local/lnmp/mysql/support-files/

cp my-default.cnf /etc/my.cnf

7.生成mysql临时密码

cd /usr/local/lnmp/mysql/

mysqld --initialize --user=mysql##执行完成后生成临时密码

8. chown root.root . -R

chown mysql data -R#修改data文件的用户

/etc/init.d/mysqld start#开启服务

9.验证登陆

mysql -p##首先使用临时密码登陆,但不能执行show databases

mysql_secure_installation #修改密码

mysql -uroot -p##登陆成功,可以进数据库里

二、php的安装:

1.所需要的安装包以及为了解决依赖关系所下载的(从老吴那下载的):

php-5.6.20.tar.bz2

re2c-0.13.5-1.el6.x86_64.rpm

libmcrypt-2.5.8-9.el6.x86_64.rpm        # mcrypt是 php 加密算法扩展库

libmcrypt-devel-2.5.8-9.el6.x86_64.rpm

2.编译三步曲(当前路径/root/php-5.6.20/)

./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --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 --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

make && make install

3.在编译过程中会出现许多依赖性问题,需下载很多安装包。需要在编译时候一步步排错,为了方便起见,我把上面插件所需要的安装包做了汇总:

yum install -y libxml2-devel.x86_64 curl-devel libjpeg-turbo-devel-1.2.1-1.el6.x86_64  freetype-devel gmp-devel net-snmp-devel(解决编译的依赖关系,为了方便一次性安装 or 也可以每执行一步查看所需要的包然后下载安装)

rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm (两个互相依赖,必须同时安装)

rpm -ivh re2c-0.13.5-1.el6.x86_64.rpm

yum provides */png.h##所出现的错误如果是文件类提示,那么用这个办法查找所依附的安装包(如果有什么头文件找不到可以使用 yum provides */头文件)

yum install -y libpng-devel-1.2.49-1.el6_2.x86_64

三、php的配置(整合nginx和数据库):

1.查看安装的php大小

cd /usr/local/lnmp/php/

du -sh(一般是这么大109M.)

2.复制文件便于后续操作

cd /root/php-5.6.20

cp php.ini-production /usr/local/lnmp/php/etc/php.ini(一定要用.ini结尾)

cd /root/php-5.6.20/sapi/fpm/

file init.d.php-fpm##查看文件类型

cp init.d.php-fpm /etc/init.d/php-fpm##企业六里面脚本的固定位置

chmod +x /etc/init.d/php-fpm

3. cd /usr/local/lnmp/php/etc/

ls

vim php.ini ##更改时区

925 date.timezone = Asia/shanghai

4.开启php-fpm服务

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

vim php-fpm.conf

25 pid = run/php-fpm.pid

/etc/init.d/php-fpm start

5.添加php的路径

cd /usr/local/lnmp/php

vim ~/.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnm

p/php/bin

source ~/.bash_profile

6. netstat -antlp | grep :9000   此接口是php-fpm

7. 更改配置文件,打开nginx服务

cd /usr/local/lnmp/nginx/conf/

vim nginx.conf

56         location / {

57             root   html;

58             index  index.php index.html index.htm;

59         }##添加index.php,使其也能在网页共享

60

78 location ~ \.php$ {

79     root           html;

80     fastcgi_pass   127.0.0.1:9000;

81     fastcgi_index  index.php;

82   #  fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_scr    ipt_name;

83     include        fastcgi_params;

84 }

nginx ##打开nginx服务

[root@server1 conf]#  netstat -antlp | grep nginx

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      21082/nginx

tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      21082/nginx

8./usr/local/lnmp/nginx/html/

vim index.php ##php测试页的编写

<?php

phpinfo()

?>

四、简单论坛的搭建(来自于老吴Discuz_X3.2_SC_UTF8.zip)

1. unzip Discuz_X3.2_SC_UTF8.zip##解压

2. cd readme/

less readme.txt ##查看安装过程

3. mv upload/ /usr/local/lnmp/nginx/html/bbs

4. cd /usr/local/lnmp/nginx/html/bbs

chmod 777 config/ data/ uc_client/ uc_server/ -R

5. cd /usr/local/lnmp/php/etc/

vim php.ini (修改如下)

1001 pdo_mysql.default_socket= /usr/local/lnmp/mysql/data/mysql.sock

1150 mysql.default_socket = /usr/local/lnmp/mysql/data/mysql.sock

1210 mysqli.default_socket = /usr/local/lnmp/mysql/data/mysql.sock

6.更改完配置文件刷新服务,查看端口

/etc/init.d/php-fpm reload

查看9000端口: netstat -antlp | grep :9000

tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      7491/php-fpm

7.chmod 755 /usr/local/lnmp/mysql/data/##此时网页才有权限都下面的内容

[root@server1 etc]# ll -d /usr/local/lnmp/mysql/data/

drwxr-xr-x 5 mysql root 4096 Jul 21 11:17 /usr/local/lnmp/mysql/data/

五、php功能模快扩展memchche模块的添加(从老吴那块下载mamcache的压缩包)

Memcache 是 danga.com 的一个开源项目,它是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的 Hash 表,能够用来存储各种格式的数据。可以类比于 MySQL 这样的服务,而 PHP 扩展的 Memcache 实际上是连接 Memcache 的方式。

1. 查看之前的环境状态

rpm -qa | grep php

yum remove -y `rpm -qa | grep php`##之前用yum安装的,如果不删除会覆盖后续操作

rpm -qa | grep php

rpm -qa | grep mysql

rpm -qa | grep httpd

php -m | grep memcached##此时显示的是没有/usr/bin/php

tar zxf memcache-2.2.5.tgz ##解压memc

cd /root/memcache-2.2.5

ls

phpize##php编译后拓展模块(在原先编译好的php里面增加memc模块)

[root@server1 memcache-2.2.5]# phpize

Configuring for:

PHP Api Version:         20131106

Zend Module Api No:      20131226

Zend Extension Api No:   220131226

2../configure##编译

make##使之生成可执行文件

make install

cd  /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/

ls

3.php -m | grep memcache##检测memcache模块是否拓展

按理来说,这个时候不会出现报错说没有/usr/bin/php这个目录,但是我做的时候出现了,重新启动该机,又成功了(可能就是运维重启大法吧)

cd /usr/local/lnmp/php/etc/

vim php.ini

************************

*extension = memcache.so##手写添加一行(将memcache的拓展模块写到ini文件中)

************************

/etc/init.d/php-fpm reload

Reload service php-fpm  done

php -m | grep memcache##这个时候是成功的

memcache

4.

/etc/init.d/memcached start

netstat -antlp | grep :11211 (显示的是11211端口被memcache监视)

tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      10327/memcached

tcp        0      0 :::11211                    :::*                        LISTEN      10327/memcached

5.   yum install -y telnet##用于测试

cd /root/memcache-2.2.5

cp example.php /usr/local/lnmp/nginx/html/

cp memcache.php /usr/local/lnmp/nginx/html/

cd /usr/local/lnmp/nginx/html/

vim memcache.php

****************************************************************************

**$VERSION='$Id: memcache.php,v 1.2 2008/09/11 19:21:06 mikl Exp $';

**

**define('ADMIN_USERNAME','admin');       // Admin Username

**define('ADMIN_PASSWORD','westos');      // Admin Password

**define('DATE_FORMAT','Y/m/d H:i:s');

**define('GRAPH_SIZE',200);

**define('MAX_ITEM_DUMP',50);

**

**$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // add more as an array

**//$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array

*****************************************************************************

六、OpenResty(类nginx)

通过汇聚各种设计精良的Nginx模块,从而Nginx有效的变成一个强大的通用Web应用平台。

1.get openresty_1.11.2.3.tar.gz(from 老吴)

首先关闭nginx(nginx -s stop)-------此应用的作用和nginx相同。会端口冲突

tar zxf openresty_1.11.2.3.tar.gz

2.编译(三步曲)

cd openresty_1.11.2.3/

./configure(默认安装路径:/usr/local/openresty)

gmake && gmake install

3. /usr/local/openresty/nginx/

vim nginx.conf

a.把第一行的注释去掉:user nginx;

b.更改每个worker的最大连接数为:65535(自己任意)

c.将http的server更改为本机的11211端口

d.增加keepalive 512;在server下面

4.查看端口是否打开:netstat -antlp | grep :11211

ab -c10 -n 5000 http://172.25.78.1/index.php

本文转自 yab109 51CTO博客,原文链接:http://blog.51cto.com/12768057/1950221,如需转载请自行联系原作者

lnmp平台的简单基础搭建相关推荐

  1. 视频教程-ZStack 带你0基础搭建私有云平台|ZCCT实战培训视频|-云平台

    ZStack 带你0基础搭建私有云平台|ZCCT实战培训视频| ZStack云计算解决方案专家,12年虚拟化与云计算相关工作经验,先后就职于IT系统集成商.国内知名软件上市公司以及云计算服务商,分别从 ...

  2. app后台运行会给服务器发信息吗_零基础搭建电视直播APP平台第一弹(支持安卓+电视盒子)...

    大家好 , 我是阿尘,欢迎来到:极梦小屋. 由于公众号改版,建议大家 星标置顶 本公众号,就可以第一时间接收到我们所推荐的精品资源啦! 为了大家更方便的交流和可以不错过每天的分享,所以特意建了一个交流 ...

  3. 【Workshshop No.3 | Kyligence X 青云QingCloud Workshop】零基础搭建云上大数据平台

    7月13日Kyligence 与青云QingCloud 联合举办的"零基础搭建云上大数据平台" Workshop诚邀您参加. Kyligence Cloud 是 Kyligence ...

  4. apk安装到电视上看不到图标_零基础搭建电视直播APP平台第二弹(修改APP)

    大家好 , 我是阿尘,欢迎来到:极梦小屋. 由于公众号改版,建议大家 星标置顶 本公众号,就可以第一时间接收到我们所推荐的精品资源啦! 为了大家更方便的交流和可以不错过每天的分享,所以特意建了一个交流 ...

  5. 搭建LNMP平台加NFS文件共享部署wordpress博客

    搭建LNMP平台部署wordpress博客 安装LNMP平台 安装nginx 安装PHP 搭建mysql数据 搭建NFS 安装LNMP平台 安装nginx 1)下载官方源 [root@Web ~]# ...

  6. 零基础搭建获利的外卖cps平台公众号

    1 .前言 很多小伙伴想做外卖CPS赚钱,那给大家做一起超详细的外卖CPS教程.话不多说,直接上货 为什么说能赚钱?例如你有一千个好友(四,五个微信群),如果每个人一天吃一顿外卖20块,你拿5% 10 ...

  7. 编写shell脚本实现自动化搭建安装LNMP平台全过程配置详解

    注意:如果是输入的是字母的或者是输入等于0时,则会出现以下两种情况!!! 查看端口: 进到Nginx根目录查看创建好的测试网页: 注意:关闭防火墙或者设置防火墙规则!!! 访问Nginx网页: 访问P ...

  8. LNMP平台搭建-Centos6.x

    LNMP平台搭建-Centos6.x 0.准备工作: 操作系统:Centos 6.x 关闭selinux和iptables 准备好网络yum源 #关闭iptables [root@localhost ...

  9. 零基础搭建iOS语音聊天室平台源码

    语音聊天室平台源码玩法兴起,众多社交泛娱乐平台已纷纷跟进. 语音聊天室平台源码的实现,主要由业务系统和移动/Web 客户端组成.其中业务系统需要实现房间管理.麦位管理.音频流和麦位关联关系管理等功能, ...

  10. 基础搭建Hadoop大数据处理-编程

    Hadoop的编程可以是在Linux环境或Winows环境中,在此以Windows环境为示例,以Eclipse工具为主(也可以用IDEA).网上也有很多开发的文章,在此也参考他们的内容只作简单的介绍和 ...

最新文章

  1. 用ASP.NET Web API技术开发HTTP接口(一)
  2. Linux中查看端口占用情况及结束相应进程
  3. Java并发:volatile内存可见性和指令重排
  4. Linux服务器---关闭selinux
  5. Python中的迭代遍历 for in
  6. 达摩院python教程视频_Python400集大型视频,无偿分享,从正确方向学习python,全套python入门完整视频...
  7. 视觉SLAM笔记(30) 特征点法
  8. Paging Structures in the Different Paging Modes
  9. C++析构函数与构造函数深拷贝浅拷贝(C++初学面向对象编程)
  10. MFC中窗口类、句柄的获取
  11. 代码实现利用inf文件安装硬件驱动
  12. 临时邮箱有什么用,推荐5个临时邮箱
  13. python爬虫模拟登录之图片验证码
  14. 【单片机基础】(四)单片机的引脚功能
  15. 李白:下终南山过斛斯山人宿置酒
  16. 北航计算机博士后,北京航空航天大学博士后待遇
  17. Echarts legend组件 图例默认选中状态
  18. 怎样调整计算机显示屏窗口,电脑显示器怎么调节参数
  19. 群英齐聚铸辉煌!孔明在线企鹅社区成功启动!
  20. u盘插电脑计算机卡了,电脑插入U盘就卡顿?3个原因你需要了解一下

热门文章

  1. 备考通信复试过程中的一些知识点总结梳理——码间干扰与衰落
  2. git error Missing tree 解决办法
  3. idea上maven引用jar出错(The POM for xxx is missing, no dependen)
  4. 使用abd工具查看安卓设备cpu处理器是32位或64位
  5. [算法]px4位置估计-inav (2017/10/26更新)
  6. 通信原理;利用MATLAB实现AMI/HDB3编译码
  7. GIS应用技巧之空间插值
  8. android checkboxpreference属性,Android CheckBoxPreference Default Value
  9. 电脑连接安卓手机摄像头的方法(含DroidCam安装包及简明使用教程)
  10. 中频逆变IGBT控制板 感应加热电源 中高频电阻焊电源逆变技术