您的位置:首页 > 职场人生

脚本源码安装LNMP

2011-11-17 11:56 344 查看
下面分享一个源码安装LNMP的脚本:

适用于CentOS或者是Redhat 系统,32位或64位通用

本人在CentOS 5.7 x64 和 6.0 x64上测试通过,在redhat 5.5 x86上也测试通过,并且线上安装的时候,也是用的这个脚本

里面的软件基本上都是最新版本

PHP 5.3.8 nginx 1.0.10 mysql用的是percona server 5.5.16

脚本如下,附件可下载

#!/bin/bash

#written by xiaosu

#install mysql

mkdir -p /data/mysql

groupadd mysql

useradd -g mysql -s /sbin/nologin mysql

chown -R mysql:mysql /data/mysql

yum -y install gcc-c++ ncurses-devel openssl-devel bison gd-devel libxml2-devel bzip2-devel curl-devel zlib-devel pcre-devel autoconf

tar zxvf cmake-2.8.5.tar.gz

cd cmake-2.8.5

./configure

if [ $? != 0 ]

then exit

fi

make &&make install

cd ..

tar zxvf Percona-Server-5.5.16-rel22.0.tar.gz

CC=gcc \

#CHOST="x86_64-pc-linux-gnu" \

CFLAGS=" -O3 \

-fomit-frame-pointer \

-pipe \

-march=nocona \

-mfpmath=sse \

#-m128bit-long-double \

-mmmx \

-msse \

-msse2 \

-maccumulate-outgoing-args \

#-m64 \

-ftree-loop-linear \

-fprefetch-loop-arrays \

-freg-struct-return \

-fgcse-sm \

-fgcse-las \

-frename-registers \

-fforce-addr \

-fivopts \

-ftree-vectorize \

-ftracer \

-frename-registers \

-minline-all-stringops \

-fbranch-target-load-optimize2 \

-DBIG_JOINS=1 \

-DHAVE_DLOPEN=1 -O3" \

CXX=g++ \

CXXFLAGS="-DBIG_JOINS=1 -DHAVE_DLOPEN=1 -felide-constructors -fno-rtti -O3"

cd Percona-Server-5.5.16-rel22.0

cmake . \

-DCMAKE_BUILD_TYPE:STRING=Release \

-DSYSCONFDIR:PATH=/etc \

-DCMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql \

-DENABLED_PROFILING:BOOL=ON \

-DENABLE_DEBUG_SYNC:BOOL=OFF \

-DMYSQL_DATADIR:PATH=/data/mysql \

-DMYSQL_MAINTAINER_MODE:BOOL=OFF \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk,gb2312 \

-DWITH_BIG_TABLES:BOOL=ON \

-DWITH_FAST_MUTEXES:BOOL=ON \

-DENABLE-PROFILING:BOOL=ON \

-DWITH_SSL:STRING=bundled \

-DWITH_UNIT_TESTS:BOOL=OFF \

-DWITH_ZLIB:STRING=bundled \

-DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON \

-DMYSQL_USER=mysql \

-DWITH_PLUGINS=heap,csv,partition,innodb_plugin,myisam \

-DEFAULT_COLLATION=utf8_general_ci \

-DEFAULT_CHARSET=utf8 \

-DENABLED_ASSEMBLER:BOOL=ON \

if [ $? != 0 ]

then exit

fi

make && make install

yes|cp support-files/my-huge.cnf /etc/my.cnf

sed -i '/\[mysqld\]/a\datadir\t\t= \/data\/mysql' /etc/my.cnf

cd /usr/local/mysql

scripts/mysql_install_db --user=mysql

cp support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

sed -i 's/PATH=\$PATH:\$HOME\/bin/PATH=\$PATH:\$HOME\/bin:\/usr\/local\/mysql\/bin/' /root/.bash_profile

source /root/.bash_profile

echo "/usr/local/mysql/lib" >> /etc/ld.so.conf.d/mysql.conf

/sbin/ldconfig

cd -

cd ..

#install php with php-fpm

tar zxvf libmcrypt-2.5.8.tar.gz && cd libmcrypt-2.5.8/

./configure && make && make install

/sbin/ldconfig && cd libltdl/ && ./configure --enable-ltdl-install

make && make install && cd ../../

tar zxvf mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9/ && ./configure

make && make install && cd ../

tar zxvf mcrypt-2.6.8.tar.gz &&cd mcrypt-2.6.8/

LD_LIBRARY_PATH=/usr/local/lib ./configure

make && make install && cd ../

groupadd www

useradd -g www -s /sbin/nologin www

tar xjvf php-5.3.8.tar.bz2

cd php-5.3.8

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-mhash --enable-sockets --with-libxml-dir --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --without-pear --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-calendar --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --disable-ipv6 --disable-debug --with-pdo-mysql=mysqlnd --enable-bcmath --enable-soap

make

make install

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod 755 /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

cp php.ini-production /usr/local/php/etc/php.ini

cd ..

cd /usr/local/php/etc/

cp php-fpm.conf.default php-fpm.conf

sed -i 's/^;pid = run\/php-fpm.pid/pid = run\/php-fpm.pid/' php-fpm.conf

sed -i 's/^;pm.start_servers = 20/pm.start_servers = 20/' php-fpm.conf

sed -i 's/^;pm.min_spare_servers = 5/pm.min_spare_servers = 5/' php-fpm.conf

sed -i 's/^;pm.max_spare_servers = 35/pm.max_spare_servers = 35/' php-fpm.conf

sed -i 's/^;pm.max_requests = 500/pm.max_requests = 500/' php-fpm.conf

service php-fpm start

#install nginx

cd -

tar xzvf nginx-1.0.10.tar.gz

cd nginx-1.0.10

./configure --user=www --group=www --prefix=/usr/local/nginx

make

make install

cd ..

rm -rf nginx-1.0.10

第一步先装cmake ,然后再装percona ,再装php的一些依赖库,再装php,最后装nginx

使用的时候,将相应的源码包放到跟脚本同级的目录即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息