由于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测试页。
总结: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)产生的代码进行优化。