自动编译搭建lnmp
来源:互联网 发布:安卓社交软件 编辑:程序博客网 时间:2024/05/21 17:05
#!/bin/bash
#by liuweigan 2016/8/22
#检查当前用户是否root用户
if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, please use root!"
exit 1
fi
Color_Text()
{
echo -e " \e[0;$2m$1\e[0m"
}
Echo_Red()
{
echo $(Color_Text "$1" "31")
}
Echo_Green()
{
echo $(Color_Text "$1" "32")
}
#选择环境是否安装mysql
Stack=$1
case "${Stack}" in
lnmp)
InstallMysql=YES
;;
web)
InstallMysql=NO
;;
*)
Echo_Red "Usage: $0 {lnmp|web}"
Echo_Green "WARNING:Select web will not install mysql on this server!"
exit
;;
esac
#基础环境安装
yum -y install wget gcc gcc-c++ make autoconf automake libtool
#安装包下载
mkdir -p /data/soft
rm /data/soft/* -rf
cd /data/soft
wget http://exim.mirror.fr/pcre/pcre-8.34.tar.gz || { echo pcre wget error;exit; }
wget http://zlib.net/zlib-1.2.8.tar.gz || { echo zlib wget error;exit; }
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz || { echo openssl wget error;exit; }
wget http://nginx.org/download/nginx-1.8.0.tar.gz || { echo nginx wget error;exit; }
wget http://cn2.php.net/distributions/php-5.4.31.tar.gz || { echo php wget error;exit; }
wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz || { echo libmcrypt wget error;exit; }
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz || { echo libiconv wget error;exit; }
wget http://pecl.php.net/get/mongo-1.6.11.tgz || { echo mongo wget error;exit; }
wget http://pecl.php.net/get/memcache-3.0.6.tgz || { echo memcache wget error;exit; }
wget https://github.com/phpredis/phpredis/archive/2.2.4.tar.gz || { echo phpredis wget error;exit; }
wget http://pecl.php.net/get/imagick-3.1.0RC1.tgz || { echo imagick wget error;exit; }
#lnmp环境下mysql和web一个服务器
if [ $InstallMysql = YES ];then
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz || { echo cmake wget error;exit; }
wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.50.tar.gz || { echo mysql wget error;exit; }
fi
#ImageMagick下载的是最新版本7,无法编译通过,所以使用旧版本6,这里使用6.9.5-8
wget http://www.imagemagick.org/download/ImageMagick-6.9.5-8.tar.gz || { echo ImageMagick wget error;exit; }
#解压缩
tarfiles=`ls -1p | grep -v '/'`
for tarfile in ${tarfiles}
do
echo tar -zxvf ${tarfile}
tar -zxvf ${tarfile}
done
#安装pcre
echo =======================================
echo "start install pcre。。。。。。。。。。"
echo =======================================
cd /data/soft/pcre-8.34
./configure --prefix=/usr/local/pcre
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:pcre install ok!"
echo =======================================
else
echo "error:pcre install fail!"
exit
fi
#安装zlib
echo =======================================
echo "start install zlib。。。。。。。。。。"
echo =======================================
cd /data/soft/zlib-1.2.8
./configure --prefix=/usr/local/zlib
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:zlib install ok!"
echo =======================================
else
echo "error:zlib install fail!"
exit
fi
#安装openssl
echo =======================================
echo "start install openssl。。。。。。。。。。"
echo =======================================
cd /data/soft/openssl-1.0.1c
./config --prefix=/usr/local/openssl
make &&make install
if [ $? = 0 ];then
echo =======================================
echo "success:openssl install ok!"
echo =======================================
else
echo "error:openssl install fail!"
exit
fi
#安装nginx
echo =======================================
echo "start install nginx。。。。。。。。。。"
echo =======================================
mkdir -p /usr/local/webserver
cd /data/soft/nginx-1.8.0
./configure --prefix=/usr/local/webserver/nginx --user=nginx --group=nginx --sbin-path=/usr/local/webserver/nginx/nginx --conf-path=/usr/local/webserver/nginx/nginx.conf --pid-path=/usr/local/webserver/nginx/nginx.pid --with-http_ssl_module --with-pcre=/data/soft/pcre-8.34 --with-zlib=/data/soft/zlib-1.2.8 --with-openssl=/data/soft/openssl-1.0.1c
make &&make install
if [ $? = 0 ];then
echo =======================================
echo "success:nginx install ok!"
echo =======================================
else
echo "error:nginx install fail!"
exit
fi
#nginx用户和用户组
cat /etc/group|grep -iq nginx && echo 'group nginx already exists!' || groupadd nginx
cat /etc/passwd|grep -iq nginx && echo 'user nginx already exists!' || useradd nginx -g nginx -M -s /sbin/nologin
#安装mysql
#基础环境安装
if [ $InstallMysql = YES ];then
echo =======================================
echo "start install mysql。。。。。。。。。。"
echo =======================================
yum -y install wget gcc gcc-c++ make ncurses-devel
cd /data/soft/cmake-2.8.10.2
./configure
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:cmake install ok!"
echo =======================================
else
echo "error:cmake install fail!"
exit
fi
#mysql用户和用户组
cat /etc/group|grep -iq mysql && echo 'group mysql already exists!' || groupadd mysql
cat /etc/passwd|grep -iq mysql && echo 'user mysql already exists!' || useradd -M -g mysql -s /sbin/nologin mysql
#mysql数据目录
mkdir -p /wwwroot/database/mysql/data
chown -R mysql.mysql /wwwroot/database/mysql/data
cd /data/soft/mysql-5.5.50
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/wwwroot/database/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:mysql install ok!"
echo =======================================
else
echo "error:mysql install fail!"
exit
fi
fi
#php安装
#基础环境安装
yum -y install bzip2 bzip2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype-devel libxml2 libxml2-devel openssl openssl-devel
#libiconv
cd /data/soft/libiconv-1.14
./configure --prefix=/usr/local/libiconv
if [ $? = 0 ];then
echo =======================================
echo "success:libiconv install ok!"
echo =======================================
else
echo "error:libiconv install fail!"
exit
fi
make && make install
#libmcrypt
cd /data/soft/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:libmcrypt install ok!"
echo =======================================
else
echo "error:libmcrypt install fail!"
exit
fi
#php
echo =======================================
echo "start install php。。。。。。。。。。"
echo =======================================
cd /data/soft/php-5.4.31
if [ $InstallMysql = YES ];then
./configure --prefix=/usr/local/webserver/php --with-libxml-dir=/usr/include/libxml2 --with-config-file-path=/usr/local/webserver/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-pear --with-curl --with-gd --with-jpeg-dir=/usr/lib64/ --with-png-dir=/usr/lib/ --with-freetype-dir=/usr/lib64/ --with-iconv=/usr/local/libiconv/ --with-mcrypt=/usr/local/libmcrypt/ --with-zlib --with-zlib-dir=/usr/local/zlib --with-bz2 --with-xmlrpc --with-openssl --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --disable-debug --enable-zip --enable-sockets --enable-soap --enable-mbstring --enable-xml --enable-ftp --enable-exif --enable-wddx --enable-bcmath --enable-shmop --enable-dba --enable-sysvsem --enable-sysvshm --enable-sysvmsg
else
./configure --prefix=/usr/local/webserver/php --with-libxml-dir=/usr/include/libxml2 --with-config-file-path=/usr/local/webserver/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-pear --with-curl --with-gd --with-jpeg-dir=/usr/lib64/ --with-png-dir=/usr/lib/ --with-freetype-dir=/usr/lib64/ --with-iconv=/usr/local/libiconv/ --with-mcrypt=/usr/local/libmcrypt/ --with-zlib --with-zlib-dir=/usr/local/zlib --with-bz2 --with-xmlrpc --with-openssl --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --disable-debug --enable-zip --enable-sockets --enable-soap --enable-mbstring --enable-xml --enable-ftp --enable-exif --enable-wddx --enable-bcmath --enable-shmop --enable-dba --enable-sysvsem --enable-sysvshm --enable-sysvmsg
fi
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:php install ok!"
echo =======================================
else
echo "error:php install fail!"
exit
fi
cp php.ini-development /usr/local/webserver/php/etc/php.ini
cd /usr/local/webserver/php/etc
cp php-fpm.conf.default php-fpm.conf
#php相关扩展安装
#mongoDB扩展
echo =======================================
echo "start install mongo。。。。。。。。。。"
echo =======================================
cd /data/soft/mongo-1.6.11
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:mongo install ok!"
echo =======================================
else
echo "error:mongo install fail!"
exit
fi
#phpredis扩展
echo =======================================
echo "start install phpredis。。。。。。。。。。"
echo =======================================
cd /data/soft/phpredis-2.2.4
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:phpredis install ok!"
echo =======================================
else
echo "error:phpredis install fail!"
exit
fi
#memcache
echo =======================================
echo "start install memcache。。。。。。。。。。"
echo =======================================
cd /data/soft/memcache-3.0.6
/usr/local/webserver/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/webserver/php/bin/php-config --with-zlib-dir
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:memcache install ok!"
echo =======================================
else
echo "error:memcache install fail!"
exit
fi
#imagick扩展
#此扩展需依赖ImageMagick库,先安装ImageMagick。
echo =======================================
echo "start install ImageMagick。。。。。。。。。。"
echo =======================================
cd /data/soft/ImageMagick-6.9.5-8
./configure --enable-shared --without-perl
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:ImageMagick install ok!"
echo =======================================
else
echo "error:ImageMagick install fail!"
exit
fi
#因为新版本的ImageMagick编译出来的目录为ImageMagick-6,必须为ImageMagick才行,否则会出现错误。
ln -s /usr/local/include/ImageMagick-6 /usr/local/include/ImageMagick
cd /data/soft/imagick-3.1.0RC1
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-imagick=/usr/local/include/ImageMagick
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:imagick install ok!"
echo =======================================
else
echo "error:imagick install fail!"
exit
fi
echo "***************************************"
echo "lnmp all install complete。。。。。。。"
echo "***************************************"
#仔细查看如下注释的部分,手动设置相关内容。
#防火墙放开80和3306端口。
#vim /etc/sysconfig/iptables
:<<!
添加如下规则,并保存:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
!
#service iptables restart
#设置nginx
#vim /etc/init.d/nginx
:<<!
#!/bin/bash
#
#chkconfig: - 85 15
#description:nginxisaWorldWideWebserver.Itisusedtoserve
# processname: nginx
nginx=/usr/local/webserver/nginx/nginx
nginx_config=/usr/local/webserver/nginx/nginx.conf
nginx_pid=/usr/local/webserver/nginx/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginx ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginx -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginx
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx $nginx_pid
}
# reload nginx service functions.
reload() {
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
!
#:wq保存此文件。
:<<!
chmod +x /etc/init.d/nginx
chkconfig --add nginx
chkconfig --level 345 nginx on
service nginx start
!
#查看nginx是否正常启动。
#浏览器访问http://服务器IP,查看是否显示正常。
#mysql设置
:<<!
cd /usr/local/mysql
cp -f support-files/my-huge.cnf /etc/my.cnf
chown -R mysql.mysql /wwwroot/database/mysql/data/
!
#vim /etc/my.cnf
:<<!
socket = /tmp/mysqld.sock
key_buffer_size = 384M
max_allowed_packet = 16M
innodb_data_home_dir = /data/mysql/data 去掉#
innodb_data_file_path = ibdata1:2000M;ibdata2:10M;autoextend 去掉#
innodb_log_group_home_dir = /data/mysql/data 去掉#
innodb_buffer_pool_size = 384M 去掉#
innodb_additional_mem_pool_size = 20M 去掉#
innodb_log_file_size = 100M 去掉#
innodb_log_buffer_size = 8M 去掉#
innodb_flush_log_at_trx_commit = 1 去掉#
innodb_lock_wait_timeout = 50 去掉#
!
#:wq保存文件。
:<<!
scripts/mysql_install_db --datadir=/wwwroot/database/mysql/data/ --user=mysql
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql off
chkconfig --level 345 mysql on
service mysql start
!
#查看mysql是否正常启动。
#设置mysql登录。
:<<!
默认mysql的root是没有密码的,可直接登录。如下:
/usr/local/mysql/bin/mysql -u root
mysql> use mysql;
添加root用户并所有服务器可登录:
mysql> grant all privileges on *.* to root@'%' identified by "meiliwang2016";
删除所有密码为空的的mysql用户。
mysql> delete from user where password='';
mysql> flush privileges;
mysql> quit
测试下:
[root@mysql mysql]#/usr/local/mysql/bin/mysql -u root -p
输入密码meiliwang2016是否可正常登录mysql。
!
#php设置
#cd /usr/local/webserver/php/etc
#vim php-fpm.conf
#pid = run/php-fpm.pid //此行在后面做开机启动时需要,否则service php-fpm restart找不到pid文件。
#:wq保存文件。
#vim php.ini
#时区修改为date.timezone =PRC
#:wq保存文件。
#启动php-fpm
#/usr/local/webserver/php/sbin/php-fpm
#检查php-fpm是否正常启动。
#修改nginx配置解析php
#vim /usr/local/webserver/nginx/nginx.conf
:<<!
location / {
root html;
index index.html index.htm index.php;
}#此处添加index.php
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}#添加此段配置。
!
#:wq保存文件。
#重启nginx
#service nginx restart
#测试php页面是否正常
#cd /usr/local/webserver/nginx/html/
:<<!
vim test.php
<?php
phpinfo();
?>
!
#:wq保存文件。
#浏览器访问http://服务器IP/test.php,查看是否显示正常。
#php-fpm开机启动
:<<!
cp /data/soft/php-5.4.31/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig --level 345 php-fpm on
!
#测试php-fpm能否正常重启。
#service php-fpm restart
#相关扩展设置
#查看是否在如下路径存在相应的so文件。
#/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/
#文件最后添加扩展。
#vim /usr/local/webserver/php/etc/php.ini
:<<!
[memcache]
extension=memcache.so
[redis]
extension=redis.so
[imagick]
extension=imagick.so
[mongo]
extension=mongo.so
!
#:wq保存文件。
#重启php-fpm。
#service php-fpm restart
#通过访问http://服务器IP/test.php查看相应的扩展是否enable。
#by liuweigan 2016/8/22
#检查当前用户是否root用户
if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, please use root!"
exit 1
fi
Color_Text()
{
echo -e " \e[0;$2m$1\e[0m"
}
Echo_Red()
{
echo $(Color_Text "$1" "31")
}
Echo_Green()
{
echo $(Color_Text "$1" "32")
}
#选择环境是否安装mysql
Stack=$1
case "${Stack}" in
lnmp)
InstallMysql=YES
;;
web)
InstallMysql=NO
;;
*)
Echo_Red "Usage: $0 {lnmp|web}"
Echo_Green "WARNING:Select web will not install mysql on this server!"
exit
;;
esac
#基础环境安装
yum -y install wget gcc gcc-c++ make autoconf automake libtool
#安装包下载
mkdir -p /data/soft
rm /data/soft/* -rf
cd /data/soft
wget http://exim.mirror.fr/pcre/pcre-8.34.tar.gz || { echo pcre wget error;exit; }
wget http://zlib.net/zlib-1.2.8.tar.gz || { echo zlib wget error;exit; }
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz || { echo openssl wget error;exit; }
wget http://nginx.org/download/nginx-1.8.0.tar.gz || { echo nginx wget error;exit; }
wget http://cn2.php.net/distributions/php-5.4.31.tar.gz || { echo php wget error;exit; }
wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz || { echo libmcrypt wget error;exit; }
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz || { echo libiconv wget error;exit; }
wget http://pecl.php.net/get/mongo-1.6.11.tgz || { echo mongo wget error;exit; }
wget http://pecl.php.net/get/memcache-3.0.6.tgz || { echo memcache wget error;exit; }
wget https://github.com/phpredis/phpredis/archive/2.2.4.tar.gz || { echo phpredis wget error;exit; }
wget http://pecl.php.net/get/imagick-3.1.0RC1.tgz || { echo imagick wget error;exit; }
#lnmp环境下mysql和web一个服务器
if [ $InstallMysql = YES ];then
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz || { echo cmake wget error;exit; }
wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.50.tar.gz || { echo mysql wget error;exit; }
fi
#ImageMagick下载的是最新版本7,无法编译通过,所以使用旧版本6,这里使用6.9.5-8
wget http://www.imagemagick.org/download/ImageMagick-6.9.5-8.tar.gz || { echo ImageMagick wget error;exit; }
#解压缩
tarfiles=`ls -1p | grep -v '/'`
for tarfile in ${tarfiles}
do
echo tar -zxvf ${tarfile}
tar -zxvf ${tarfile}
done
#安装pcre
echo =======================================
echo "start install pcre。。。。。。。。。。"
echo =======================================
cd /data/soft/pcre-8.34
./configure --prefix=/usr/local/pcre
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:pcre install ok!"
echo =======================================
else
echo "error:pcre install fail!"
exit
fi
#安装zlib
echo =======================================
echo "start install zlib。。。。。。。。。。"
echo =======================================
cd /data/soft/zlib-1.2.8
./configure --prefix=/usr/local/zlib
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:zlib install ok!"
echo =======================================
else
echo "error:zlib install fail!"
exit
fi
#安装openssl
echo =======================================
echo "start install openssl。。。。。。。。。。"
echo =======================================
cd /data/soft/openssl-1.0.1c
./config --prefix=/usr/local/openssl
make &&make install
if [ $? = 0 ];then
echo =======================================
echo "success:openssl install ok!"
echo =======================================
else
echo "error:openssl install fail!"
exit
fi
#安装nginx
echo =======================================
echo "start install nginx。。。。。。。。。。"
echo =======================================
mkdir -p /usr/local/webserver
cd /data/soft/nginx-1.8.0
./configure --prefix=/usr/local/webserver/nginx --user=nginx --group=nginx --sbin-path=/usr/local/webserver/nginx/nginx --conf-path=/usr/local/webserver/nginx/nginx.conf --pid-path=/usr/local/webserver/nginx/nginx.pid --with-http_ssl_module --with-pcre=/data/soft/pcre-8.34 --with-zlib=/data/soft/zlib-1.2.8 --with-openssl=/data/soft/openssl-1.0.1c
make &&make install
if [ $? = 0 ];then
echo =======================================
echo "success:nginx install ok!"
echo =======================================
else
echo "error:nginx install fail!"
exit
fi
#nginx用户和用户组
cat /etc/group|grep -iq nginx && echo 'group nginx already exists!' || groupadd nginx
cat /etc/passwd|grep -iq nginx && echo 'user nginx already exists!' || useradd nginx -g nginx -M -s /sbin/nologin
#安装mysql
#基础环境安装
if [ $InstallMysql = YES ];then
echo =======================================
echo "start install mysql。。。。。。。。。。"
echo =======================================
yum -y install wget gcc gcc-c++ make ncurses-devel
cd /data/soft/cmake-2.8.10.2
./configure
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:cmake install ok!"
echo =======================================
else
echo "error:cmake install fail!"
exit
fi
#mysql用户和用户组
cat /etc/group|grep -iq mysql && echo 'group mysql already exists!' || groupadd mysql
cat /etc/passwd|grep -iq mysql && echo 'user mysql already exists!' || useradd -M -g mysql -s /sbin/nologin mysql
#mysql数据目录
mkdir -p /wwwroot/database/mysql/data
chown -R mysql.mysql /wwwroot/database/mysql/data
cd /data/soft/mysql-5.5.50
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/wwwroot/database/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:mysql install ok!"
echo =======================================
else
echo "error:mysql install fail!"
exit
fi
fi
#php安装
#基础环境安装
yum -y install bzip2 bzip2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype-devel libxml2 libxml2-devel openssl openssl-devel
#libiconv
cd /data/soft/libiconv-1.14
./configure --prefix=/usr/local/libiconv
if [ $? = 0 ];then
echo =======================================
echo "success:libiconv install ok!"
echo =======================================
else
echo "error:libiconv install fail!"
exit
fi
make && make install
#libmcrypt
cd /data/soft/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:libmcrypt install ok!"
echo =======================================
else
echo "error:libmcrypt install fail!"
exit
fi
#php
echo =======================================
echo "start install php。。。。。。。。。。"
echo =======================================
cd /data/soft/php-5.4.31
if [ $InstallMysql = YES ];then
./configure --prefix=/usr/local/webserver/php --with-libxml-dir=/usr/include/libxml2 --with-config-file-path=/usr/local/webserver/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-pear --with-curl --with-gd --with-jpeg-dir=/usr/lib64/ --with-png-dir=/usr/lib/ --with-freetype-dir=/usr/lib64/ --with-iconv=/usr/local/libiconv/ --with-mcrypt=/usr/local/libmcrypt/ --with-zlib --with-zlib-dir=/usr/local/zlib --with-bz2 --with-xmlrpc --with-openssl --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --disable-debug --enable-zip --enable-sockets --enable-soap --enable-mbstring --enable-xml --enable-ftp --enable-exif --enable-wddx --enable-bcmath --enable-shmop --enable-dba --enable-sysvsem --enable-sysvshm --enable-sysvmsg
else
./configure --prefix=/usr/local/webserver/php --with-libxml-dir=/usr/include/libxml2 --with-config-file-path=/usr/local/webserver/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-pear --with-curl --with-gd --with-jpeg-dir=/usr/lib64/ --with-png-dir=/usr/lib/ --with-freetype-dir=/usr/lib64/ --with-iconv=/usr/local/libiconv/ --with-mcrypt=/usr/local/libmcrypt/ --with-zlib --with-zlib-dir=/usr/local/zlib --with-bz2 --with-xmlrpc --with-openssl --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --disable-debug --enable-zip --enable-sockets --enable-soap --enable-mbstring --enable-xml --enable-ftp --enable-exif --enable-wddx --enable-bcmath --enable-shmop --enable-dba --enable-sysvsem --enable-sysvshm --enable-sysvmsg
fi
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:php install ok!"
echo =======================================
else
echo "error:php install fail!"
exit
fi
cp php.ini-development /usr/local/webserver/php/etc/php.ini
cd /usr/local/webserver/php/etc
cp php-fpm.conf.default php-fpm.conf
#php相关扩展安装
#mongoDB扩展
echo =======================================
echo "start install mongo。。。。。。。。。。"
echo =======================================
cd /data/soft/mongo-1.6.11
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:mongo install ok!"
echo =======================================
else
echo "error:mongo install fail!"
exit
fi
#phpredis扩展
echo =======================================
echo "start install phpredis。。。。。。。。。。"
echo =======================================
cd /data/soft/phpredis-2.2.4
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:phpredis install ok!"
echo =======================================
else
echo "error:phpredis install fail!"
exit
fi
#memcache
echo =======================================
echo "start install memcache。。。。。。。。。。"
echo =======================================
cd /data/soft/memcache-3.0.6
/usr/local/webserver/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/webserver/php/bin/php-config --with-zlib-dir
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:memcache install ok!"
echo =======================================
else
echo "error:memcache install fail!"
exit
fi
#imagick扩展
#此扩展需依赖ImageMagick库,先安装ImageMagick。
echo =======================================
echo "start install ImageMagick。。。。。。。。。。"
echo =======================================
cd /data/soft/ImageMagick-6.9.5-8
./configure --enable-shared --without-perl
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:ImageMagick install ok!"
echo =======================================
else
echo "error:ImageMagick install fail!"
exit
fi
#因为新版本的ImageMagick编译出来的目录为ImageMagick-6,必须为ImageMagick才行,否则会出现错误。
ln -s /usr/local/include/ImageMagick-6 /usr/local/include/ImageMagick
cd /data/soft/imagick-3.1.0RC1
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-imagick=/usr/local/include/ImageMagick
make && make install
if [ $? = 0 ];then
echo =======================================
echo "success:imagick install ok!"
echo =======================================
else
echo "error:imagick install fail!"
exit
fi
echo "***************************************"
echo "lnmp all install complete。。。。。。。"
echo "***************************************"
#仔细查看如下注释的部分,手动设置相关内容。
#防火墙放开80和3306端口。
#vim /etc/sysconfig/iptables
:<<!
添加如下规则,并保存:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
!
#service iptables restart
#设置nginx
#vim /etc/init.d/nginx
:<<!
#!/bin/bash
#
#chkconfig: - 85 15
#description:nginxisaWorldWideWebserver.Itisusedtoserve
# processname: nginx
nginx=/usr/local/webserver/nginx/nginx
nginx_config=/usr/local/webserver/nginx/nginx.conf
nginx_pid=/usr/local/webserver/nginx/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginx ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginx -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginx
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx $nginx_pid
}
# reload nginx service functions.
reload() {
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
!
#:wq保存此文件。
:<<!
chmod +x /etc/init.d/nginx
chkconfig --add nginx
chkconfig --level 345 nginx on
service nginx start
!
#查看nginx是否正常启动。
#浏览器访问http://服务器IP,查看是否显示正常。
#mysql设置
:<<!
cd /usr/local/mysql
cp -f support-files/my-huge.cnf /etc/my.cnf
chown -R mysql.mysql /wwwroot/database/mysql/data/
!
#vim /etc/my.cnf
:<<!
socket = /tmp/mysqld.sock
key_buffer_size = 384M
max_allowed_packet = 16M
innodb_data_home_dir = /data/mysql/data 去掉#
innodb_data_file_path = ibdata1:2000M;ibdata2:10M;autoextend 去掉#
innodb_log_group_home_dir = /data/mysql/data 去掉#
innodb_buffer_pool_size = 384M 去掉#
innodb_additional_mem_pool_size = 20M 去掉#
innodb_log_file_size = 100M 去掉#
innodb_log_buffer_size = 8M 去掉#
innodb_flush_log_at_trx_commit = 1 去掉#
innodb_lock_wait_timeout = 50 去掉#
!
#:wq保存文件。
:<<!
scripts/mysql_install_db --datadir=/wwwroot/database/mysql/data/ --user=mysql
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql off
chkconfig --level 345 mysql on
service mysql start
!
#查看mysql是否正常启动。
#设置mysql登录。
:<<!
默认mysql的root是没有密码的,可直接登录。如下:
/usr/local/mysql/bin/mysql -u root
mysql> use mysql;
添加root用户并所有服务器可登录:
mysql> grant all privileges on *.* to root@'%' identified by "meiliwang2016";
删除所有密码为空的的mysql用户。
mysql> delete from user where password='';
mysql> flush privileges;
mysql> quit
测试下:
[root@mysql mysql]#/usr/local/mysql/bin/mysql -u root -p
输入密码meiliwang2016是否可正常登录mysql。
!
#php设置
#cd /usr/local/webserver/php/etc
#vim php-fpm.conf
#pid = run/php-fpm.pid //此行在后面做开机启动时需要,否则service php-fpm restart找不到pid文件。
#:wq保存文件。
#vim php.ini
#时区修改为date.timezone =PRC
#:wq保存文件。
#启动php-fpm
#/usr/local/webserver/php/sbin/php-fpm
#检查php-fpm是否正常启动。
#修改nginx配置解析php
#vim /usr/local/webserver/nginx/nginx.conf
:<<!
location / {
root html;
index index.html index.htm index.php;
}#此处添加index.php
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}#添加此段配置。
!
#:wq保存文件。
#重启nginx
#service nginx restart
#测试php页面是否正常
#cd /usr/local/webserver/nginx/html/
:<<!
vim test.php
<?php
phpinfo();
?>
!
#:wq保存文件。
#浏览器访问http://服务器IP/test.php,查看是否显示正常。
#php-fpm开机启动
:<<!
cp /data/soft/php-5.4.31/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig --level 345 php-fpm on
!
#测试php-fpm能否正常重启。
#service php-fpm restart
#相关扩展设置
#查看是否在如下路径存在相应的so文件。
#/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/
#文件最后添加扩展。
#vim /usr/local/webserver/php/etc/php.ini
:<<!
[memcache]
extension=memcache.so
[redis]
extension=redis.so
[imagick]
extension=imagick.so
[mongo]
extension=mongo.so
!
#:wq保存文件。
#重启php-fpm。
#service php-fpm restart
#通过访问http://服务器IP/test.php查看相应的扩展是否enable。
0 0
- 自动编译搭建lnmp
- CentOS 编译安装搭建LNMP
- centos7搭建lnmp编译安装php【一】
- centos7搭建lnmp编译安装nginx【二】
- LNMP环境搭建mysql cmake编译总报错
- lnmp搭建
- lnmp搭建
- lnmp搭建
- LNMP搭建
- LNMP搭建
- LNMP搭建
- LNMP搭建
- LNMP 搭建
- LNMP搭建
- lnmp搭建
- LNMP搭建
- LNMP搭建笔记①之编译安装mysql
- LNMP搭建笔记②之编译安装php
- Storyboard 本地化修改
- Android中DisLruCache缓存封装
- Android TypedValue.applyDimension()的用法
- jquery 商品飞入购物车的动画
- C3p0数据库连接池配置详解与数据库连接建立
- 自动编译搭建lnmp
- java泛型
- MFC程序的运行过程和消息映射机制
- 【模拟】NEERC15 J Jump (Codeforces GYM 100851)
- 递归算法(求n的加法组合,将一个整数拆分成多个整数相加的形式, O(N)时间,O(N)空间)
- 红黑树
- 计算生日
- idea中tomcat部署项目
- linux 笔记