分类:
2012-01-20 23:58:56
原文地址:生产服务器LNMP全自动安装脚本 作者:zhangjunlei
【51CTO独家特稿】此脚本在生产服务器上使用了一年多,可以在任何一台有网络的服务器上自动配置LNMP。
使用方法:将nginx_php代码保存一个文件,例如nginx_php。上传到服务器上执行。
此脚本在CentOS 5.6 i386/x86_64环境下通过。
bash nginx_php出现提示,如下列图所示。
根据大家自己的需要选择数字中任意一个,开始全自动安装LNMP的世界中去吧。
如果之前安装过nginx或者 php 的话,脚本会自动检测它们是不是安装过。例如
就会提示nginx或者php 已经安装过了。
nginx_php 各部分功能讲述
不管安装nginx php和mysql,如果脚本检测系统没有执行脚本的时候,将会自动执行初始化工作(包括yum 安装相关组件和下载所有的软件包以及配置nginx php服务)
nginx_php里的函数init 表示初始化,分几步来执行初始化:
1) yum 安装nginx php mysql相关组件
2) 在没有发现当前目录有packages的情况下, wget 下载软件包、配置文档、服务脚本到创建的packages下,之后删除软件列表。
3) 设置nginx和php-fpm服务
4) 创建eaccelerator 缓存目录/data0/cache,创建mysql数据目录/data0/mysql/data
5) 将mysql bin路径加入系统PATH中。
6) 创建myql组和mysql用户,www组和www用户
函数check_init表示,检测初始化工作有没有执行。
函数check_nginx表示,检测nginx有没有安装
函数check_php52表示,检测php有没有安装
函数check_mysql表示,检测mysql有没有安装
函数is_version表示,检测系统是64位的还是32位的,如果是64位的话,就安装libunwind库,因为google-perftools在64位系统中用到了libunwind库,在32位的是不需要安装libunwind库的。
函数ins_nginx表示安装nginx,其中有判断系统是否是64位,以便于顺利安装google-pertfools。
函数ins_mysqlclient表示安装mysql 客户端,这是让php 可以连接mysql server。
函数ins_mysqlserver表示安装mysql 服务端,并设置mysql安装目录为mysql组和mysql用户所有,已经配置mysql系统库。
函数ins_php52表示安装php,包括libiconv、autoconf、libmcrypt、mhash、mcrypt、suhosin等安装。并配置php.ini
函数ins_php52ext表示安装php的扩展,包括mecache、eacceletator、imagick等安装。
【51CTO.com独家特稿,转载请注明原文作者和出处。】
作者简介:崔晓辉(博客),网名coralzd,大众网系统管理员,精通网站系统架构、Unix技术。gtalk:coralzd@gmail.com 。