LNMP脚本说明:
使用的源码包文件
igbinary-1.1.1
libevent-2.0.16-stable
libiconv-1.13.1
libmcrypt-2.5.8
mcrypt-2.6.8.
memcache-2.2.6
mhash-0.9.9.9
mongodb-1.3.1
mysql-5.6.40
nginx-1.14.0
php-5.6.33
redis-2.2.8
Nginx安装路径 /usr/local/nginx
Php安装路径 /usr/local/php
Mysql安装路径 /usr/local/myslq
Php所需要编译的模块
Bcmat bz2 Core ctype curl date dom ereg fileinfo filter ftp gd gettext
Hash iconv igbinary json libxml mbstring mcrypt memcache mhash
Mongodb mysql mysqli openssl pcntl pcre PDO pdo_mysql Phar posix
Redis Reflection session shmop SimpleXML soap sockets SPL standard
Sysvsem tokenizer xml xmlreader xmlrpc xmlwriter xs zip zlib
脚本执行安装完毕后进行nginx配置文件的修改
LNMP-auto.sh脚本详情
#!/bin/bash
install_log=/var/log/install-error.log
install_log1=/var/log/install-correct.log
cd /usr/local/src 2>> $install_log
yum -y groupinstall "Development Tools" 2>> $install_log
yum -y install gcc gcc-c++ libtool libtool-libs autoconf 2>> $install_log
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel 2>> $install_log
yum -y install libxml2 libxml2-devel zlib zlib-devel gd gd-devel 2>> $install_log
yum -y install glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel 2>> $install_log
yum -y install ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel 2>> $install_log
yum -y install krb5 krb5-devel libidn libidn-devel bison 2>> $install_log
yum -y install libxslt libxslt-devel 2>> $install_log
yum -y install vim-enhanced.x86_64 2>> $install_log
yum -y install lrzsz 2>> $install_log
############################################################################################
#nginx 安装
yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel 2>> $install_log
useradd -r -s /sbin/nologin -u 80 www
cd /usr/local/src
tar -xf nginx-1.14.0.tar.gz
cd nginx-1.14.0
./configure --prefix=/usr/local/nginx \
--user=www \
--group=www \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_realip_module 2>> $install_log
make 2>> $install_log
make install 2>> $install_log
cp -a /usr/local/src/scripts/nginx.conf /usr/local/nginx/conf/ 2>> $install_log
#############################################################################################
#MySQL 安装
yum -y install ncurses ncurses-devel cmake bison
groupadd mysql 2>> $install_log
useradd -g mysql -r -s /sbin/nologin mysql 2>> $install_log
mkdir -p /data/mysql
cd /usr/local/src 2>> $install_log
tar -zxvf mysql-5.6.40.tar.gz 2>> $install_log
cd mysql-5.6.40/ 2>> $install_log
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_DEBUG=0 2>> $install_log
make 2>> $install_log
make install 2>> $install_log
cd /usr/local/mysql 2>> $install_log
chown -R root . 2>> $install_log
chown -R mysql data 2>> $install_log
chown -R mysql.mysql /data/mysql
cp support-files/my-default.cnf /etc/my.cnf 2>> $install_log
sed -i '18c basedir = /usr/local/mysql' /etc/my.cnf
sed -i '19c datadir = /data/mysql'
sed -i '22c socket = /tmp/mysql.sock' /etc/my.cnf
yum install -y perl-Module-Install.noarch 2>> $install_log
#usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql/ 2>> $install_log
#usr/local/mysql/bin/mysqld_safe -user=mysql & 2>> $install_log
#usr/local/mysql/bin/mysqladmin -uroot password 123 2>> $install_log
#####################################################################
# php安装
yum -y install openldap openldap-devel python-devel
cd /usr/local/src
tar -xf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local && make && make install
cd /usr/local/src
tar -xf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure && make && make install
cd libltdl/
./configure --enable-ltdl-install && make && make install
cd /usr/local/src
tar -xf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure && make && make install
cd /usr/local/src
tar -xf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
export LD_LIBRARY_PATH=/usr/local/lib
./configure && make && make install
cd /usr/local/src
tar -xf libevent-2.0.16-stable.tar.gz
cd libevent-2.0.16-stable
./configure && make && make install
cd /usr/local/src
#include ld.so.conf.d/*.conf
#/usr/local/mysql/lib
#/usr/local/lib
#/usr/local/lib64
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
cd /usr/local/src
tar -xf php-5.6.33.tar.gz
cd php-5.6.33
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-libevent-dir=/usr/local \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql \
--with-openssl \
--without-pdo-sqlite \
--without-sqlite \
--without-sqlite3 \
--with-gd \
--enable-gd-native-ttf \
--with-gettext \
--with-iconv-dir=/usr/local \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--with-xsl \
--disable-rpath \
--enable-safe-mode \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-mbstring \
--with-mcrypt \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-zip \
--with-bz2 \
--enable-ftp \
--disable-ipv6 \
--enable-zend-multibyte \
--enable-bcmath 2>> $install_log
make ZEND_EXTRA_LIBS='-liconv' -j 2 2>> $install_log
make install 2>> $install_log
cp -a /usr/local/src/scripts/php.ini /usr/local/php/etc/ 2>> $install_log
cp -a /usr/local/src/scripts/php-fpm.conf /usr/local/php/etc/ 2>> $install_log
rm -rf /usr/local/src/scripts/php.ini
rm -rf /usr/local/src/scripts/php-fpm.conf
#cp -a /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 2>> $install_log
#sed -i '25s/;/ /' /usr/local/php/etc/php-fpm.conf 2>> $install_log
###########################################################################################
#修改nginx.conf
#sed -i '44c \\t root /data/webroot;' /usr/local/nginx/conf/nginx.conf 2>> $install_log
#sed -i '45c \\t index index.php index.html index.htm;' /usr/local/nginx/conf/nginx.conf 2>> $install_log
#sed -i '65,71s/#/ /' /usr/local/nginx/conf/nginx.conf 2>> $install_log
#sed -i '66c \\t root /data/webroot;' /usr/local/nginx/conf/nginx.conf 2>> $install_log
#sed -i '69c \\t fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' /usr/local/nginx/conf/nginx.conf 2>> $install_log
###########################################################################################
mkdir /data/webroot
###########################################################################################
#添加动态扩展模块
yum -y install autoconf
cd /usr/local/src
tar -xf mongodb-1.3.1.tgz
cd mongodb-1.3.1
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install 1>> $install_log1
cd /usr/local/src
tar -xf igbinary-1.1.1.tgz
cd igbinary-1.1.1
/usr/local/php/bin/phpize
./configure CFLAGS="-O2 -g" --with-php-config=/usr/local/php/bin/php-config --enable-igbinary && make && make install
cd /usr/local/src
tar -xf redis-2.2.8.tgz
cd redis-2.2.8
/usr/local/php/bin/phpize
./configure --enable-redis-igbinary --with-php-config=/usr/local/php/bin/php-config && make && make install
cd /usr/local/src
tar -xf memcache-2.2.6.tgz
cd memcache-2.2.6
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
#echo "extension_dir=$(cat /var/log/install-correct.log | awk '{print $4}')" >> /usr/local/php/etc/php.ini
#echo "extension=mongodb.so" >> /usr/local/php/etc/php.ini
#echo "extension=redis.so" >> /usr/local/php/etc/php.ini
#echo "extension=memcache.so" >> /usr/local/php/etc/php.ini
#echo "extension=igbinary.so" >> /usr/local/php/etc/php.ini
############################################################################################
echo "/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf" >> /etc/rc.d/rc.local
echo "/usr/local/php/sbin/php-fpm" >> /etc/rc.d/rc.local
mv /usr/local/src/scripts/nginx /etc/init.d/
mv /usr/local/src/scripts/php-fpm /etc/init.d/
chmod 755 /etc/init.d/nginx
chmod 755 /etc/init.d/php-fpm
mkdir -p /data/cache/nginx/fastcgi_cache
mkdir -p /data/nginx/logs
############################################################################################
mkdir -p /data/nginx/etc-conf
#cp -a /etc/nginx/conf.d /data/nginx/etc-conf/conf.d/
mv /usr/local/nginx/conf/* /data/nginx/etc-conf/
mv /usr/local/nginx/conf /usr/local/nginx/other
ln -s /data/nginx/etc-conf /usr/local/nginx/conf