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指令碼一鍵安裝LNMP(liunx+nginx+mysql+php)環境
#!/bin/bash # author:kwin # Email:[email protected] src="/usr/local/src/" cd $src #找到指定程序,並殺死 #findPortKill 80 findPortKi
CentOS7 安裝LNMP(Linux+Nginx+MySQL+PHP)
由於工作需要,需要學習php,本來想安裝lamp的但是考慮到現在nginx伺服器有良好的效能且應用廣泛。這裡我決定搭建Linux(CentOS7+Nginx+MySQL+PHP)下的we
5.LNMP(Linux + 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/
在阿里雲上安裝LAMP(centos6+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 編譯安裝LAMP(Linxu+apache+mysql+php)之源碼安裝Apache (一)
mysql apache mysql編譯安裝 apache編譯安裝 lamp編譯安裝 Apache 簡介: Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠
Centos 7.0 編譯安裝LAMP(Linxu+apache+mysql+php)之源碼安裝Mysql (二)
php mysql apache mysql 簡介: MySQL是一個關系型數據庫管理系統,關系數據庫將數據保存在不同的表中,這樣就增加了速度並提高了靈活性。目前其屬於 Oracle 旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RD
Centos 7.0 編譯安裝LAMP(Linxu+apache+mysql+php)之源碼安裝php (三)
lamp apache 源碼編譯lamp php mysql centos 7 編譯安裝lamp PHP簡介: PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特
阿里雲ECS例項 CentOS7 下搭建LNMP(Linux+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系
搭建LAMP(Centos7+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-