Centos上面用Shell脚本一键安装LNMP环境

由于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环境

1
2
3
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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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服务。

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

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

1
2
3
[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测试页。

Centos上面用Shell脚本一键安装LNMP环境
 总结: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)产生的代码进行优化。










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

上一篇:支持10种格式的 HTML 表格导出 jQuery 插件


下一篇:Linux Shell脚本之Atlassian confluence远程备份方法