1. 程式人生 > >shell指令碼一鍵安裝LNMP(liunx+nginx+mysql+php)環境

shell指令碼一鍵安裝LNMP(liunx+nginx+mysql+php)環境

#!/bin/bash
# author:kwin
# Email:[email protected]

src="/usr/local/src/"
cd $src




#找到指定程序,並殺死
#findPortKill 80
findPortKill (){
  processe=`lsof -i:${1} -n|awk '{print $2}'|grep '^[1-9]'`
  for i in $processe
    do
#  echo "Kill the $1 process [ $i ]"
  kill -9 $i
    done
}


#建立快捷方式,統一管理
#createLink ${軟體目錄}
createLink(){ path=${1} linkPath='/link' #如果資料夾不存在,建立資料夾 if test ! -d ${linkPath} then mkdir ${linkPath} fi fileName=`echo ${path} | awk -F '/' '{print $1 $NF}'` if test -d ${linkPath}/${fileName} then rm -rf ${linkPath}/${fileName} fi ln -s ${path} ${linkPath} } #將命令所在目錄新增到系統引數PATH中,方便呼叫 addToPATH
(){ bin=${1} echo $PATH|grep ${bin} >/dev/null if [ $? -ne 0 ]; then echo "export PATH=\$PATH:${bin}">>/etc/profile fi } #安裝nginx installNginx(){ yum -y install pcre-devel openssl openssl-devel gcc gcc-c++ ncurses-devel perlddd fileName="nginx-1.9.9" package="${fileName}.tar.gz" installDir="/usr/local/nginx"
if test ! -f ${package} then wget http://nginx.org/download/${package} fi tar zxvf $package cd $fileName ./configure --prefix=${installDir} make && make install echo "安裝完成" #如果出現錯誤 找到80佔用的程序並殺死,再重啟 #如果還有問題 請自行除錯配置檔案 /usr/local/nginx/sbin/nginx 1> /dev/null 2>&1 if [ $? -ne 0 ]; then findPortKill 80 /usr/local/nginx/sbin/nginx fi #sleep : 預設以秒為單位。 #usleep : 預設以微秒為單位。 #1s = 1000ms = 1000000us usleep 100000 pid=`cat /usr/local/nginx/logs/nginx.pid` echo "nginx 已經啟動,程序號為${pid}" bin="${installDir}/sbin" addToPATH ${bin} #建立快捷方式,統一管理 createLink ${installDir} } #安裝nginx installPHP(){ yum -y install expect #安裝libmcrypt第三方yum源 wget http://www.atomicorp.com/installers/atomic #sh ./atomic #expect自動應答 #當需要互動 字元中有yes時自動輸入yes回車 expect <<EOF set timeout -1 spawn sh ./atomic expect "yes" send "yes\r" expect eof EOF #yum install -y epel-release #yum -y update #安裝需要的模組,yum一併安裝依賴庫 yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel curl-devel libxslt-devel php-mcrypt libmcrypt libmcrypt-devel fileName="php-7.0.8" package="${fileName}.tar.gz" installDir="/usr/local/php7_fpm" if test ! -f ${package} then wget http://cn2.php.net/distributions/${package} fi tar zxvf $package cd $fileName ./configure --prefix=${installDir} \ --with-curl \ --with-freetype-dir \ --with-gd \ --with-gettext \ --with-iconv-dir \ --with-kerberos \ --with-libdir=lib64 \ --with-libxml-dir \ --with-mysqli \ --with-openssl \ --with-pcre-regex \ --with-pdo-mysql \ --with-pdo-sqlite \ --with-pear \ --with-png-dir \ --with-xmlrpc \ --with-xsl \ --with-zlib \ --enable-bcmath \ --enable-libxml \ --enable-inline-optimization \ --enable-gd-native-ttf \ --enable-mbregex \ --enable-mbstring \ --enable-opcache \ --enable-pcntl \ --enable-shmop \ --enable-soap \ --enable-sockets \ --enable-sysvsem \ --enable-xml \ --enable-zip \ --with-mcrypt \ --enable-fpm \ --with-config-file-path=${installDir}/etc #PHP.ini預設 在${installDir}/bin目錄下 make && make install echo "安裝完成" cp php.ini-development ${installDir}/etc/php.ini cp ${installDir}/etc/php-fpm.conf.default ${installDir}/etc/php-fpm.conf cp ${installDir}/etc/php-fpm.d/www.conf.default ${installDir}/etc/php-fpm.d/www.conf cp -R ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod a+x -R /etc/init.d/ /etc/init.d/php-fpm restart echo "php-fpm 已經啟動,程序號為9000" echo "呼叫/etc/init.d/php-fpm控制服務" bin="${installDir}/bin" addToPATH ${bin} #建立快捷方式,統一管理 createLink ${installDir} } function installMysql(){ cat > /etc/yum.repos.d/MariaDB.repo <<EOF # MariaDB 10.0 CentOS repository list - created 2014-04-01 04:32 UTC # http://mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1.11/centos7-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF yum install -y MariaDB-server MariaDB-client MariaDB-devel echo "安裝完成" mysqladmin -u root password 'root' #如果出現錯誤 找到3306佔用的程序並殺死,再重啟 #如果還有問題 請自行除錯配置檔案 service mysql start 1> /dev/null 2>&1 if [ $? -ne 0 ]; then findPortKill 3306 service mysql start fi #設定開機啟動MariaDB chkconfig mysql on echo "mysql 已經啟動,程序號為3306 預設密碼為root" echo "呼叫service mysql start|stop|restart控制服務或則" echo "/etc/init.d/mysql start|stop|restart" } function init(){ case $1 in 1) installNginx #呼叫函式必須在函式後面 ;; 2) installMysql #呼叫函式必須在函式後面 ;; 3) installPHP #呼叫函式必須在函式後面 ;; 4) installMysql installNginx installPHP ;; *) echo 'You do not select a number between 1 to 4' ;; esac } echo 'Input a number between 1 to 4' echo '1.安裝nginx 2.安裝mysql' echo '3.安裝PHP 4.一鍵安裝LNMP' read mode init ${mode} source /etc/profile #. /etc/profile #注意: . 和 /etc/profile 有空格 同 source /etc/profile

相關推薦

shell指令碼安裝LNMPliunx+nginx+mysql+php環境

#!/bin/bash # author:kwin # Email:[email protected] src="/usr/local/src/" cd $src #找到指定程序,並殺死 #findPortKill 80 findPortKi

CentOS7 安裝LNMPLinux+Nginx+MySQL+PHP

    由於工作需要,需要學習php,本來想安裝lamp的但是考慮到現在nginx伺服器有良好的效能且應用廣泛。這裡我決定搭建Linux(CentOS7+Nginx+MySQL+PHP)下的we

5.LNMPLinux + Nginx + MySQL + PHP環境安裝

har ins ack mys .rpm sharp pac pack .org 1.安裝Nginx: yum install yum-priorities -y wget http://nginx.org/packages/centos/7/noarch/RPMS

最簡單!阿里雲伺服器採用 LNMP安裝包 配置 Linux+Nginx+Mysql+PHP

LNMP一鍵安裝包是一個用Linux Shell編寫的可以為CentOS/RadHat/Fedora、Debian/Ubuntu/Raspbian/Deepin VPS或獨立主機安裝LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/

在阿里雲上安裝LAMPcentos6+Apache+Mysql+PHP環境並上線Java Web專案

在雲伺服器上安裝好系統後: 1.先檢視系統上有無原有的舊版本的mysql;tomcat;java。 若有則先解除安裝;解除安裝命令使用 yum -y remove mysql*; yum -y remove mysql*; 2.附上能下載的jdk1.7的

shell指令碼--安裝openfire服務

在之前的服務架構中,IM服務需要用到openfire,這裡編寫一個指令碼實現一鍵安裝openfire服務。 注:此部署指令碼為單機部署指令碼,若為叢集環境,請自行配置!! #!/bin/bash #############################################

Shell指令碼之一安裝LNMP環境

本指令碼和Nginx原始碼包、php-fpm的rpm包在一個目錄才能使用 本指令碼的LNMP為Linux、Nginx、Mariadb、PHP 指令碼內容: #!/bin/bash yum repolist &>/dev/null [ $? -eq 0 ]&

shell指令碼安裝nginx[最終版]

直接上指令碼了, 支援離線線上安裝, 發現本地包則安裝本地版, 無本地包則檢測是否聯網, 聯網則下載依賴和安裝包自動編譯安裝, 無本地包無聯網則退出。 #!/bin/bash #------------------------------------

shell指令碼安裝jdk

直接上shell #!/bin/bash #offline jdk install ipath="/usr/local" installpath=$(cd `dirname $0`; pwd) j=`whereis java` java=$(echo ${j} | grep "jdk")

shell指令碼--安裝python3.6.1+pip

#!/bin/bash yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel wget https://www.python.org/ftp/python/3.6.1/Python-3

【高效率】shell指令碼安裝Tomcat服務

指令碼環境 1.linux centos 7或redhat 62.光碟映象檔案已掛載3.系統在可連線外網的環境中4.先下載jdk和tomcat軟體包百度雲連結提取碼:89be 實驗步驟 1.上傳軟體包到Linux系統中2.編寫指令碼vim tomcat.sh #!/bin/bash#t

安裝LNMP自我備份

安裝 系統需求: 需要2 GB硬碟剩餘空間128M以上記憶體,OpenVZ的建議192MB以上(小記憶體請勿使用64位系統)Linux下區分大小寫,輸入命令時請注意! 安裝步驟: 1、使用putty或類似的SSH工具登陸; 登陸後執行:screen -S lnmp

shell指令碼部署jdk,python,mysql,postgresql,es等元件

1、根據需求,快速部署一些常用的元件。 安裝jdk,版本:1.8.0_131 安裝python,版本:2.7.8 安裝mysql,版本:5.6.39 安裝neo4j,版本:3.1.4 安裝postgresql,版本:9.6.3

Centos 7.0 編譯安裝LAMPLinxu+apache+mysql+php之源碼安裝Apache

mysql apache mysql編譯安裝 apache編譯安裝 lamp編譯安裝 Apache 簡介: Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠

Centos 7.0 編譯安裝LAMPLinxu+apache+mysql+php之源碼安裝Mysql

php mysql apache mysql 簡介: MySQL是一個關系型數據庫管理系統,關系數據庫將數據保存在不同的表中,這樣就增加了速度並提高了靈活性。目前其屬於 Oracle 旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RD

Centos 7.0 編譯安裝LAMPLinxu+apache+mysql+php之源碼安裝php

lamp apache 源碼編譯lamp php mysql centos 7 編譯安裝lamp PHP簡介: PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特

阿里雲ECS例項 CentOS7 下搭建LNMPLinux+Nginx+Mariadb+PHP教程

一:安裝Nginx 1.下載對應當前系統版本的nginx包(package) wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2

基於linux + nginx + mysql + php原始碼包安裝及搭建

lnmp是什麼? LNMP指的是一個基於CentOS/Debian編寫的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一鍵安裝包。可以在VPS、獨立主機上輕鬆的安裝LNMP生產環境。 簡介: LNMP代表的就是:Linux系

搭建LAMPCentos7+Apache+MySQL+PHP環境

安裝虛擬機器 官網下載對應的VMware版本 二、安裝CentOS7 注意:以下安裝,因為是在自己電腦的虛擬機器中,所以使用的是root許可權,沒有root許可權的話,需要加上sudo 三、安裝Apache1.安裝yum -y install httpd2.開啟apac

shell腳本安裝LNMP菜單方式安裝

shell腳本一鍵安裝LNMP#!/bin/bash#定義軟件包變量Tnginx="nginx-1.6.0.tar.gz"nginx="nginx-1.6.0"Tcmake="cmake-2.8.6.tar.gz"cmake="cmake-