加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

linux shell脚本之lnmp的搭建

发布时间:2020-12-15 07:17:13 所属栏目:安全 来源:网络整理
导读:#!/bin/bash #this script is source packages installed lnmp for redhat or centos 6.xmal yum -y install wget #"============download the source package==============" wget http: //cloud .github.com /downloads/libevent/libevent/libevent-2 .0.2
#!/bin/bash#this script is source packages installed lnmp for redhat or centos 6.xmalyum -y installwget#"============download the source package=============="wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gzwget http://nginx.org/download/nginx-1.3.8.tar.gzwget http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gzwget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gzwget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.30.tar.gzwget http://ncu.dl.sourceforge.net/project/qdbm/qdbm/1.8.77/qdbm-1.8.77.tar.gzwget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gzwget http://fossies.org/linux/www/gd-2.0.35.tar.gzwget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.bz2/downloadwget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.bz2/downloadwget http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/downloadwget http://cronolog.org/download/cronolog-1.6.2.tar.gzwget http://cn2.php.net/distributions/php-5.4.14.tar.gzwget http://ncu.dl.sourceforge.net/project/pcre/pcre/8.11/pcre-8.11.tar.gz#"=============download all======================"printf"========install the compile tool=============n"yum -y installgcc gcc-c++ openssl-devel ncurses ncurses-devel zlib-devel bzip2bzip2-devel curl-devel libjpeg-devel libxml2* libpng* freetype* libxslt*#yum -y groupinstall "Development" "Development Tools" #or use this command instead of the above#tar the source package 解压源代码包到指定的目录tarzxvf pcre-8.11.tar.gz -C /usr/local/src/tarzxvf libevent-2.0.21-stable.tar.gz -C /usr/local/src/tarzxvf nginx-1.3.8.tar.gz -C /usr/local/src/tarzxvf cmake-2.8.6.tar.gz -C /usr/local/src/tarzxvf bison-2.5.1.tar.gz -C /usr/local/src/tarzxvf mysql-5.5.30.tar.gz -C /usr/local/src/tarzxvf libiconv-1.14.tar.gz -C /usr/local/src/tarzxvf qdbm-1.8.77.tar.gz -C /usr/local/src/tarzxvf gd-2.0.35.tar.gz -C /usr/local/src/tarzxvf mcrypt-2.6.8.tar.gz -C /usr/local/src/tarzxvf cronolog-1.6.2.tar.gz -C /usr/local/src/tarzxvf php-5.4.14.tar.gz -C /usr/local/src/tarjxvf libmcrypt-2.5.8.tar.bz2 -C /usr/local/src/tarjxvf mhash-0.9.9.9.tar.bz2 -C /usr/local/src/#Compile the unpack the source code package 编译解压的源代码包echo"===========nginx Relevant source package is installed========== "echo"##### pcre install#####"cd/usr/local/src/pcre-8.11/./configure--prefix=/usr/local/pcre&& make&& makeinstallprintf"====pcre is ok====n"echo"#####libevent install######"cd/usr/local/src/libevent-2.0.21-stable/./configure--prefix=/usr/local/libevent&& make&& makeinstallprintf"====libevent is ok====n"echo"####nginx install######"groupadd -r nginxuseradd-r -g nginx -s /bin/false-M nginxcd/usr/local/src/nginx-1.3.8/###before you configure,you can see "./configure ?help" see carefully "?with-pcre=DIR set path to PCRE library sources"在编译之前可以先help看看./configure--prefix=/usr/local/nginx--with-pcre=/usr/local/src/pcre-8.11/ --sbin-path=/usr/local/nginx/sbin/nginx--pid-path=/usr/local/nginx/logs/nginx.pid --with-http_gzip_static_module --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --user=nginx --group=nginx --http-proxy-temp-path=/var/tmp/nginx/proxy/--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/--lock-path=/var/lock/nginx.lock --http-client-body-temp-path=/var/tmp/nginx/client/&& make&& makeinstallprintf"======nginx is ok!!======n"mkdir-pv /var/tmp/nginx/#write startup nginx files by yourself 自己手动写nginx的启动脚本cat>> /etc/init.d/nginx<< EOF#!/bin/bash# nginx Startup script for the Nginx HTTP Server# it is v.0.0.2 version.# chkconfig: ? 85 15# description: Nginx is a high-performance web and proxy server.# It has a lot of features,but it’s not for everyone.# processname: nginx# pidfile: /var/run/nginx.pid# config: /usr/local/nginx/conf/nginx.confnginxd=/usr/local/nginx/sbin/nginxnginx_config=/usr/local/nginx/conf/nginx.confnginx_pid=/usr/local/nginx/logs/nginx.pidRETVAL=0prog="nginx"# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no"] && exit0[ -x $nginxd ] || exit0# Start nginx daemons functions.start() {if[ -e $nginx_pid ];thenecho"nginx already running…."exit1fiecho-n $"Starting $prog: "daemon $nginxd -c ${nginx_config}RETVAL=$?echo[ $RETVAL = 0 ] && touch/var/lock/subsys/nginxreturn$RETVAL}# Stop nginx daemons functions.stop() {echo-n $"Stopping $prog: "killproc $nginxdRETVAL=$?echo[ $RETVAL = 0 ] && rm-f /var/lock/subsys/nginx/usr/local/nginx/logs/nginx.pid}reload() {echo-n $"Reloading $prog: "#kill -HUP `cat ${nginx_pid}`killproc $nginxd -HUPRETVAL=$?echo}# See how we were called.case"$1"instart)start;;stop)stop;;reload)reload;;restart)stopstart;;status)status $progRETVAL=$?;;*)echo"Usage: $prog {start|stop|restart|reload|status|help}"exit1esacexit$RETVALEOFchmod+x /etc/init.d/nginxchkconfig --add nginxchkconfig --level 35 nginx onservice nginx restartecho"===========mysql Relevant source package is installed========== "useradd-M -s /sbin/nologinmysqlecho"##### cmake install#####"cd/usr/local/src/cmake-2.8.6./bootstrap&& gmake && gmake installprintf"====cmake is ok====n"echo"##### bison install#####"cd/usr/local/src/bison-2.5.1/./configure&& make&& makeinstallprintf"====bison is ok====n"echo"##### mysql install#####"cd/usr/local/src/mysql-5.5.30/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/var/mysql/data&& make&& makeinstallprintf"====mysql is ok====n"#set up the mysql configuration file and initialize the database 建立mysql的配置文件和初始化数据库#cp usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf ##if you memory is greater than 2G,please choose this 内存大于2G就copy这个配置文件cp/usr/local/mysql/support-files/my-medium.cnf /etc/my.cnfcp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld/usr/local/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql/--datadir=/var/mysql/data/usr/local/mysql/bin/mysqld_safe--user=mysqlchmod-R 755 /usr/local/mysqlchown-R mysql:mysql /usr/local/mysqlchown-R mysql:mysql /var/mysql/datachkconfig --add mysqldchkconfig --level 35 mysqld onservice mysqld restartread-p "please set up password for mysql:"pwd/usr/local/mysql/bin/mysqladmin-u root password $pwdexportPATH=$PATH:/usr/local/mysql/bin/echo"PATH=$PATH:/usr/local/mysql/bin">> /etc/profileln-s /usr/local/mysql/bin/* /usr/local/bin/ln-s /usr/local/mysql/lib/* /usr/libln-s /usr/local/mysql/include/mysql/* /usr/include/echo"===========php Relevant source package is installed========== "echo"####libiconv install####"cd/usr/local/src/libiconv-1.14/./configure--prefix=/usr/local/libiconv&& make&& makeinstallprintf"====libiconv is ok====n"echo"####qdbm install#####"cd/usr/local/src/qdbm-1.8.77/./configure--prefix=/usr/local/qdbm--enable-devel --enable-zlib --enable-iconv && make&&makeinstallprintf"====qdbm is ok====n"echo"####gd install####"cd/usr/local/src/gd-2.0.35/./configure--prefix=/usr/local/gd2--with-jpeg --with-png --with-zlib --with-freetype &&make&& makeinstallprintf"====gd is ok====n"sed-i '/*gd_free/avoid (*data);'/usr/local/gd2/include/gd_io.hecho"/usr/local/gd2/lib">> /etc/ld.so.confldconfigecho"####libmcrypt and libltdl install####"cd/usr/local/src/libmcrypt-2.5.8/./configure--prefix=/usr/local/libmcrypt&& make&& makeinstallldconfigcd/usr/local/src/libmcrypt-2.5.8/libltdl./configure--prefix=/usr/local/libltdl--enable-ltdl-install&& make&& makeinstallln-sf /usr/local/lib/libmcrypt.* /usr/libln-sf /usr/local/bin/libmcrypt-config/usr/binprintf"====libmcrypt and libltdl is ok====n"echo"####mhash install####"cd/usr/local/src/mhash-0.9.9.9/./configure--prefix=/usr/local/mhash&& make&& makeinstallln-sf /usr/local/lib/libmhash.* /usr/lib/printf"====mhash is ok====n"echo"####mcrypt install####"cd/usr/local/src/mcrypt-2.6.8//sbin/ldconfig./configure--prefix=/usr/local/mcrypt&& make&& makeinstallprintf"====mcrypt is ok====n"echo"####cronolog install####"cd/usr/local/src/cronolog-1.6.2./configure--prefix=/usr/local/cronolog&& make&& makeinstallprintf"====cronolog is ok====n"echo"####php install#####"ln-sf /usr/local/mysql/lib/libmysqlclient.so.18 /usr/libln-sf /usr/local/qdbm/lib/libqdbm.so* /usr/libcd/usr/local/src/php-5.4.14./configure--prefix=/usr/local/php5--with-config-file-path=/usr/local/php5/etc--with-mysql=/usr/local/mysql--with-iconv=/usr/local/libiconv--with-gd=/usr/local/gd2--with-iconv-dir=/usr/local--with-pdo-mysql=/usr/local/mysql--with-libxml-dir=/usr--with-qdbm=/usr/local/qdbm--with-mime-magic=/usr/share/file/magic--with-jpeg-dir--with-png-dir--with-freetype-dir--with-bz2 --with-zlib --without-pear --with-xmlrpc --with-zlib-dir--with-curl --with-curlwrappers --with-mcrypt=/usr/local/libmcrypt--with-mhash --with-ttf --with-xsl --with-gettext --with-pear --with-openssl --enable-discard-path --enable-gd-native-ttf --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-xml --enable-soap --enable-calendar --enable-wddx --enable-dba --enable-gd-native-ttf--enable-calendar --enable-safe-mode --enable-ftp--enable-fpm --enable-zip --enable-mbstring --enable-bcmath --enable-sockets --enable-exif --enable-magic-quotes --disable-rpath --disable-debug && make&& makeinstallprintf"====php is ok====n"ln-s /usr/local/php5/bin/* /usr/local/bin/ln-s /usr/local/php5/sbin/* /usr/local/sbin/cp/usr/local/src/php-5.4.14/php.ini-production /usr/local/php5/php.ini#Configure nginx support php 配置nginx支持php环境cp/usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.confsed-i '/run/s/;//g'/usr/local/php5/etc/php-fpm.confsed-i '/^ /d'/usr/local/php5/etc/php-fpm.confsed-i 's/nobody/nginx/g'/usr/local/php5/etc/php-fpm.confsed-i '/start/s/2/20/'/usr/local/php5/etc/php-fpm.confsed-i '/min/s/1/5/'/usr/local/php5/etc/php-fpm.confsed-i '/max_spare/s/3/25/'/usr/local/php5/etc/php-fpm.confsed-i '/max_children/s/5/35/'/usr/local/php5/etc/php-fpm.conf/usr/local/sbin/php-fpm#启动php-fpm进程#test nginx mysql php work tegethersed-i '/&;user&;/a user nginx;'/usr/local/nginx/conf/nginx.conf #把user改为nginx用户sed-i '/&;index&;/s/index.html index.htm/index.html index.htm index.php/g'/usr/local/nginx/conf/nginx.conf #添加支持index.php#这下面的六句自己手动的添加到nginx的配置文件里面去/usr/local/nginx/conf/nginx.conf# location ~ .php$ {

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读