献上脚本: #!/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
本文出自 “·`米笵6” 博客,请务必保留此出处http://mifan6.blog.51cto.com/9954601/1713311
原文:http://mifan6.blog.51cto.com/9954601/1713311