lnmp.sh

#!/bin/bash
#This project to install lnmp
#Author:菜逼cd命令玩家
#Time:2016.10.13
#objective:简化人工手动操作,完成一键部署lnmp环境
#email:1071179133@qq.com
#Blog address:http://www.cnblogs.com/chenjw-note/

#安装必须环境
yum install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pcre pcre-* openssl* -y
cd /home
#wget下载nginx
wget http://nginx.org/download/nginx-1.11.5.tar.gz
#解压缩
tar zxvf nginx-1.11.5.tar.gz
cd nginx-1.11.5
#运行编译安装
./configure --prefix=/usr/local/nginx-1.11.5 --with-http_ssl_module --with-http_stub_status_module --with-pcre
make && make install
#运行nginx
#/usr/local/nginx-1.11.5/sbin/nginx
#设置开机启动
echo "/usr/local/nginx-1.11.5/sbin/nginx" >> /etc/rc.local

#安装mysql
yum install -y mysql mysql-server
#设置开机启动
chkconfig mysqld on
#启动mysqld
service mysqld start

#安装PHP
cd /home
#wget下载php
wget http://cn2.php.net/distributions/php-7.0.11.tar.gz
#解压缩
tar zxvf php-7.0.11.tar.gz
cd php-7.0.11
#运行编译安装
./configure --prefix=/usr/local/php-7.0.11 --with-config-file-path=/usr/local/php-7.0.11/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
make && make install
#文件配置
cp php.ini-production /usr/local/php-7.0.11/etc/php.ini
cp /usr/local/php-7.0.11/etc/php-fpm.conf.default /usr/local/php-7.0.11/etc/php-fpm.conf
cp /usr/local/php-7.0.11/etc/php-fpm.d/www.conf.default /usr/local/php-7.0.11/etc/php-fpm.d/www.conf
#设置开机启动
echo "/usr/local/php-7.0.10/sbin/php-fpm" >> /etc/rc.local
#启动php-fpm
/usr/local/php-7.0.11/sbin/php-fpm

#整合nginx+php:
cd /home
#备份nginx配置文件
cp /usr/local/nginx-1.11.5/conf/nginx.conf /usr/local/nginx-1.11.5/conf/nginx.conf.bak
#删除原nginx.conf 35-79行的内容
sed -i '35,79d' /usr/local/nginx-1.11.5/conf/nginx.conf
#在配置文件nginx.conf 35行插入整合内容 n+p.txt上传在/home目录下
sed -i '35 r /home/n+p.txt' /usr/local/nginx-1.11.5/conf/nginx.conf

#启动nginx
#/usr/local/nginx-1.11.5/sbin/nginx -s stop
/usr/local/nginx-1.11.5/sbin/nginx

#创建测试页面
mkdir -p /data/lnmp
touch /data/lnmp/info.php
echo "<?php phpinfo(); ?>" > /data/lnmp/info.php

echo "==========================安装成功============================"

n+p.txt

server {
listen 80;
server_name localhost;
#access_log /data/logs/access.log main;

index index.php index.html index.html;
root /data/lnmp;

location /
{
try_files $uri $uri/ /index.php?$args;
}

location ~ .*\.(php)?$
{
expires -1s;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;

}
}

部署说明:

1.利用rz命令将lnmp.sh 和 n+p.txt 两个文件上传到服务器的/home下

2.赋予安装文件执行权限:chmod a+x lnmp.sh

3.运行安装文件:sh lnmp.sh

4.关闭防火墙或修改端口权限 service iptables stop

5.关闭selinux vim /etc/selinux/conf selinux=disable

拓展:

  在此基础下,还可以自动化安装zabbix!

有建议或有问题随时可以联系qq1071179133

lnmp环境自动化部署的更多相关文章

  1. 项目测试环境自动化部署[jenkins前后端配置、Nginx配置]

    持续部署:关注点在于项目功能部署到服务器后可以正常运行,为下一步测试环节或最终用户正式使用做准备.(问题点:一个环节有问题,其他环节跟着有问题) 持续集成:关注点是在于尽早发现项目整体运行问题,尽早解 ...

  2. CentOS7下搭建基本LNMP环境,部署WordPress

    系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nginx-1.12.2.tar.gz php 7.1.11 ...

  3. lnmp 环境下 部署 laravel 项目

    出现错误 Warning: require(): open_basedir restriction in effect. File(/xxxx/vendor/autoload.php) is not ...

  4. LNMP环境下部署搭建wordpress

    1. 下载WordPress安装包 访问官方网站https://cn.wordpress.org/ 点击Download.tar.gz下载linux平台安装包 2. 安装软件 2.1.上传安装包 使用 ...

  5. Thinkphp在Lnmp环境下部署项目先后报错问题解决:_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/...Access denied.

    首先报错:_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/769e70f2e46f34ceb60619bbda5e4691.php 解决此 ...

  6. .NET持续集成与自动化部署之路第三篇——测试环境到生产环境的一键部署策略(Windows)

    Jenkins测试环境到生产环境的一键部署策略(Windows) 一.前言     前面我们已经初步实现了开发集成环境.测试环境的持续集成(自动化构建.自动化测试.自动化部署).但生产环境自动化部署迟 ...

  7. Linux实战教学笔记28:企业级LNMP环境应用实践

    一,LNMP应用环境 1.1 LNMP介绍 大约在2010年以前,互联网公司最常用的经典Web服务环境组合就是LAMP(即Linux,Apache,MySQL,PHP),近几年随着Nginx Web服 ...

  8. centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解

    centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...

  9. jenkins+git+maven搭建自动化部署项目环境

    简介    折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...

随机推荐

  1. 3. 什么是JSR参考实现? - JavaEE基础系列

    本文是JavaEE基础系列的第三节. Java EE简介 - JavaEE基础系列 JSR简介 - JavaEE基础系列 上一节中, 我们介绍了什么是JSR.JSR就是一个提交到JCP的抽象请求,包含 ...

  2. UIview的一些属性

    一.UIView(视图\控件)1.在屏幕上能看得见.摸得着的东西,都是UIView对象2.任何UIView都可以充当其他UIView的容器3.关于UIView的一些疑问1> 谁来管理UIView ...

  3. python数据取整

    第三方包:numpy 安装 $ sudo dnf install numpy 4舍6入5取偶 def getInteger(): a = np.float(5.5) # 4舍6入 5取偶 int_a ...

  4. MYSQL 调优和使用必读

    转载自:http://blog.eood.cn/mysql#rd?sukey=fc78a68049a14bb29c60f21c5254b15a1a9234459cf25ff467de14129ca11 ...

  5. 浅析Java虚拟机结构与机制

    转载自:http://blog.hesey.net/2011/04/introduction-to-java-virtual-machine.html http://coolshell.cn/arti ...

  6. POJ1201 Intervals【差分约束系统】

    Description You are given n closed, integer intervals [ai, bi] and n integers c1, ..., cn. Write a p ...

  7. BZOJ1878 SDOI2009 HH的项链 【莫队】

    BZOJ1878 SDOI2009 HH的项链 Description HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的 ...

  8. vw+vh+rem响应式布局

    科普下: 平时很少用的css单位: 1.长度单位: rem:相对长度单位.相对于根元素(即html元素)font-size计算值的倍数; vw:相对于视口的宽度.视口被均分为100单位的vw; vh: ...

  9. altera官方推荐时钟使用方法

    Register Combinational Logic Outputs If you use the output from combinational logic as a clock signa ...

  10. ballerina 学习十二 变量

    ballerina 有两种方式进行变量的定义,类型加上名称以及初始值.,使用var 关键字 简单例子 代码 import ballerina/io; // 全局public 变量,使用类型定义 pub ...