LNMP源码安装脚本

LNMP安装脚本,脚本环境   #LNMP环境搭建centos6.8 2.6.32-696.28.1.el6.x86_64  nginx:1.12.2   mysql:5.6.36  PHP:5.5.36

#!/bin/bash
#LNMP环境搭建centos6.8 2.6.32-696.28.1.el6.x86_64  nginx:1.12.2 mysql:5.6.36 PHP:5.5.36
. /etc/init.d/functions
trap 'echo "error line: $LINENO,error cmd: $BASH_COMMAND"' ERR

cd /usr/local/src
yum -y install wget
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak cp /usr/local/src/CentOS6-Base-163.repo ./CentOS-Base.repo yum clean all #清除yum缓存 yum makecache #重建缓存 yum -y update cd /usr/local/src #添加epel外部扩展源 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rp #安装依赖包: yum -y install gcc gcc-c++ glibc gcc libtool cmake mcrypt libmcrypt-devel mhash mhash-devel libxslt-devel \ libjpeg libjpeg-devel libjpeg-turbo-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \ zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel gd-devel ncurses ncurses-devel curl \ libcurl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel pcre-devel openssh-clients #进入到src目录下载nginx cd /usr/local/src && wget http://nginx.org/download/nginx-1.12.2.tar.gz  #创建用户 useradd -M -s /sbin/nologin www ##安装nginx-1.12.2 tar xf nginx-1.12.2.tar.gz && cd nginx-1.12.2 ./configure --user=www --group=www \ --prefix=/usr/local/nginx-1.12.2 \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_gzip_static_module \ --pid-path=/usr/local/nginx/nginx.pid #编译并安装 make && make install #创建软连接 #ln -s /usr/local/nginx-1.12.2/ /usr/local/nginx action "nginx installed" /bin/true ##安装mysql #现在mysql并解压 cd /usr/local/src && wget -c http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz && tar xf mysql-5.6.36.tar.gz  #添加mysql用户 useradd -s /sbin/nologin -M mysql cd /usr/local/src/mysql-5.6.36 cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DENABLED_LOCAL_INFILE=1 \ -DEXTRA_CHARSETS=all \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 make && make install #配置权限 chown -R root.mysql /usr/local/mysql chown -R mysql.mysql /usr/local/mysql/data #–basedir软件安装目录 –datadir数据存放目录 –user管理mysql的用户 /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #将mysql服务加入开机自启动 chkconfig --add mysqld && chkconfig mysqld on #将mysql命令添加环境变量中 echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile source /etc/profile #拷贝mysql配置文件 \cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf action "Mysql installed" /bin/true ##安装PHP #安装libiconv 说明:此软件在centos6.8之后已经自带此软件功能,可以不进行安装 cd /usr/local/src && 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 #下载PHP cd /usr/local/src && wget http://mirrors.sohu.com/php/php-5.5.36.tar.gz tar xf php-5.5.36.tar.gz && cd php-5.5.36 #配置PHP(如果本地没有安装mysql 可以使用PHP自带的扩展--with-mysql=mysqlnd) ./configure \ --prefix=/usr/local/php-5.5.36 \ --with-mysql=/usr/local/mysql \ --with-mysqli=/usr/local/mysql/bin/mysql_config \ --with-pdo-mysql=mysqlnd \ --with-iconv-dir=/usr/local/libiconv \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-pcre-regex \ --with-zlib \ --with-libxml-dir=/usr \ --with-curl \ --with-mcrypt \ --with-gd \ --with-openssl \ --with-mhash \ --with-xmlrpc \ --with-xsl \ --with-fpm-user=www \ --with-fpm-group=www \ --enable-soap \ --enable-short-tags \ --enable-shmop \ --enable-static \ --enable-ftp \ --enable-opcache=no \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-zip \ --enable-inline-optimization \ --enable-mbregex \ --enable-fpm \ --enable-mbstring \ --enable-gd-native-ttf \ --enable-pcntl \ --enable-sockets #防止报错/usr/local/src/php-5.5.36/sapi/cli/php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ touch ext/phar/phar.phar make && make install ln -sf /usr/local/php-5.5.36 /usr/local/php cp php.ini-production /usr/local/php-5.5.36/etc/php.ini cd /usr/local/php-5.5.36/etc/ && cp php-fpm.conf.default php-fpm.conf cp /usr/local/src/php-5.5.36/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm && chmod +x /etc/init.d/php-fpm #配置脚本读取指定php配置文件 sed -i 's#php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"#php_opts="--fpm-config $php_fpm_CONF -c /usr/local/php/etc/php.ini --pid $php_fpm_PID"#g' /etc/init.d/php-fpm echo -e "/etc/init.d/php-fpm start\n/usr/local/sbin/nginx\n/etc/init.d/mysqld start" >> /etc/rc.local action "PHP installd" /bin/true echo -e "Use \e[1;32m/etc/init.d/mysqld\e[0m start to start mysql" echo -e "Use \e[1;32m/usr/local/sbin/nginx\e[0m to start nginx" echo -e "Use \e[1;32m/etc/init.d/php-fpm start\e[0m to start php-fpm"

猜你喜欢

转载自www.cnblogs.com/Template/p/9082799.html