shell脚本--lnmp架构-实战部署

 shell脚本实战

                                ----一键部署LNMP架构

LNMP使用shell实战部署,直接上主题,首先需要准备的包文件,我这里命名为zhunbei的文件。

zhunbei文件内容:

gcc gcc-c++ automake autoconf libtool make openssl openssl-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel mysql-server

以上为zhunbei文件中的需要安装的安装包,为下面的LNMP的shell脚本做铺垫。

LNMPshell脚本编写:

#!/bin/bash

#定义变量

AA=/soft

BB=$(cat /zhunbei.txt)

#检测目录(没有则创建)

if [ ! -d /soft ]

then

mkdir /soft

fi

#下载软件包

wget http://ftp.exim.llorien.org/pcre/pcre-8.36.tar.gz -P $AA

wget http://zlib.net/zlib-1.2.8.tar.gz -P $AA

wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz -P $AA

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz -P $AA

wget http://tengine.taobao.org/download/tengine-2.1.2.tar.gz -P $AA

wget http://museum.php.net/php5/php-5.6.1.tar.gz  -P  $AA

for a in  $BB/*

do

yum  -y  install  $BB

done

cd $AA

for i in $AA/*.tar.gz

do

tar  -xzf  $i -C  $AA

done

#安装pcre

cd $AA/pcre-8.36/

./configure &&  make  &&  make install

#安装zlib

cd $AA/zlib-1.2.8/

./configure &&  make  &&  make  install

#安装nginx

cd $AA/tengine-2.1.2/

./configure --sbin-path=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-http_stub_status_module --with-pcre=/soft/pcre-8.36 --with-zlib=/soft/zlib-1.2.8 --with-openssl=/soft/openssl-1.0.1c

make &&  make  install

#启动nginx服务

/usr/local/nginx/nginx

#安装libmcrypt

cd  $AA/libmcrypt-2.5.7/

./configure --prefix=/usr/local  &&  make  &&  make  install

#安装php软件包

cd  $AA/php-5.6.1/

./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash  --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --enable-opcache=no

make  &&  make  install

#配置PHP-fpm配置文件

cp  /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf

#重启nginx服务

/usr/local/nginx/nginx -s reload

启动php-fpm服务

/usr/local/php/sbin/php-fpm

启动mysql

service  mysqld  start

给shell 执行权限就可以安装部署了!

时间: 2024-11-06 09:59:36

shell脚本--lnmp架构-实战部署的相关文章

Linux系统shell脚本编程——生产实战案例

Linux系统shell脚本编程--生产实战案例     在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要结合shell脚本来实现批量检查的功能,那么今天就来做个小小的实验. 1.开发脚本前准备 一般大家都知道,测试主机是否在线,常用的命令无非就是ping.nmap,因此,首先找一个地址来测试下ping命令的效果 [[email protected] scripts]

Centos 7搭建LNMP架构及部署Discuz论坛

一.LNMP架构及应用部署 众所周知,LAMP平台时目前应用最为广泛的网站服务器架构,其中的"A"对应着web服务软件的Apache HTTP Server ,随着Nginx在工作环境中的使用越来越多,LNMP(或LEMP)架构也受到越来越多的Linux运维工程师的青睐. 就像构建LAMP平台一样,构建LNMP平台也需要Linux服务器.MySQL数据库.PHP解析环境,区别主义在于Nginx与PHP的协作配置上. 准备工作 Centos 7操作系统一台:Windows 客户端一台:案

linux入门系列20--Web服务之LNMP架构实战

作为本入门系列最后一篇文章,将演示如何在CentOS7环境下搭建LNMP环境来构建个人博客网站. 常见搭建网站的方式有LAMP.LNMP.IIS.Nginx.Tomcat等等,本文演示比较流行的基于LNMP方式来搭建动态WEB网站. 正如前文"linux入门系列6--软件包管理之rpm和yum仓库"所述,在Linux上安装软件通常有几种方式:通过编译源码安装.通过RPM安装.通过YUM仓库安装.截至目前,前面的文章都是通过yum或rpm方式进行安装,本文演示通过源码包方式进行安装. 一

通过shell脚本实现代码自动化部署

一.传统部署方式及优缺点 1.传统部署方式 (1)纯手工scp (2)纯手工登录git pull.svn update (3)纯手工xftp往上拉 (4)开发给打一个压缩包,rz上去:解压 2.缺点 (1)全程运维参与,占用大量时间 (2)上线速度慢 (3)人为失误多,管理混乱 (4)回滚慢,不及时 二.环境规划 1.开发环境--开发者本地有自己的环境. 运维需要设置的开发环境,大家共用的服务. 2.测试环境:功能测试环境和性能测试环境. 3.预生产环境:生产环境集群中的某一个节点. 4.生产环

Linux Shell脚本之远程自动部署java maven项目

脚本功能: 自动从git上获取java maven项目工程源码,在机器A上build,build完成后,将Class文件和配置文件等上传到机器B,重新启动机器B上的服务以便变更生效. 脚本特点: 1.(与之前的自动部署脚本相比)全新优化了脚本代码,更friendly,结构更紧凑 2.Public header删除了无用或者不好用的有色彩显示函数,并修正了WORKDIR不是绝对路径可能导致的bug 3.修正了域名解析判断是否正常的一个bug,该bug可能导致遇到无法解析后不断尝试解析 4.全新的m

二、Shell脚本高级编程实战第二部

一.什么是变量? 变量就是一个固定的字符串替代更多更复杂的内容,当然内容里面可能还有变量.路径.字符串等等内容,最大的特点就是方便,更好开展工作 1.变量有环境变量(全局变量)和局部变量 环境变量就是全局变量,可以在创建他们的shell及派生shell都可以用 局部变量只能在创建他们的shell中使用. 个人认为这个也不是很严谨,因为就像之前上篇讲到的,如果在某个脚本中定义了一个局部变量,例如:source   xx.sh   或者   .(点) xx.sh  呢?  同样可以调用脚本中的变量.

开发shell脚本检查Nginx实战分享

一.本脚本实现功能: 1.自动检查Nginx下面的代理节点是否正常 2.通过页面显示状态,有问题的节点给出页面报警及声音报警. 3.增加新节点,页面自动载入新节点,无需修改程序. 二.守护检查脚本 [[email protected] extra]# cd /server/scripts/ [[email protected] scripts]# vi nginx_check.sh #!/bin/bash # oldboy training 21 zhangyao # Defined varia

LNMP 架构安装部署

PHP 安装 LNMP 下 php 在 Apache 服务下是 libphp5.so nginx 服务下是 9000 端口 #确保 web 服务和 MySQL 正常 143 [[email protected] nginx-1.6.2]# netstat -lntup|egrep "nginx|mysql" tcp             0          0 0.0.0.0:80                              0.0.0.0:*            

六、Shell脚本高级编程实战第六部

一.写一个start_nginx脚本,当启动.停止.重启时利用系统函数模拟实现系统脚本启动的特殊颜色效果 (用if实现) #!/bin/sh. /etc/init.d/functions if [ $# -ne 1 ]  then   echo "USAGE $0 {start|stop|restart}"   exit 1fi if [ "$1" == "start" ]  then    action "start nginx&qu