开发者社区> 余二五> 正文

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测试页。

151328155.jpg
 总结: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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
自动统计出差费用-shell 脚本自动统计
计算车费,餐补,住宿补。并且转换金额大写
9 0
新建Oracle 数据库的Shell+SQL脚本
不用图形界面,也不用DBCA的静默方式,下面是用Shell+SQL创建Oracle数据库的脚本。
11 0
shell脚本写出监控内存,磁盘使用率的脚本,超过阈值,用“wall”命令发警报
shell脚本写出监控内存,磁盘使用率的脚本,超过阈值,用“wall”命令发警报
10 0
Shell-使用&和wait让你的脚本并行执行
Shell-使用&和wait让你的脚本并行执行
13 0
Shell-/bin/bash和/bin/sh解释器的误用引起的脚本语法错误
Shell-/bin/bash和/bin/sh解释器的误用引起的脚本语法错误
23 0
在 Shell 脚本中跟踪调试命令的执行
在 Shell 脚本中跟踪调试命令的执行
13 0
在 Shell 脚本中执行语法检查调试模式
在 Shell 脚本中执行语法检查调试模式
12 0
Linux 中启用 Shell 脚本的调试模式
Linux 中启用 Shell 脚本的调试模式
12 0
【Shell篇】循环查找某个目录的脚本文件并打印运行
这段代码是/build/envsetup.sh文件最后一段代码,搜索了源代码中所有的vendorsetup.sh脚本。
22 0
解决window移植到linux shell执行Python脚本提示找不到模块问题:
调试python工程时代码正常执行,但远程执行时,导入模块时提示找不到模块,即使模块就在当前工程目录下也不行
22 0
+关注
余二五
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
相关镜像