Lnmp一键脚本

#!/bin/bash

#================================================================
#   Copyright (C) 2018  All rights reserved.
#
#   File::lnmp_install.sh
#   Author:zhurui
#   Date:2018/12/13
#   Description:install nginx,mysql,php
#
#================================================================

dir=/data
nginx_download_path="http://nginx.org/download/nginx-1.12.0.tar.gz"
nginx_install_dir="/usr/local/nginx"
mysql_download_path="https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz"
mysql_install_dir="/usr/local/mysql"
php_download_path="http://jp2.php.net/distributions/php-5.5.38.tar.gz"
php_install_path="/usr/local/php"
nginx_name="nginx-1.12.0.tar.gz"
mysql_name="mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz"
php_name="php-5.5.38.tar.gz"

[ -f /etc/init.d/functions ] && . /etc/init.d/functions || exit 1

# create file download dir
create_dir(){
  if [ ! -e $dir ]
    then
      mkdir $dir
  else
    echo "file download dir is exit!"
  fi
}

# install nginx 1.12.0
install_nginx(){
  # yum install something
  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
  yum install -y pcre pcre-devel openssl openssl-devel gcc make gcc-c++
  # download nginx
  [ -e $dir ] && cd $dir
  wget $nginx_download_path
  if [ -f $nginx_name ]
    then
      echo ‘nginx download success‘
      # tar nginx
      tar zxf $nginx_name && cd nginx-1.12.0
      # add user nginx
      useradd nginx -s /sbin/nologin -M
      # install nginx
      ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
      [ $(echo $?) -eq 0 ] && make && make install
      [ $(echo $?) -eq 0 ] && echo "nginx install success"
  fi
}
# start nginx
start_nginx(){
 # check syntax
 $nginx_install_dir/sbin/nginx -t
 # start
 if [ $(echo $?) -eq 0 ]
   then
     $nginx_install_dir/sbin/nginx
     if [ $(netstat -lutnp|grep 80|wc -l) -eq 1 ]
       then
         action "nginx starting success..."  /bin/true
     else
         echo "nginx starting fail,plaese check the service!"
     fi
 fi
}
# install mysql 5.5.56
install_mysql(){
  # yum install something
  yum install -y ncurses-devel automake autoconf bison libtool-ltdl-devel
  # download mysql
  [ -e $dir ] && cd $dir
  wget $mysql_download_path
  if [ -f $mysql_name ]
    then
      echo ‘mysql download success‘
      # tar mysql
      echo "just wait a moment,mysql is Extracting..."
      tar zxf mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz
      # rename
      mv mysql-5.5.56-linux-glibc2.5-x86_64 mysql-5.5.56
      # mkdir dir mysql
      if [ ! -d $mysql_install_dir ]
        then
          mkdir -p $mysql_install_dir
      fi
      # move file to mysql_install_dir
      mv mysql-5.5.56/* /usr/local/mysql/
      # add user mysql
      useradd mysql -s /sbin/nologin -M
      # chown
      chown -R mysql.mysql /usr/local/mysql
      # change dir
      cd $mysql_install_dir
      # install mysql
      ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
      # mv my.cnf
      [ $(echo $?) -eq 0 ] && \cp support-files/my-medium.cnf /etc/my.cnf
      # mv mysql.server
      cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
      # chmod +x
      chmod +x /etc/init.d/mysqld
      # add to boot auto launch
      chkconfig --add mysqld
      chkconfig mysqld on
      # add to PATH
      PATH=$PATH:/usr/local/mysql/bin/
      echo "export PATH=$PATH:/usr/local/mysql/bin/" >>/etc/profile
      source /etc/profile
  fi
}

# start mysql_server
start_mysql(){
  # start
  /etc/init.d/mysqld start
  if [ $(netstat -lutnp|grep 3306|wc -l) -eq 1 ]
    then
      action "mysql starting success..."  /bin/true
  else
      echo "mysql starting fail,plaese check the service!"
  fi
}

# install php5.5.38
install_php(){
  # yum install something
  yum install zlib-devel openssl-devel openssl libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel libmcrypt-devel mcrypt mhash -y
  # download php
  [ -e $dir ] && cd $dir
  wget $php_download_path
  if [ -f $php_name ]
    then
      echo ‘php download success‘
      # tar file
      tar zxf $php_name  && cd php-5.5.38
      # install php
      echo "Please hold on!The configure output message is so large so that I hide the output message!..."
      ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-iconv-dir=/usr/lcoal/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-xsl --with-fpm-user=nginx --with-fpm-user=nginx --enable-ftp --enable-opcache=no >> /dev/null 2>&1
      [ $(echo $?) -eq 0 ] && ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ && touch ext/phar/phar.phar
      make >> /dev/null 2>&1
      make install
      # copy php.ini
      cp php.ini-development /etc/php.ini
      # copy php-fpm
      cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
      cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
      # chmod +x
      chmod +x /etc/init.d/php-fpm
      # add to PATH
      PATH=$PATH:/usr/local/php/bin/
      echo "export PATH=$PATH:/usr/local/php/bin/" >>/etc/profile
      source /etc/profile
      # add to boot auto launch
      chkconfig --add php-fpm
      chkconfig php-fpm  on
 fi
}

# start php-fpm
start_phpfpm(){
  # start
  /etc/init.d/php-fpm start
  if [ $(netstat -lutnp|grep 9000|wc -l) -eq 1 ]
    then
      action "php-fpm starting success..." /bin/true
  else
      echo "php-fpm starting fail,plaese check the service!"
  fi

}

# main function
main(){
   #create dir
   create_dir
   # install
   install_nginx
   sleep 3
   install_mysql
   sleep 3
   install_php
   # start
   start_nginx
   sleep 2
   start_mysql
   sleep 2
   start_phpfpm
}
main

  

原文地址:https://www.cnblogs.com/hackerer/p/10112617.html

时间: 2024-10-22 13:44:18

Lnmp一键脚本的相关文章

lnmp一键脚本以及相关配置

lnmp一键脚本以及相关配置 下面是来自lnmp脚本官方的说明:系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux发行版 需要5GB以上硬盘剩余空间,MySQL 5.7,MariaDB 10至少9GB剩余空间 需要128MB以上内存(128MB小内存VPS,Xen需有SWAP,OpenVZ至少要有128MB以上的vSWAP或突发内存),注意小内存请勿使用64位系统! 安装MySQL 5.6

LNMP一键安装包 PHP自动升级脚本

LNMP一键安装包 PHP自动升级脚本 2011年03月15日 上午 | 作者:VPS侦探 前一段时间完成了lnmp一键安装包的PHP自动升级脚本,今天发布出来,如果想升级PHP版本的lnmp用户可以试用一下.支持目前lnmp的所有版本. 只能有低版本升级到高版本不能降级.可以升级到现有PHP 5.2.14到PHP 5.3.5除5.3.0.5.3.1.5.3.2的几个过渡版本之外的PHP版本,如果PHP发布新的版本,只有安装方式上不发生变化就可以一直使用.注意:升级PHP后eaccelerato

Lnmp一键部署脚本(包含模块安装,php7,openresty+缓存等)

Lnmp一键部署脚本 个人gitpage:https://owelinux.github.io/ #!/bin/bash ##DATE:2016-7-25 ##USER:owelinux ###install wallet #######install mysql################################################## yum -y install cmake ncurses-devel bison libaio make gcc gcc-c++ mk

LNMP一键安装包 V1.1 发布

LNMP一键安装包 是一个用Linux Shell编写的可以为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.PHP.phpMyAdmin)生产环境的Shell程序.同时提供一些实用的辅助脚本如:可以帮助完成Nginx.MySQL/MariaDB.PHP的升级.常用缓存组件的安装.重置MySQL root密码.502自动重启.日志切割等许多实用脚本. 时间匆匆流过,又快到一年一度的六一儿童节了,同时端午假期也

LNMP一键安装包 V1.1 通告

LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.PHP.phpMyAdmin)生产环境的Shell程序.同一时候提供一些有用的辅助脚本如:能够帮助完毕Nginx.MySQL/MariaDB.PHP的升级.经常使用缓存组件的安装.重置MySQL rootpassword.502自己主动重新启动.日志分割等很多有用脚本. 时间匆匆流过,又快到一年一度的

shell-网上lnmp一键安装讲解

shell-网上lnmp一键安装讲解 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin       #设置系统环境变量本文出处:www.ksharpdabu.info export PATH     # # Check if user is root if [ $(id -u) != "0" ]; then                           #通过判断

LNMP一键安装包 支持nginx和php选择当前主流版本

最近一直在学Python,春节将至,说实话公司没有什么事情做 闲来无事 就利用Python写了一个LNMP一键安装包. 主要有一下几点: 1. 支持nginx选择版本:1.3.0--1.7.9 2. 数据库使用的是Mariadb,感觉数据库版本比较稳定,所以就只给了一个选择:Mariadb-5.5.40 3. 如果不知道什么是Mariadb 自行百度或谷歌补脑. 4. 支持php选择版本:php-5.2.14--php5.5.20 5. 不支持 nginx.Mariadb.php 单独安装. 6

LNMP一键安装包+Thinkphp搭建基于pathinfo模式的路由(可以去除url中的.php)

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora.Debian/Ubuntu/Raspbian/Deepin VPS或独立主机安装LNMP(Nginx/MySQL/PHP).LNMPA(Nginx/MySQL/PHP/Apache).LAMP(Apache/MySQL/PHP)生产环境的Shell程序.同时提供一些实用的辅助工具如:虚拟主机管理.FTP用户管理.Nginx.MySQL/MariaDB.PHP的升级.常用缓存组件Redis.Xca

lnmp 一键安装

系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin Server/Aliyun/Amazon/Mint Linux发行版 需要5GB以上硬盘剩余空间 需要128MB以上内存(如果为128MB的小内存VPS,Xen的需要有SWAP,OpenVZ的至少要有128MB以上的vSWAP或突发内存),注意小内存请勿使用64位系统! 安装MySQL 5.6或5.7及MariaDB 10必须1G以上内存!. VPS或服务器必须已经联网,且必须设置的是网