https://sourceforge.net/projects/opensourcefile/files/

Nginx是一款高性能的HTTP和反向代理服务器。Nginx在反向代理,Rewrite规则,稳定性,静态文件处理,内存消耗等方面表现了很强的优势。因此公司线上和测试环境的WEB服务大多数采用的是LNMP环境,经常要进行LNMP环境的搭建,下面是用SHELL脚本写的一键安装LNMP环境的脚本。
1)系统环境介绍
Centos 5.8 64位 (已测试)
Nginx: nginx-1.4.1.tar.gz
PHP:   php-5.3.27.tar.gz 
Mysql: mysql-5.6.5-m8.tar.gz
2)一键安装LNMP环境

cd /root/sh
wget http://sourceforge.net/projects/opensourcefile/files/Install_Centos_LNMP_v.0.1.sh/download
Install_Centos_LNMP_v.0.1.sh

http://yunpan.cn/cZEfjNTe3Xw5q    访问密码 9b14

3)查看LNMP一键安装脚本的SHELL脚本

cat Install_Centos_LNMP_v.0.1.sh
#!/bin/bash
#author:sfzhang
mkdir -p /software
cd /software
wget http://sourceforge.net/projects/opensourcefile/files/Centos_LNMP_v.0.1.tar.gz/download
if [ $? -eq 0 ]
  then
  unzip Centos_LNMP_v.0.1.tar.gz
  rm -f Centos_LNMP_v.0.1.tar.gz
else
  echo "Downloading http://sourceforge.net/projects/opensourcefile/files/Centos_LNMP_v.0.1.tar.gz/download failured!"
  exit 1
fi
echo "Installing lnmp depend  packages... "
sh /software/install_packages.sh
if [ $? -eq 0 ]
  then
    echo "Lnmp depend packages install sucessfull!"
else
    echo "Lnmp depend packages install failured!"
   exit 1
fi
echo "Installing php library files..."
sh /software/install_php_lib.sh
if [ $? -eq 0 ]
  then
    echo "PHP library install sucessfull!"
else
    echo "PHP library install failured!"
   exit 1
fi
echo "Installing mysql,please waitting..."
sh /software/install_mysql_5.6.sh
if [ $? -eq 0 ]
  then
    echo "mysql install sucessfull!"
else
    echo "mysql install failured!"
   exit 1
fi
echo "Now Installing php,please waitting..."
sh /software/install_php_5.3.sh
if [ $? -eq 0 ]
  then
    echo "PHP install sucessfull!"
else
    echo "PHP install failured!"
   exit 1
fi
echo "Installing php extensions...."
sh /software/install_php_ext.sh
if [ $? -eq 0 ]
  then
    echo "PHP extensions install sucessfull!"
else
    echo "PHP extensions install failured!"
   exit 1
fi
echo "Installing nginx....."
sh /software/install_nginx.sh
if [ $? -eq 0 ]
  then
    echo "Nginx install sucessfull!"
else
    echo "Nginx install failured!"
   exit 1
fi
echo "optimizing the environment of the lnmp!"
sh /software/install_optimiz.sh
if [ $? -eq 0 ]
  then
    echo "optimizing the environment of the lnmp sucessfull!"
else
    echo "optimizing the environment of the lnmp failured!"
   exit 1
fi
echo "Congratulations to you,a key installation LNMP is successful!"

脚本说明:该脚本用(if...fi)语句共分为以下8个部分,方便脚本的可读性,并更具不同的需求方便用户自定义安装,比如需要安装Nginx,只需手工执行sh /software/install_nginx.sh这个脚本
即可,如果需要安装mysql,则执行 /software/install_mysql_5.6.sh 这个脚本。
   1.下载LNMP源码包及其各部分的安装脚本。
   2.yum安装LNMP所依赖的包。
   3.源码安装PHP所需要的库文件。
   4.源码安装mysql数据库。
   5.源码安装PHP。
   6.源码安装PHP扩展。
   7.源码安装NGINX。
   8.优化LNMP性能。
4)LNMP一键安装脚本测试
  1.LNMP一键安装完成后终端会出现Congratulations to you,a key installation LNMP is successfull字符。
  2.启动nginx和php-fpm服务。

[root@WEB25 sh]# /usr/local/nginx/sbin/nginx
[root@WEB25 sh]# /usr/local/php/sbin/php-fpm -D

3.查看nginx和php-fpm端口。

[root@WEB25 sh]## netstat -antlp |grep LISTEN
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      2002/php-fpm
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1991/nginx

4.查看php测试页。


 总结:LNM安装的PHP扩展说明:
   1)eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍,目前只支持PHP5.4的版本。
   2)PDO_MYSQL,PDO简介 PDO 是一个“数据库访问抽象层”,作用是统一各种数据库(MySQL、MSSQL、Oracle、DB2、PostgreSQL……)的访问接口,能轻松的在不同的数据库之间完成切换,使得数据库间的移植容易实现。
   3)ImageMagick,ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式(安装ImageMagick需要imagick支持)。

4)Zend Optimizer用优化代码的方法来提高php应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。

Shell脚本一键安装LNMP环境的更多相关文章

  1. Centos 6.4上面用Shell脚本一键安装vsftpd

    Centos 6.4上面用Shell脚本一键安装vsftpd install.sh #!/bin/bash if [ `uname -m` == "x86_64" ];then m ...

  2. Centos 6.4上面用Shell脚本一键安装mysql 5.6.15

    Centos 6.4上面用Shell脚本一键安装mysql 5.6.15  #!/bin/bash if [ `uname -m` == "x86_64" ];then machi ...

  3. 安装完Ubuntu后通过shell脚本一键安装软件

    安装完Ubuntu后通过shell脚本一键安装软件 以下代码中#是单行注释 :<<! ! 是多行注释. 运行的时候需要把多行注释去掉. 比如把以下代码保存为install.sh, 那么在终 ...

  4. Linux一键安装LNMP环境

    Linux一键安装LNMP环境 官方地址:https://lnmp.org/. 参考安装步骤:https://lnmp.org/install.html. 一键安装可以选择mysql版本.php版本, ...

  5. shell脚本一键安装mysql5.7.x

    使用脚本一键安装mysql5.7.x,初始化数据库.启动数据库---- mysql版本号:源代码mysql5.7.10 linux版本号:centos6.5 x86_64 #!/bin/bash GR ...

  6. shell脚本一键安装mysql5.7.x(免安装版)

    使用脚本一键安装mysql5.7.x,初始化数据库,启动数据库---- mysql版本:源码mysql5.7.10 linux版本:centos6.5 x86_64 #!/bin/bash GROUP ...

  7. shell脚本一键安装redis集群[最终版]

    直接上shell了. #!/bin/bash #---------------------------------------------------------------------------- ...

  8. shell脚本一键安装jdk

    直接上shell #!/bin/bash #offline jdk install ipath="/usr/local" installpath=$(cd `dirname $0` ...

  9. shell脚本一键安装redis集群

    简介: 明天再写,上脚本 #!/bin/bash #-------------------------------------------------------------------------- ...

随机推荐

  1. MySQl的group by 与排序

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtoAAAFLCAIAAABnXrwfAAAgAElEQVR4nO2dT29jvZHu+WHnW8xqdl ...

  2. 为什么是link-visited-hover-active

    前言 通常我们在设置链接的一些伪类(link,visited,hover,active)样式时,要让不同的状态显示正确的样式,我们需要按一定的顺序设置这些伪类的样式.这里我就按CSS2规范中推荐的顺序 ...

  3. yii2 联系我们发送邮件报错

    为什么会报错,因为国内的邮件服务商要求发送邮件的人和设置的smtp服务器账号要相同,因为联系我们的是用户,也就是发件人是用户,而不是我们配置的邮箱,所有出错. 这里我用了个取巧的办法,发件人改为自己, ...

  4. powershell -enc参数无法解码base64编码payload的解决方案

    powershell的-enc参数允许传入一个base64编码过的powershell脚本字符串作为参数来执行该powershell脚本,该方法常被用于绕过杀毒软件的主动防御机制. 今天下午在做一个后 ...

  5. APUE学习笔记——5.9Binary I/O 二进制读写

    概述:         二进制I/O,通常用来一次性读写结构化的数据块.(因为有时候我们要读写的数据中包含换行符或者Null字符,无法使用fgets或fputs,而使用getc和putc又需要花费太多 ...

  6. SpringMVC中的适配器

    适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作 适用场景: 1.已经存在的类的接口不符合我们的需 ...

  7. MPAndroidChart Wiki(译文)~Part 3

    13. 图例 默认情况下,所有的图表都支持图例并且会自动生成.给图表设置完数据之后,图例会被绘制出来.图例通常由多个条目组成,每个条目由标签形式/形状表示. 自动生成的图例包含的条目数取决于不同颜色的 ...

  8. 求二叉树的深度 python

    二叉树有深度和高度两个属性,一个节点的深度指的是从根节点到该节点路径的长度,根节点的深度为1:一个节点的高度指的是从该节点到叶子节点所有路径上包含节点个数的最大值.叶子节点的高度为1,往上节点的高度依 ...

  9. sql基础语法复习(二)-- 分组,连接的使用

    一.深入学习  group by group by ,分组,顾名思义,把数据按什么来分组,每一组都有什么特点. 1.我们先从最简单的开始: select count(*) from tb1 group ...

  10. UICollectionView 数据库元素分组 多种section分开显示

    第一遍 复杂方法 : 数据库查询一个表中userID 然后进行分类 中间去重 获得ID个数  放到section 中  显示 #pragma mark -  查询不同的ID 各数  - (void)c ...