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. 洛谷 P1341 无序字母对(欧拉回路)

    题目传送门 解题思路: 一道欧拉回路的模板题,详细定理见大佬博客,任意门 AC代码: #include<cstdio> #include<iostream> using nam ...

  2. Window Jdk配置(win7/win10都可以)

    在计算机-右键属性-高级系统设置-环境标量-系统变量下进行如下配置: 1.新建->变量名:JAVA_HOME变量值:D:\Java\jdk1.6.0_12(这只是我的JDK安装路径) 2.编辑- ...

  3. ruoyi ShiroUtils

    package com.ruoyi.framework.util; import org.apache.shiro.SecurityUtils; import org.apache.shiro.cry ...

  4. 吴裕雄--天生自然ShellX学习笔记:Shell printf 命令

    printf 命令模仿 C 程序库(library)里的 printf() 程序. printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好. printf ...

  5. Java之线程通信的方法

    /** * 线程通信的例子:使用两个线程打印 1-100.线程1, 线程2 交替打印 * * 涉及到的三个方法: * wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器. * no ...

  6. luffy项目:基于vue与drf前后台分离项目(1)

    """ 1.业务逻辑:登录注册 - 主页(基础信息展示) - 课程页(复杂信息展示)- 课程订单生产与支付 - 上线订单生成 2.实际项目开发的技术点: git版本控制 ...

  7. python中的变量对象小结2

    # .变量名和数据内容是分开存储的. # .数据保存在内存中的一个位置(地址). # .变量中保存着数据在内存中的地址. # 引用就是变量中记录数据的地址. #不可变变量,重新赋值时会重新开辟一个地址 ...

  8. vue 中使用print.js 打印遇到的问题 ?

    不管怎么设置打印部分的 margin和height 仍会在预览时多出一张空白页?求各位大佬遇到过的请留言谢谢!

  9. Oracle之纵向数据转换横向数据

    资源二  来源  http://www.cnblogs.com/gkl0818/archive/2009/02/25/1398078.html 1.固定列数的行列转换如student subject ...

  10. 浙江省赛 ZOJ - 4033

    题意: 第一行给出T代表有几个测试样例, 第二行给出n代表有几个人, 第三行给出一个由0和1组成的字符串,0代表女生,1代表男生. 并且第i个人有i个宝石. 现在要把这些人分为四组,G1 G2 两组是 ...