您的位置:首页 > 运维架构 > Shell

shell 之 lnmp(nginx-1.0.5+php-fpm5.3.6+mysql)安装脚本

2011-08-02 10:51 1006 查看
详细请参考 nginx_笔记分享_1_安装篇(nginx-1.0.5+php-fpm5.3.6+mysql)

#update 20120717

1 安装脚本以附件install.sh.txt 为准

2 需要调用mysql_server.sh 脚本

#update 20120718

1 安装脚本以附件install2.sh.txt 为准

脚本如下:

#!/bin/bash
# nstall nginx php (php-fpm) mysql
# by zm 20110731

#variables
dir=/usr/local

#pcre
if [ ! -e "$dir/pcre" ];then
#echo "not found"
tar zxf pcre*.tar.gz
cd pcre*/
./configure --prefix="$dir/pcre" && make && make install
cd ../
if [ ! -e "$dir/pcre" ];then
echo "error! can't install prce  please check ! Will now out of the scri    pt!"
exit 1
#
#rm -rf pcre*/
fi
else
echo "prce is already exists!"
fi

#openssl
if [ ! -e "$dir/openssl" ];then
#echo "not found"
tar zxf openssl*.tar.gz
mv openssl*/ "$dir/openssl"
else
echo "openssl is already exists!"
fi

#nginx
if ! grep 'nginx' /etc/passwd;then
useradd nginx -s /sbin/nologin
fi
#
if [ ! -e "$dir/nginx" ];then
tar zxf nginx*.tar.gz
cd nginx*/
./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.12/  --with-openssl=/usr/local/openssl/ --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/  --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --user=nginx  --group=nginx
make && make install
cd ../
#
if [ ! -e "$dir/nginx" ];then
echo "error! can't install nginx  please check ! Will now out of the script!"
exit 1
else
rm -rf nginx*/
fi
#
else
echo "nginx uesr and nginx group is already exists!"
echo "nginx is already exists!"
fi
#
if ! grep '/usr/local/nginx/sbin' /etc/profile>/dev/null;then
sed -i '$,/export/ a\export PATH=$PATH:/usr/local/nginx/sbin' /etc/profile
source /etc/profile
mkdir -p /var/tmp/nginx/client/
fi
#

#mysql
if [ ! -e "$dir/php" ];then
./mysql_server.sh
#cd ../
sleep 1
else
echo "mysql_server Already exists"
fi

#freetype
if [ ! -d "$dir/freetype" ];then
tar xzf freetype*.tar.gz
cd  freetype*/
./configure --prefix=/usr/local/freetype
make && make install && make clean
cd ../
#
if [ ! -d /usr/local/freetype ]
then
echo "error! can't install freetype  please check ! Will now out of the script!"
exit 1
else
rm -rf freetype*/
fi
#
else
echo "freetype Already exists!"
fi

#curl
if [ ! -d "$dir/curl" ];then
tar xzf curl*.gz
cd  curl*/
./configure --prefix=/usr/local/curl
make && make install
cd ../
#
if [ ! -d "$dir/curl" ];then
echo "error! can't install curl  please check ! Will now out of the script!"
exit 1
else
rm -rf curl*/
fi
#
echo "curl ok!"
else
echo "curl Already exists!"
fi

#libiconv
if [ ! -d "$dir/libiconv" ];then
tar xzf libiconv*.gz
cd  libiconv*/
./configure --prefix=/usr/local/libiconv
make && make install
cd ../
#
if [ ! -d "$dir/libiconv" ];then
echo "error! can't install iconv  please check ! Will now out of the script!"
exit 1
else
rm -rf libiconv*/
echo " /usr/local/libiconv/lib" >> /etc/ld.so.conf
ldconfig
fi
#
echo "libiconv ok!"
else
echo "libiconv Already exists!"
fi

#libpng
if [ ! -d "$dir/libpng" ];then
tar xzf libpng*.gz
cd  libpng*/
./configure --prefix=/usr/local/libpng
#make && make install && make clean
make && make install
#./configure && make && make install
cd ../
#
if [ ! -d "$dir/libpng" ];then
echo "error! can't install png  please check ! Will now out of the script!"
exit 1
else
echo "libpng ok!"
rm -rf libpng*/
fi
#
else
echo "libpng Already exists!"
fi

#jpeg
if [ ! -d "$dir/libjpeg" ];then
tar xzf jpeg*.gz
cd  jpeg*/
./configure --prefix=/usr/local/libjpeg
sed -i 's/CFLAGS\= -O2  -I\$(srcdir)/CFLAGS\= -O3 -I\$(srcdir) -fPIC/g' Makefile
mkdir -p /usr/local/libjpeg/include
mkdir -p /usr/local/libjpeg/lib
mkdir -p /usr/local/libjpeg/bin
mkdir -p /usr/local/libjpeg/man/man1
make && make install-lib && make install
cd ../
#
if [ ! -d "$dir/libjpeg" ];then
echo "error! can't install jpeg  please check ! Will now out of the script!"
exit 1
else
echo "libjpeg ok!"
rm -rf jpeg*/
fi
#
else
echo "libjpeg Already exists!"
fi

#php5.3
if [ ! -e "$dir/php" ];then
tar zxf php*.tar.gz
cd php*/
./configure --prefix=/usr/local/php  --with-config-file-path=/etc/ \
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-curl=/usr/local/curl --with-libxml-dir=/usr/include/libxml2 --with-gd \
--with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --with-bz2 --with-freetype-dir=/usr/local/freetype --with-iconv-dir=/usr/local/libiconv \
--with-zlib-dir --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-exif --enable-dba --disable-ipv6 --disable-cgi \
--enable-bcmath --enable-sockets --enable-mbstring --enable-fpm
make && make install
cd ../
if [ ! -e "$dir/php" ];then
echo "error! can't install php  please check ! Will now out of the scri    pt!"
exit 1
else
! grep 'php' /etc/profile && echo "export PATH=\$PATH:/usr/local/php/bin" >> /etc/profile && source /etc/profile
! grep 'php-fpm' /etc/profile && echo "export PATH=\$PATH:/usr/local/php/sbin" >> /etc/profile && source /etc/profile
cp php*/php.ini-development /etc/php.ini
cp php*/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
sed -i 's/;pm.start_servers = 20/pm.start_servers = 20/' /usr/local/php/etc/php-fpm.conf.default
sed -i 's/;pm.min_spare_servers = 5/pm.min_spare_servers = 5/' /usr/local/php/etc/php-fpm.conf.default
sed -i 's/;pm.max_spare_servers = 35/pm.max_spare_servers = 35/' /usr/local/php/etc/php-fpm.conf.default
sed -i 's/;pm.max_requests = 500/pm.max_requests = 500/' /usr/local/php/etc/php-fpm.conf.default
cp "$dir/php/etc/php-fpm.conf.default" "$dir/php/etc/php-fpm.conf"
#rm -rf php*/
fi
else
echo "php is already exists!"
fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 数据库 nginx