Linux运维周作业三(6.10-6.16)

1. 总结raid 0, 1, 5, 10, 01的工作原理。总结各自的利用率,冗余性,性能,至少几个硬盘实现。

RAID0:

工作原理:将连续的数据分散到多个磁盘上存取,通过这种方式,系统有数据请求时,多个磁盘可以并行执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体的存取性能

磁盘利用率100%,无容错能力,没有冗余功能,读,写性能提升,最少磁盘数1+,实际要提升读写性能至少需要2块磁盘

RAID1:

工作原理:两块磁盘写入同样的数据,有完整的数据备份

磁盘利用率50%,有冗余能力,读性能提升,写性能略有下降,最少磁盘数:2+

RAID5:

工作原理:数据和与其相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据

磁盘利用率2/3,有容错能力,允许最多1块磁盘损坏,读,写性能提升,最少磁盘数3

RAID-10:

工作原理:多块磁盘先实现RAID1,再组合成RAID0

磁盘利用率50%,有容错能力,每组镜像最多只能坏1块,读,写性能提升,最少磁盘数4

RAID-01:

工作原理:多块磁盘先实现RAID0,再组合成RAID1

磁盘利用率50%,有容错能力,允许RAID0每组中两块磁盘同时坏,但不可以每组磁盘各坏一块,读、写性能提升,最少磁盘数4块


2. 完成对LVM磁盘扩容及缩容示例。

虚拟机上加两块硬盘

新加硬盘定义别名扫描:alias scandisk="for i in {1..`ll /sys/class/scsi_host | awk -F '/host' '{print $NF}'|sort -rV|tail -n+2|head -n1`};do echo - - - > '/sys/class/scsi_host/host$i/scan';done"            写入.bashrc文件永久有效,定义别名搜索新加 硬盘      -V按实际数字排序

或者alias scandisk="for i in /sys/class/scsi_host/host*/scan;do echo ' -  -  - ' > $i;done"

[root@zhao ~]# lsblk

sdb和sdc已经扫描出来

[root@zhao ~]# fdisk /dev/sdb                   针对sdb进行分区

Command (m for help): n                                    创建分区

Select (default p): p                                                创建主分区

Partition number (1-4, default 1):                            默认回车

First sector (2048-41943039, default 2048):              默认回车

Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +5G              分配5G空间

[root@zhao ~]# yum -y install lvm2                        安装pv工具包

块设备---pvcreate--->Physical Volumes--->vgcreate--->Volume Group--->lvcreate--->Logical volumes

[root@zhao ~]# pvcreate /dev/sd{b1,c}            进行初始化          

[root@zhao ~]# pvs

[root@zhao ~]# vgcreate -s 16M testvg /dev/sd{b1,c}                创建lvm卷组

[root@zhao ~]# lvcreate -n mysql_lv -L 6G testvg             创建逻辑卷  

[root@zhao ~]# lvcreate -n log_lv -L 9G testvg

[root@zhao ~]# mkfs.ext4 /dev/testvg/mysql_lv      创建文件系统

[root@zhao ~]# mkfs.xfs /dev/testvg/log_lv

[root@zhao ~]# blkid    查看UUID

[root@zhao ~]# vim /etc/fstab     写入文件里永久生效

UUID=3c55b3ac-db2f-4775-b83a-8cdaefec900b /mysql ext4 defaults 0 0

UUID=61eec578-4533-476f-aba5-55d50854c0b8  /logs        xfs    defaults        0 0

:wq

[root@zhao ~]# mount -a     挂载生效

扩容:[root@zhao ~]# lvextend -l +100%free /dev/testvg/mysql_lv                 

新加的由于缺少文件系统未识别出来

[root@zhao ~]# resize2fs /dev/testvg/mysql_lv         针对ext4文件系统的同步

[root@zhao ~]# xfs_growfs /dev/testvg/mysql_lv          针对xfs文件系统的同步

或者扩容时候加选项

[root@zhao ~]# lvextend -r -l +100%free /dev/testvg/mysql_lv

缩容有风险,建议先备份,而且只能离线缩容,需要提前取消挂载,只支持ext4,不支持xfs(分5步)

1.取消挂载[root@zhao ~]# umount /mysql

2.检查[root@zhao ~]# fsck -f /dev/test_lv/mysql_lv

3.缩减到4G[root@zhao ~]# resize2fs /dev/test_lv/mysql_lv 4G

4.缩减逻辑卷[root@zhao ~]# lvreduce -L 4G /dev/test_lv/mysql_lv

5.重新挂载[root@zhao ~]# mount -a

如果重新挂载失败,可以尝试修复

[root@zhao ~]# fsck /dev/mapper/test_lv-mysql_lv

还找不回来只能格式化了

[root@zhao ~]# mkfs.ext4 /dev/mapper/test_lv-mysql_lv

3. 总结程序包管理器有哪些,以及包中包含什么内容的文件,尝试这些文件如何获取命令获取? yum/dnf/apt总结程序包获取途径,以及rpm, yum, apt命令选项示例。

主流的程序包管理器

·    redhat:rpm文件,rpm包管理器,

·    debian:deb文件,dpkg包管理器

程序包管理器相关文件

·    元数据,如包的名称,版本,依赖性,描述等

·     可能会有包安装或卸载是运行的脚步

·     程序包名称及版本

·     依赖关系

·     功能说明

·     包安装后生成的各文件路径及校验码信息

获取程序包的途径

·     系统发版的光盘或官网

CentOS镜像:

https://mirrors.aliyun.com

http://www.centos.org/download/

https://mirrors.huaweicloud.com/

https://mirror.tuna.tsinghua.edu.cn/

http://mirrors.sohu.com

http://mirrors.163.com

Ubuntu镜像:

http://cdimage.ubuntu.com/releases/

http://releases.ubuntu.com

·      第三方组织提供

Fedora-EPEL:

https://fedoraproject.org/wiki/EPEL

https://mirrors.aliyun.com/epel/

https://mirrors.cloud.tencent.com/epel/

SCL:

https://wiki.centos.org/SpecialInterestGroup/SCLo

·      软件项目官方站点

http://yum.mariadb.org/10.4/centos8-amd64/rpms/

http://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/

·      搜索引擎

http://pkgs.org

http://rpmfind.net

http://rpm.pbone.net

https://sourceforge.net/

·      自己制作

将源码文件,利用工具,如:rpmbuild,fpm等工具制作成rpm包文件

rpm选项示例:

-a, --all query/verify all packages

  -f, --file                        query/verify package(s) owning file

  -g, --group                        query/verify package(s) in group

  -p, --package                      query/verify a package file

yum选项示例

-c [config file], --config [config file]

                        config file location

  -q, --quiet          quiet operation

  -v, --verbose        verbose operation

  --version            show YUM version and exit

  --installroot [path]  set install root

yum install remove repolist list search provides history clean all

apt选项示例:

list - list packages based on package names

  search - search in package descriptions

  show - show package details

  install - install packages

  reinstall - reinstall packages

  remove - remove packages

  autoremove - Remove automatically all unused packages

  update - update list of available packages

  upgrade - upgrade the system by installing/upgrading packages

  full-upgrade - upgrade the system by removing/installing/upgrading packages

  edit-sources - edit the source information file

  satisfy - satisfy dependency strings

4. 简要总结yum/dnf工作原理。并搭建私有yum仓库(base, epel源)给另一个虚拟机使用。

工作原理:先在yum服务器上创建yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关元数据文件(放置于特定目录repodata下),当yum客户端利用yum、dnf工具进行安装包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装

搭建私有yum仓库

利用服务器自身的cd下yum源文件作为服务器的base源

[root@rocky8 ~]# yum -y install autofs

[root@rocky8 ~]# systemctl enable --now autofs

[root@rocky8 ~]# ls /misc/cd

[root@rocky8 ~]# yum -y install httpd

[root@rocky8 ~]# systemctl enable --now httpd

[root@rocky8 ~]# mkdir /var/www/html/rocky/8 -pv

[root@rocky8 ~]# cp -a /misc/cd/BaseOS /var/www/html/rocky/8/

[root@rocky8 ~]# cp -R /misc/cd/AppStream /var/www/html/rocky/8/

http://10.0.0.8/rocky/8/     发现已经可以打开yum源仓库

下载阿里云的extras源,制作私有yum源

[root@rocky8 ~]# dnf reposync --repoid=extras --download-metadata -p /var/www/html/

客户端配置

[root@rocky8-1 ~]# cd /etc/yum.repos.d/

[root@rocky8-1 yum.repos.d]# rename .repo .repo.bak *.repo          备份

[root@rocky8-1 yum.repos.d]# vim test.repo

客户端配置
可以正常用yum安装源了

5. 总结系统安装之后的常用初始化步骤。rocky/ubuntu

rocky初始化:

关闭防火墙

systemctl disable --now firewalld

关闭selinux

sed -i.bak '/SELINUX=enforciing/c SELINUX=disabled' /etc/sysconfig/selinux

镜像源指向阿里

sed -e 's|^mirrorlist=|#mirrorlist=|g' \

    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \

    -i.bak \

    /etc/yum.repos.d/Rocky-*.repo

dnf makecache

设置时区

timedatectl set-timezone Asia/Shanghai

安装常用包

yum -y install bash-completion psmisc lrzsz  tree man-pages redhat-lsb-core zip unzip bzip2 wget tcpdump ftp rsync vim lsof tmux  strace

yum install epel-release.noarch -y

yum install screen -y 

修改网卡名eth0,并设置静态IP

mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0

[root@rocky8-1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0  <<EOF

> BOOTPROTO=static

> ONBOOT=yes

> IPADDR=10.0.0.8

> PREFIX=24

> GATEWAY=10.0.0.2

> DNS1=180.76.76.76

> DNS2=114.114.114.114

> EOF

sed -r -i.bak 's/^(GRUB_CMDLINE_LINUX=.*)"$/\1 net.ifnames=0"/' /etc/default/grub

grub2-mkconfig -o /etc/grub2.cfg ;reboot

6. 解读一键安装httpd脚本,并自行实现一个一键安装脚本,要求

1)基于位置变量传递版本号

2)基于独立函数进行初始化步骤,禁用防火墙,安装开发依赖包。

3)基于独立函数进行下载包,解压包。

4)基于独立函数进行编译,安装包。

5)基于独立函数完成链接包。

6)启动服务,并输出自定义的语句,安装xxx服务

#!/bin/bash

. /etc/os-release

NGINX_VERSION=$1

INSTALL_DIR=/apps/nginx

wget_gz(){

    wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz || { echo "下载失败!";exit 20;  }

    tar xf nginx-${NGINX_VERSION}.tar.gz -C /usr/local/src

}

initialization(){

    if [ $NAME -ne Rocky Linux ];then

    echo "不支持的操作系统"

  else

  systemctl disabled --now firewalld

  yum -y install gcc openssl-devel pcre-devel

fi

}

make_install(){

cd /usr/local/src/nginx-${NGINX_VERSION}

./configure --prefix=${INSTALL_DIR} --with-http_ssl_module

make -j `grep -c processor /proc/cpuinfo`&& make install

if [ $? -ne 0 ];then

    echo Install nginx is failed!

    exit 10

else

    echo "Install nginx is finished!"

fi

}

wget_gz

initialization

make_install

/apps/nginx/sbin/nginx

echo "<h1>welcome to N89 nginx website </h1>" > ${INSTALL_DIR}/html/index.html

7. 总结开放系统互联OSI模型,每层作用及对应的协议。

物理层:在局部局域网上传送数据帧(Data Frame),它负责管理电脑通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、主机接口卡等

数据链路层:负责网络寻址、错误侦测和改错。以太网、无线局域网和通用分组无线服务等,分为两个子层:逻辑链路控制子层和介质访问控制子层

网络层:决定数据的路径选择和转寄,将网络表头加至数据包,以形成报文,网络表头包含了网络数据。例如:互联网协议IP等

传输层:把传输表头加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议TCP等

会话层:负责在数据传输中设置和维护电脑网络中两台电脑之间的通信

表示层:把数据转换为能与接收者的系统格式兼容并适合传输的格式

应用层:提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如:http、https、ftp、telnet、ssh、smtp、pop3、MySQL等

8. 调整动态端口范围为20000-60000

echo 20000 60000 > /proc/sys/net/ipv4/ip_local_port_range 

9. 总结TCP包头结构,TCP三次握手,4次挥手。

TCP包头结构:源、目标端口;序列号;确认号;数据偏移;URG;ACK;PSH;RST;SYN;FIN;窗口大小;校验和;紧急指针;选项部分

TCP三次握手

第一次握手:客户端向服务端发送同步报文,进入SYN-SENT状态;

第二次握手:服务端收到连接请求报文段后,会将连接放入半连接队列中,并向客户端发送同步确认报文,进入SYN-RECEIVED状态;

第三次握手:客户端收到应答,向服务端发送确认报文,进入ESTABLISHED状态,此时成功建立连接。

四次挥手

第一次挥手:客户端数据发送完毕,向服务端发送终止报文请求释放连接;

第二次挥手:服务器收到连接释放请求,告诉应用层释放TCP连接。然后发送确认报文,进入CLOSE-WAIT状态,此时表明客户端到服务端的连接已经释放,不再接受客户端的数据。但是因为TCP是全双工的,所以服务器仍可以发送数据;

第三次挥手:当服务端数据发送完毕,向客户端发送终止报文,发送连接释放请求,进入LAST-ACK状态;

第四次挥手:客户端收到连接释放请求,向服务器端发送确认报文,此时客户端进入TIME-WAIT状态,会等待2MSL,若期间没有收到服务器端的数据报文,进入CLOSED状态。服务器端在收到确认应答后也进入CLOSED状态。

10. 总结主机到主机的包传递过程。

主机A与主机B通信,A Ping B,图:A-交换机-B,AB同一子网

(1)ping数据包用的是ICMP协议,IP协议的一个子协议,位于三层,包含A的IP,B的IP,三层进行IP封装成包,进入二层

(2)A,B处于相同子网,查看缓存中对与目的对应得B第2层mac地址,如果存在,直接进行第2层封装成帧,经物理层信号编码,以0101010010这样的bits流传输在网络介质上。

(3)如果不存在B的MAC,则发送ARP广播请求B的MAC,ARP数据包经物理层进入交换机端口,需要进行源端口号学习,目的端口查找,B响应ARP请求,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。B通过ARP单播把B的MAC响应给A,此时再返回(2)的处理过程。

(4)当再进行A与B之间数据包转发,将直接用B的MAC地址封装,数据转发得以高速交换

主机A与主机C通信,A Ping C,图:A-交换机-路由器M-路由器N-交换机-C,AC不同子网

(1)两个机器不在同一子网内,A要与目的C通信,A要向“缺省网关”发出ARP包,而“缺省网关”的IP地址已经在A系统软件中设置。这个IP地址实际上对应路由器M的E0的IP地址。所以A对“缺省网关”的IP地址广播出一个ARP请求时,路由器M的E0口的MAC回复给A,此时A数据包的目的MAC替换为M的E0口MAC。

(2)MAC替换后,经物理层,传输到交换机物理层,再传到交换机数据链路层,再经数据数据链路层到物理层。

(3)经bit流传到路由器M的物理层,然后传到数据链路层,二层解封装,目的IP与路由器M三层IP路由表比较,若匹配正确,交给上层处理,否则会缓存数据包内容,然后根据目标地址查找路由表找到相关表项,得到NEXT HOP及出接口的MAC地址,用这两个地址作为新的目的及源MAC地址封装事先缓存的数据包,然后转发,这个过程称为帧的重写(REWRITE)。

(4)重复进行MAC替换后, 在路由器N中,找到与目的IP匹配表项,若N中存在C对应的MAC表项,则数据传输到C网络层,否则N发送ARP广播请求C的MAC。

(5)当C收到A的数据包后,再从A到C进行一次反向MAC替换过程。反向过程中,每一步省略掉ARP请求NEXT HOP的MAC,因为MAC表已经建立起来。

IP报文传输过程包括:

1. Host sends packet to default gateway(主机将数据包发送到默认网关)

2. Packet placed in frame(数据包被封装入帧)

3. Router receives frame(路由器接到帧)

4. Router finds destination network in route table(路由器在路由表中发现目标网络)

5. Router chooses next hop toward destination(路由器选择一个更接近目标的下一跳)

6. MAC address of next hop determined(下一跳的MAC地址被确定)

7. Packet placed in frame(数据包被封装入帧)

8. Repeats steps 2 through 7 as necessary(如果需要的话,重复步骤2~7)

9. Router receives frame(路由器接到帧)

10. Router finds network directly connected(路由器发现直连网络)

11. MAC address of end host determined(最终主机的MAC地址被确定)

12. Packet placed in frame to final destination(帧中的数据包被发送到最终主机)

11. 总结IP地址 A, B, C, D 类,并解析IP地址的组成

A类地址:网络ID位是高8位,主机ID是低24位;网络数量:2^7-2=126;每个网络中主机数:2^24-2=16777214;默认子网掩码:255.0.0.0;私网地址:10.0.0.0

B类地址:网络ID位是高16位,主机ID是低16位;网络数量:2^14=16384;每个网络中的主机数:2^16-2=65534;默认子网掩码:255.255.0.0;私网地址:172.16.0.0-172.31.0.0

C类地址:网络ID位是高24位,主机ID是低8位;网络数量:2^21=2097152;每个网络中的主机数2^8-2=254;默认子网掩码:255.255.255.0;私网地址:192.168.0.0-192.168.255.0

D类地址:组播

IP地址组成

IP地址由两部分组成,网络ID(标识网络,每个网段分配一个网络ID,处于高位)和主机ID(标识单个主机,由组织分配给各设备,处于低位)

12. 201.222.200.111/18计算主机数?子网掩码?说明计算方法。

主机数:2^(32-18)-2=16382

子网掩码:255.255.192.0                  (计算方法:16位子网掩码是255.255.0.0,18位比16位高2位,即子网掩码第三位是128+64=192)

13. 当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?

A(10.0.1.1/16)的全部地址是10.0.0.0----->10.0.255.255,由于B(10.0.2.2/24)包含在A的全部地址内,因此A认为B在同一个网段

A认为B在同一个网段,所以A可以发送报文给B,但是B的子网是24位,与B通信只可能是10.0.2.0-10.0.2.255,不包含A,所有B不会应答,因此A和B不能通信

14. 如何将10.0.0.0/8划分32个子网?

求每个子网的掩码,主机数。

因为10.0.0.0/8是B类地址,划分32个子网,只需要将10.0.0.0/8的256个B除以32即可,则用256/32=8

每个子网的掩码255.248.0.0    即13位掩码  主机数:2^(32-13)-2=524286

10 0 0 0 ---> 10 7 255 255

10 8 0 0 ---> 10 15 255 255

10 16 0 0 ---> 10 23 255 255

10 24 0 0 ---> 10 31 255 255

10 32 0 0 ---> 10 39 255 255

10 40 0 0 ---> 10 47 255 255

10 48 0 0 ---> 10 55 255 255

10 56 0 0 ---> 10 63 255 255

10 64 0 0 ---> 10 71 255 255

10 72 0 0 ---> 10 79 255 255

10 80 0 0 ---> 10 87 255 255

10 88 0 0 ---> 10 95 255 255

10 96 0 0 ---> 10 103 255 255

10 104 0 0 ---> 10 111 255 255

10 112 0 0 ---> 10 119 255 255

10 120 0 0 ---> 10 127 255 255

10 128 0 0 ---> 10 135 255 255

10 136 0 0 ---> 10 143 255 255

10 144 0 0 ---> 10 151 255 255

10 152 0 0 ---> 10 159 255 255

10 160 0 0 ---> 10 167 255 255

10 168 0 0 ---> 10 175 255 255

10 176 0 0 ---> 10 183 255 255

10 184 0 0 ---> 10 191 255 255

10 192 0 0 ---> 10 199 255 255

10 200 0 0 ---> 10 207 255 255

10 208 0 0 ---> 10 215 255 255

10 216 0 0 ---> 10 223 255 255

10 224 0 0 ---> 10 231 255 255

10 232 0 0 ---> 10 239 255 255

10 240 0 0 ---> 10 247 255 255

10 248 0 0 ---> 10 255 255 255

15. 通过网络配置命令,让主机可以上网。 ip, netmask, gateway, dns,主机名。相关命令总结,最终可以通过这些配置让你的主机上网。

[root@rocky8-1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0  <<EOF

> BOOTPROTO=static

> ONBOOT=yes

> IPADDR=10.0.0.8

> PREFIX=24

> GATEWAY=10.0.0.2

> DNS1=180.76.76.76

> DNS2=114.114.114.114

> EOF

sed -r -i.bak 's/^(GRUB_CMDLINE_LINUX=.*)"$/\1 net.ifnames=0"/' /etc/default/grub

grub2-mkconfig -o /etc/grub2.cfg ;reboot

16. 解析/etc/sysconfig/network-scripts/ifcfg-eth0配置格式。

DEVICE=eth0                设备eth0

NAME=eth0                    网卡名字为eth0

IPADDR=10.0.0.8            IP地址

PREFIX=24                        子网掩码24位

GATEWAY=10.0.0.2            网关10.0.0.2

DNS1=180.76.76.76            主用DNS配置

DNS2=114.114.114.114        备用DNS配置

17. 基于配置文件或命令完成bond0配置

[root@rocky8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0

NAME=bond0

TYPE=bond

DEVICE=bond0

BOOTPROTO=none

IPADDR=10.0.0.130

PREFIX=24

BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"

[root@rocky8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

NAME=eth1

DEVICE=eth1

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

ONBOOT=yes

[root@rocky8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth2

NAME=eth2

DEVICE=eth2

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

ONBOOT=yes

18. 通过ifconfig命令结果找到ip地址.

首先安装ifconfig命令相关包net-tools

[root@rocky8 ~]# yum -y install net-tools

[root@rocky8 ~]# ifconfig eth0 | grep netmask | awk '{ print $2 }'

19.  使用脚本判断 你主机所在网络内在线的主机IP有哪些? ping通则在线。

#!/bin/bash

net=10.0.0

    for i in {1..254};do

    {

    ping -c1 -W1 $net.$i &> /dev/null && echo "$net.$i is up" || echo "$net.$i is down"

            }&

    done

    wait

扫描主机所在网段内的主机IP

. /etc/os-release

NGINX_VERSION=$1

INSTALL_DIR=/apps/nginx

wget_gz(){

    wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz || { echo "下载失败!";exit 20;  }

    tar xf nginx-${NGINX_VERSION}.tar.gz -C /usr/local/src

}

initialization(){

    if [ $NAME -ne Rocky Linux ];then

    echo "不支持的操作系统"

  else

  systemctl disabled --now firewalld

  yum -y install gcc openssl-devel pcre-devel

fi

}

make_install(){

cd /usr/local/src/nginx-${NGINX_VERSION}

./configure --prefix=${INSTALL_DIR} --with-http_ssl_module

make -j `grep -c processor /proc/cpuinfo`&& make install

if [ $? -ne 0 ];then

    echo Install nginx is failed!

    exit 10

else

    echo "Install nginx is finished!"

fi

}

wget_gz

initialization

make_install

/apps/nginx/sbin/nginx

echo "<h1>welcome to N89 nginx website </h1>" > ${INSTALL_DIR}/html/index.html

#!/bin/bash

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容