install--LNMP_v2.sh 配置信息模版

献上脚本:

#!/bin/sh
##lnmp by liycwing################
#version:V2

htmldir=(www bbs blog)
datadir=/data/www

function nginx(){
yum install pcre pcre-devel openssl openssl-devel -y
cd /application/tools/
wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar xf nginx-1.6.2.tar.gz
cd nginx-1.6.2
useradd nginx -s /sbin/nologin -M
./configure --user=nginx --group=nginx --prefix=/application/nginx1.6.2 --with-http_stub_status_module --with-http_ssl_module
make &&make install
sleep 2
ln -s /application/nginx1.6.2/ /application/nginx
/application/nginx/sbin/nginx
echo 'nginx is ok'
sleep 20

}

function html(){
/application/nginx/sbin/nginx -s stop
mkdir ${datadir}/{www,blog,bbs} -p
mkdir /applogs/nginxlog/ -p
for name in ${htmldir[@]};do echo "this is test $name index.html `hostname`">${datadir}/$name/index.html;done
remote_addr='$remote_addr'
remote_user='$remote_user'
time_local='$time_local'
request='$request'
status='$status'
body_bytes_sent='$body_bytes_sent'
http_referer='$http_referer'
http_user_agent='$http_user_agent'
http_x_forwarded_for='$http_x_forwarded_for'
a='$1'
cat >/application/nginx/conf/nginx.conf <<liycwing
user  nginx;
pid        /applogs/nginxlog/nginx.pid;
worker_processes  1;
error_log  /applogs/nginxlog/error.log error;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    server {
        listen       80;
        server_name  liycwingjunjie.org;
        rewrite ^/(.*) http://www.liycwingjunjie.org/${a} permanent;
    }


#    server {
#        listen       80;
#        server_name  status.liycwingjunjie.org;
#        stub_status on;
#        access_log  off;
#    }

        include extra/${htmldir[0]}.conf;
        include extra/${htmldir[1]}.conf;
        include extra/${htmldir[2]}.conf;
    
}
liycwing
mkdir /application/nginx/conf/extra -p
for name in ${htmldir[@]}
do
cat >/application/nginx/conf/extra/${name}.conf <<liycwing
    server {
        listen       80;
        server_name  ${name}.liycwingjunjie.org;
            root   ${datadir}/${name};
            index  index.php index.html index.htm;
            access_log /applogs/nginxlog/${name}_access.log;
        location ~ .*\.(php|php5)?$ 
        {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
liycwing

done

echo 'html is ok'
sleep 20
}

function mysql(){
yum install ncurses-devel libaio-devel -y
cd /application/tools
tar zxf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure
gmake
gmake install
sleep 2
cd ..
groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql
cd /application/tools/
tar zxf mysql-5.5.32.tar.gz
cd /application/tools/mysql-5.5.32

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
-DMYSQL_DATADIR=/application/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0


make && make install
sleep 2
ln -s /application/mysql-5.5.32/ /application/mysql
echo 'mysql is ok'
sleep 20
}

#####wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
#####
#####
####yum install mhash mhash-devel libmcrypt-devel mcrypt -y
####
####4、其他需要mysql相关包场景的PHP对应编译参数
####--enable-mysqlnd \
####--with-pdo-mysql=mysqlnd \
####--with-mysqli=mysqlnd \
####
####


function php(){
yum install zlib libxml2 libjpeg freetype libpng gd curl zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel openssl-devel libxslt-devel -y
if [ ! $? -eq 0 ]
then
echo "yum install php packbage error"
exit 1
fi

cd /application/tools
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar xf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make &&make install
sleep 2

cd /application/tools
tar xf libmcrypt-2.5.8.tar.gz 
cd libmcrypt-2.5.8
./configure
make
make install
sleep 2
/sbin/ldconfig 
cd libltdl/
./configure --enable-ltdl-install
make
make install
sleep 2

cd /application/tools
tar xf mhash-0.9.9.9.tar.gz 
cd mhash-0.9.9.9
./configure
make
make install
sleep 2
cd ../
rm -f /usr/lib64/libcrypt.*
rm -f /usr/lib64/libmhash*
ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la
ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so
ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a
ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la
ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so
ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2
ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

cd /application/tools
tar xf mcrypt-2.6.8.tar.gz 
cd mcrypt-2.6.8
/sbin/ldconfig 
./configure LD_LIBRARY_PATH=/usr/local/lib
make
make install
sleep 2

####--with-mysql=mysqlnd
####方法1
####ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/
####touch ext/phar/phar.phar
####方法2
####libmysqlclient的错误,echo "/application/mysql/lib">>/etc/ld.so.conf
####ldconfig
####
####
####yum install openssl-devel -y

cd /application/tools
tar xf php-5.3.27.tar.gz
cd php-5.3.27
./configure \
--prefix=/application/php5.3.27 \
--with-mysql=/application/mysql \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-safe-mode \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-zend-multibyte \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp

ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
make
make install
sleep 2
ln -s /application/php5.3.27/ /application/php
/bin/cp /application/tools/php-5.3.27/php.ini-production /application/php/lib/php.ini
mkdir /applogs/phplog/ -p
/bin/mv /application/scripts/php-fpm.conf.V1 /application/php/etc/php-fpm.conf
echo 'php is ok'
sleep 20
}
###########################################################################
function lnmpstart(){
cat >>/etc/rc.local <<liycwing
#nginx+php-fpm by liycwing at 2014
#/etc/init.d/mysqld start
/application/php/sbin/php-fpm
/application/nginx/sbin/nginx
liycwing
}
###########################################################################
function start(){
/application/php/sbin/php-fpm
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx

}
###########################################################################
function phptest1(){
cat > /data/www/bbs/index.php <<liycwing
<?php
        $link_id=mysql_connect('localhost','root','liycwing123') or mysql_error();
        if($link_id){
        echo "mysql successful by liycwing!";
        }else{
        echo mysql_error();
        }
?>
liycwing
}
###########################################################################
function phptest2(){
cat > /data/www/bbs/index.php <<liycwing
<?php
       phpinfo();
?>
liycwing
}
nginx
html


你可能感兴趣的:(Blog,version,信息,LNMP)