一键部署mysql,php,nginx,通过源码安装部署

#!/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 ];then
useradd -s /sbin/nologin nginx
fi
if [ -f nginx‐1.8..tar.gz ];then
tar -xf nginx‐1.8..tar.gz
cd nginx‐1.8.
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 ];then
useradd -s /sbin/nologin mysql
fi
if [ -f mysql‐5.6..tar.gz ];then
tar -xf mysql‐5.6..tar.gz
cd mysql‐5.6.
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..tar.gz ];then
tar -xf libmcrypt‐2.5..tar.gz
cd libmcrypt‐2.5.
./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..tar.gz ];then
tar -xf php‐5.4..tar.gz
cd php‐5.4.
./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
)
install_nginx
;;
)
install_mysql
;;
)
install_php
;;
)
exit
;;
*)
echo Sorry!
esac
done

最新文章

  1. 初识exception
  2. Python操作Redis、Memcache、RabbitMQ、SQLAlchemy
  3. sql server 2008笔记
  4. DirectShow 最简单的入门 -- 播放一段视频
  5. SQL中的自定义函数Function
  6. [Practical Git] Show who changed a line last with git blame
  7. Android(java)学习笔记163:Android开发时候颜色设置是bgr不是rgb
  8. CI框架uri去掉index.php
  9. CSS小例收藏
  10. web开发|如何选择合适的webui框架
  11. OKMX6Q在ltib生成的rootfs基础上制作带QT库的根文件系统
  12. BZOJ 1502: [NOI2005]月下柠檬树 [辛普森积分 解析几何 圆]
  13. locust压测rpc协议
  14. 转发自:一像素 十大经典排序算法(动图演示)原链接:https://www.cnblogs.com/onepixel/articles/7674659.html 个人收藏所用 侵删
  15. Fiddler抓包学习
  16. QML-开发中遇到的错误收集
  17. OpenCV中RGB和HSV转换的问题
  18. Mac下IDE无法读取环境变量问题
  19. 8.8 正睿暑期集训营 Day5
  20. python-log-env

热门文章

  1. PHP Loser 说说做前端需要如何进一步学习
  2. centos7设置服务开机自启
  3. A:linux基础章节导航
  4. 系统重装/装Anaconda后,Windows开始菜单缺少快捷方式解决方案
  5. C语言中的顺序点
  6. react+ant-mobile+lib-flexible构建移动端项目适应设计图尺寸(750)
  7. Java变量在内存中的存储
  8. SpringCloud中Feign的适配器的实现方案
  9. PHP+jQuery开发简单的翻牌抽奖实例
  10. SpringCloud(一):了解SpringCloud