1、SHELL编程作业&剖析演练
1)SHELL编程Nginx虚拟主机脚本;
 安装Nginx WEB平台;
 配置虚拟主机(1个网站);
 重启&加载配置文件;
 配置hosts,虚拟主机访问测试;
v1.jfedu.net
v2.jfedu.net
#!/bin/bash
#2019年7月3日20::
#auto config nginx vhosts.
#by author www.jfedu.net
########################
NGX_VER="$1"
NGX_VHOST="$2"
NGX_YUM="yum install -y"NGX_SRC="nginx-$NGX_VER"
NGX_DIR="/usr/local/nginx"
NGX_SOFT="nginx-${NGX_VER}.tar.gz"
NGX_ARGS="--user=www --group=www"
NGX_URL="http://nginx.org/download"
#Install Nginx WEB
$NGX_YUM wget make tar gzip
$NGX_YUM gcc pcre-devel zlib-devel
wget -c $NGX_URL/$NGX_SOFT
tar xzf $NGX_SOFT
cd $NGX_SRC
useradd -s /sbin/nologin www -M
./configure --prefix=$NGX_DIR $NGX_ARGS
make
make install
$NGX_DIR/sbin/nginx
ps -ef|grep nginx
netstat -tnlp|
setenforce
systemctl stop firewalld.service
#Config Nginx Virtual Hosts.
echo "worker_processes 1;
events {
worker_connections ;
}
http {
include
mime.types;
default_type application/octet-stream;
sendfile
on;
keepalive_timeout ;
include domains/*;
}
">$NGX_DIR/conf/nginx.conf
mkdir -p $NGX_DIR/conf/domains/
cd $NGX_DIR/conf/domains/
echo "
server {
listen
80;
server_name ${NGX_VHOST};
access_log logs/${NGX_VHOST}.access.log;
location / {
root
html/${NGX_VHOST};
index index.html index.htm;}
}
">${NGX_VHOST}
mkdir -p $NGX_DIR/html/${NGX_VHOST}
cd $NGX_DIR/html/${NGX_VHOST}/
echo "
<html>
<h1>Hostname:$HOSTNAME $NGX_VHOST Test Pages.</h1>
<hr color=red>
</html>
">index.html
$NGX_DIR/sbin/nginx -s reload
2)SHELL编程LNMP一键部署脚本;(Nginx1.16+MYSQL5.6+PHP5.6)
 安装Nginx WEB服务;
 安装MYSQL数据库服务;
 安装PHP FPM模块服务;
 配置Nginx Server主机&整合PHP-FPM(9000);
 创建phpinfo测试页面,通过浏览器访问;
#!/bin/bash
#2019年7月3日18::
#auto install lnmp web.
#by author www.jfedu.net
######################
#Install Nginx WEB.
wget -c http://nginx.org/download/nginx-1.16.0.tar.gz
.tar.gz
cd nginx-
yum install -y pcre-devel gcc make
useradd -s /sbin/nologin www -M
./configure --user=www --group=www --prefix=/usr/local/nginx
make && make install
/usr/local/nginx/sbin/nginx
setenforce
systemctl stop firewalld.service#Install MYSQL Database.
cd ../
yum install cmake ncurses-devel ncurses -y
wget -c
http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.43.tar.
gz
.tar.gz
cd mysql-
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT= \
-DWITH_XTRADB_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DENABLED_LOCAL_INFILE= \-DWITH_EXTRA_CHARSETS= \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES= \
-DWITH_DEBUG=
make
make install
#Config MYSQL Set System Service
cd /usr/local/mysql56/
\cp support-files/my-large.cnf /etc/my.cnf
\cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level  mysqld on
mkdir -p /data/mysql
useradd mysql
/usr/local/mysql56/scripts/mysql_install_db --user=mysql
--datadir=/data/mysql/ --basedir=/usr/local/mysql56/
ln -s /usr/local/mysql56/bin/* /usr/bin/
service mysqld restart
#Install PHP WEB 2018cd ../../
yum install libxml2 libxml2-devel -y
wget http://mirrors.sohu.com/php/php-5.6.28.tar.bz2
tar jxf php-5.6.28.tar.bz2
cd php-5.6.28
./configure --prefix=/usr/local/php5
--with-config-file-path=/usr/local/php5/etc
--with-mysql=/usr/local/mysql56/ --enable-fpm
make
make install
#Config LNMP WEB and Start Server.
cp php.ini-development
/usr/local/php5/etc/php.ini
cp /usr/local/php5/etc/php-fpm.conf.default
/usr/local/php5/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod o+x /etc/init.d/php-fpm
/etc/init.d/php-fpm start
echo "
worker_processes 1;
events {
worker_connections 1024;}
http {
include
mime.types;
default_type application/octet-stream;
sendfile
on;
keepalive_timeout 65;
server {
listen
80;
server_name localhost;
location / {
root
html;
fastcgi_pass
127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
\$document_root\$fastcgi_script_name;
include
fastcgi_params;
}
}
}" >/usr/local/nginx/conf/nginx.conf
echo "
<?phpphpinfo();
?>">/usr/local/nginx/html/index.php
/usr/local/nginx/sbin/nginx -s reload

SHELL用法二(练习)的更多相关文章

  1. Linux编程 9 (shell类型,shell父子关系,子shell用法)

    一. shell类型 1.1  交互式 bin/ shell程序 当用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器时,默认的shell程序就会开始运行.系统启动什么样的shell程序取决于你 ...

  2. 【转载】Jmeter之Bean shell使用(二)

    Jmeter之Bean shell使用(二) 原博文地址为:https://www.cnblogs.com/puresoul/p/4949889.html 其中需要注意的是——三.自定义函数中Bean ...

  3. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  4. react基础用法二(组件渲染)

    react基础用法二(组件渲染) 如图所示组件可以是函数 格式:function 方法名(){ return <标签>内容</标签>} 渲染格式: <方法名 />  ...

  5. Linux 反弹shell(二)反弹shell的本质

    Linux 反弹shell(二)反弹shell的本质 from:https://xz.aliyun.com/t/2549 0X00 前言 在上一篇文章 Linux反弹shell(一)文件描述符与重定向 ...

  6. 转 Jmeter之Bean shell使用(二)

    上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ...

  7. Jmeter之Bean shell使用(二)

    上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ...

  8. 转:Jmeter之Bean shell使用(二)

    上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ...

  9. 【jmeter】Bean shell使用(二)

    上一篇Jmeter之Bean shell使用(一)简单介绍了下Jmeter中的Bean shell,本文是对上文的一个补充,主要总结下常用的几种场景和方法,相信这些基本可以涵盖大部分的需求.本节内容如 ...

随机推荐

  1. Java学习笔记--精品札记

    forech循环增强版(JDK1.7新特性) for(数组单位元素类型 i:遍历目标数组){ 代码块 } char(只能放单个字符)数组可以直接遍历不需要循环,其他数组不可以,必须遍历 toStrin ...

  2. Eclipse Springboot项目Dokcer

    配置好Dockerfile FROM openjdk:8-jdk-alpine ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOIN ...

  3. HTTP Error 500.30 - ANCM In-Process Start Failure错误。.NET Core

    调试.NET Core项目.出现了以下的错误.学网上搞了好久IIS没卵用.然后根据微软的提示,解决了问题. 解决方法: 1. 目标平台换成Any  CPU 2.点击工具-获取工具和功能,把下面这个II ...

  4. 业内首发 | 区块链数据服务 - BDS

    区块链数据服务(Blockchain Data Service,BDS)是京东云区块链产品部发推出的,其将区块链的链式.非结构化数据通过技术手段进行结构化存储,实时同步到高性能数据仓库中. 用户可以通 ...

  5. React 渲染嵌套对象,内部对象会是undefined

    在编译器中获取数据 发现报错 原因: render()一加载就会渲染,渲染的数据是初始state里的值 ,当setState会再次渲染 解决方法 1.三元运算 判断对象是否存在 2.在初始化对象的时候 ...

  6. DataStructureAndAlgorithm--第 K 个最大值

    设有一组 N 个数而要确定其中第 K 个最大者,我们称之为选择问题(selection problem). 该问题的一种解法就是将这 N 个数读进一个数组中,再通过某种简单的算法,比如冒泡排序法,以递 ...

  7. 学习spring第二天

    Spring第二天笔记 1. 使用注解配置Spring入门 1.1. 说在前面 学习基于注解的IoC配置,大家脑海里首先得有一个认知,即注解配置和xml配置要实现的功能都是一样的,都是要降低程序间的耦 ...

  8. idea高效插件

    RestfulToolkit:url定位controller,快捷键:ctrl+\Maven Helper:依赖分析JRebel:热部署Rainbow Brackets:个性化花括号aiXcode:a ...

  9. TPO5-3 The Cambrian Explosion

    At one time, the animals present in these fossil beds were assigned to various modern animal groups, ...

  10. 视觉SLAM算法框架解析(2) ORB-SLAM

    版权声明:本文为博主原创文章,未经博主允许不得转载. ORB-SLAM[1]完全继承了PTAM(http://www.cnblogs.com/zonghaochen/p/8442699.html)的衣 ...