shell脚本-LNMP动态网站架构一键部署

#!/bin/bash

# 一键部署 LNMP(源码安装版本)

menu()

{
clear

echo " ##############‐‐‐‐Menu‐‐‐‐##############"

echo "# 1. Install Nginx"

echo "# 2. Install MySQL"

echo "# 3. Install PHP"

echo "# 4. Exit Program"

echo " ########################################"

}


choice()

{

read -p "Please choice a menu[1‐9]:" select

}


install_nginx()

{

id nginx &>/dev/null

if [ $? -ne 0 ];then

useradd -s /sbin/nologin nginx

fi

if [ -f nginx‐1.8.0.tar.gz ];then

tar -xf nginx‐1.8.0.tar.gz

cd nginx‐1.8.0

yum -y install gcc pcre‐devel openssl‐devel zlib‐devel make

./configure ‐‐prefix=/usr/local/nginx ‐‐with‐http_ssl_module

make

make install

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/

cd ..

else

echo "没有 Nginx 源码包"

fi

}


install_mysql()

{

yum -y install gcc gcc‐c++ cmake ncurses‐devel perl

id mysql &>/dev/null

if [ $? -ne 0 ];then

useradd -s /sbin/nologin mysql

fi

if [ -f mysql‐5.6.25.tar.gz ];then

tar -xf mysql‐5.6.25.tar.gz

cd mysql‐5.6.25

cmake .

make

make install

/usr/local/mysql/scripts/mysql_install_db ‐‐user=mysql ‐‐datadir=/usr/local/mysql/data/

‐‐basedir=/usr/local/mysql/

chown -R root.mysql /usr/local/mysql

chown -R mysql /usr/local/mysql/data

/bin/cp -f /usr/local/mysql/support‐files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

/bin/cp -f /usr/local/mysql/support‐files/my‐default.cnf /etc/my.cnf

echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf

ldconfig

echo 'PATH=\$PATH:/usr/local/mysql/bin/' >> /etc/profile

export PATH

else

echo "没有 mysql 源码包"

exit

fi

}


install_php()

{

#安装 php 时没有指定启动哪些模块功能,如果的用户可以根据实际情况自行添加额外功能如‐‐with‐gd 等

yum -y install gcc libxml2‐devel

if [ -f mhash‐0.9.9.9.tar.gz ];then

tar -xf mhash‐0.9.9.9.tar.gz

cd mhash‐0.9.9.9

./configure

make

make install

cd ..

if [ ! ‐f /usr/lib/libmhash.so ];then

ln -s /usr/local/lib/libmhash.so /usr/lib/

fi

ldconfig

else

echo "没有 mhash 源码包文件"

exit

fi

if [ -f libmcrypt‐2.5.8.tar.gz ];then

tar -xf libmcrypt‐2.5.8.tar.gz

cd libmcrypt‐2.5.8

./configure

make

make install

cd ..

if [ ! -f /usr/lib/libmcrypt.so ];then

ln -s /usr/local/lib/libmcrypt.so /usr/lib/

fi

ldconfig

else

echo "没有 libmcrypt 源码包文件"

exit

fi

if [ -f php‐5.4.24.tar.gz ];then

tar -xf php‐5.4.24.tar.gz

cd php‐5.4.24

./configure ‐‐prefix=/usr/local/php5 ‐‐with‐mysql=/usr/local/mysql ‐‐enable‐fpm ‐‐

enable‐mbstring ‐‐with‐mcrypt ‐‐with‐mhash ‐‐with‐config‐file‐path=/usr/local/php5/etc ‐‐with‐

mysqli=/usr/local/mysql/bin/mysql_config

make && make install

/bin/cp -f php.ini‐production /usr/local/php5/etc/php.ini

/bin/cp -f /usr/local/php5/etc/php‐fpm.conf.default /usr/local/php5/etc/php‐fpm.conf

cd ..

else

echo "没有 php 源码包文件"

exit

fi

}


while :

do

menu

choice

case $select in

1)

install_nginx

;;

2)

install_mysql

;;

3)

install_php

;;

4)

exit

;;

*)

echo Sorry!

esac

done


  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值