06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本

06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本

一. NGINX和浏览器、网页的关系

nginx是一个web服务器
html语言编写网页

cd  /usr/local/nginx  html
cd  html/   (注:存放网页路径)
思考:
    1.网页和nginx的关系
        nginx将网页发送给浏览器
    2.浏览器和nginx的关系
        浏览器问nginx要网页
        nginx将网页发送给浏览器
    3.浏览器和网页的关系
        浏览器是能读懂网页的html,js,css代码,渲染出效果

06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
web:网站
表单信息放到数据库里去,nginx只能访问静态页面,Python把信息传到数据库里。Python——》flask web后端——》user表
如何判断nginx是否运行?
1.看进程
    ps aux|grep nginx
2.看端口
    netstat -anplut
项目组:
    1.前端
    2.后端
    3.运维
    4.测试
    5.dba
    6.项目经理
cd /usr/local/nginx/html/   放网页
rz 只能传文件,不能传文件夹

二. 云服务器ssh登陆-安装NGINX-上传网页

自己的虚拟机的linux系统里呢?(如何上传自己的网页到linux系统呢)
    Xshell连过去
自己的云服务器,如何上传自己的网页到云服务器呢?
    1.xshell  --》公网ip(云服务器的公网ip)106.54.83.86 (注:xshell连接)
     用户名root  --》密码是有个初始密码 (注:passwd 改密码)
    2.自己去编译安装nginx--》建议使用脚本安装-->启动nignx
    3.上传自己的网页到nginx的html目录下 (注:scp或上传Windows【中间环节】)
    4.去访问106.54.83.86
(注)脚本:
cat onekey_install_nginx_v2.sh
#!/bin/bash

#1.下载nginx软件包
mkdir -p /nginx2
cd /nginx2
curl  -O http://nginx.org/download/nginx-1.19.2.tar.gz

#2.解压,进入文件夹

tar xf  nginx-1.19.2.tar.gz
cd  nginx-1.19.2

#3.编译前的配置
 #新建用户sanchuang9
useradd sanchuang9
 #安装gcc和pcre-devel软件包,因为nginx需要这些软件,解决软件的依赖关系
yum install  gcc make   pcre-devel zlib-devel  -y
 #配置nginx,指定安装路径和启动nginx的用户名
./configure  --prefix=/usr/local/nginx2  --user=sanchuang9

#4.编译
make
#5.编译安装
make  install

#6.关闭防火墙服务和设置开机不要启动

service firewalld  stop
systemctl disable  firewalld

#7.修改PATH变量,方便可以直接使用nginx
echo  "PATH=$PATH:/usr/local/nginx2/sbin"  >>/root/.bashrc
ip add 看的是私网IP
scp  远程copy
/usr/local/nginx/sbin/nginx 启动nginx
ps aux|grep nginx 查看nginx进程
搞一个自己的网站
    1.购买一个云服务器--》阿里云或者腾讯云,华为云,亚马逊免费试用 --》学生版 10元/月
    2.购买域名  5元/年
        在哪里购买的云服务器,就在哪里买域名,方便备案
    3.备案
        如果不备案,不能正常的使用域名去访问
cat /etc/centos-release 查看centos版本

三. 压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能

主要内容:压缩命令-tar(重点) 对文件和文件夹进行压缩

  ==tar  -czf   -->.tar.gz==

  ==tar  cjf    -->.tar.bz2==

  ==tar  cJf    -->.tar.xz==

  ==tar  tf   \*.tar.\*==

  ==tar  xf   \*.tar.\*==

  \# tar xf  boot_log_passwd.tar.gz  ==-C== /zhanghuayou/

            压缩命令-xz-gzip-bzip2-zip:都只能对文件进行压缩

                zip -->.zip

                gzip -->.gz

                xz  --->.xz

                bzip2 -->.bz2

        zip  yum  install  zip unzip -y

        ==zip chenpeng.txt.zip  chenpeng.txt==

        ==unzip passwd.zip==

        gzip

        ==gzip hosts==

        ==gunzip hosts.gz==

        ==zcat messages.gz==

        xz

        ==xz hosts==

        ==unxz  hosts.xz==

        ==xzcat messages.xz==

        bzip2  yum  install  bzip2  -y

        ==bzip2  passwd==

        ==bunzip2  passwd.bz2==

        ==bzcat  passwd.bz2==

                    配置nginx服务器支持下载功能

压缩命令-xz-gzip-bzip2-zip-tar

为什么要打压缩包?
    备份的时候,能节约空间
    网络传送的时候,能节约时间
windows里有哪些解压缩软件?
    winrar
    7z
    好压
    快压
    Zip
windows里的.rar压缩文件传递到linux里,是否能打开
    sc.rar (注:rar解压不了,linux里没这个软件,需要安装才有)
    sc.zip  -->linux默认支持
windows能解压linux里的所有的压缩文件
nginx-1.19.2.tar.gz  linux里的压缩文件
压缩文件红色的,可执行文件绿色的

zip

zip
zip只能对文件进行压缩,不能对文件夹进行压缩

  yum  install  zip unzip -y ==(注:zip需要安装)==

zip 打压缩包
unzip 解压的

zip chenpeng.txt.zip chenpeng.txt (注:用法)

        压缩后的文件    源文件

[root@sanchuang-linux lianxi]# zip passwd.zip passwd
adding: passwd (deflated 61%) (注:deflated压缩,泄气)
ll -h 看大小
passwd.zip
unzip passwd.zip 解压
Archive: passwd.zip
inflating: passwd
ls
passwd passwd.zip
zip的缺点:有源文件和新文件

gzip

gzip
gzip可以直接在源文件上压缩,后缀名是.gz (注:与zip的区别,理解为zip的升级版)

                                                                    ==(注:gzip不需要安装)==

hosts passwd passwd.zip

gzip hosts (用法) gzip + 源文件

ls
hosts.gz passwd passwd.zip
gunzip hosts.gz (解压)
zcat messages.gz (查看压缩文件)

xz

xz (注:xz不需要安装)
https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.8.11.tar.xz

xz hosts (用法)

ls
hosts.xz passwd passwd.zip
unxz hosts.xz (解压)
ls
hosts passwd passwd.zip
xzcat messages.xz (查看压缩文件)
gz与xz 比较,xz效果好
推荐使用xz

bzip2

bzip2 (注:bzip2需要安装)
yum install bzip2 -y

bzip2 passwd (用法)

passwd.bz2
bunzip2 passwd.bz2 (解压)
passwd
bzcat passwd.bz2 (查看压缩文件)

zip –>.zip
gzip –>.gz
xz —>.xz
bzip2 –>.bz2

tar

tar  -->兼并了gzip,xz,bzip2

tarball  -->使用tar命令打的压缩包--》归档文件--》压缩文件--》一个压缩包里可以包含很多的文件

tar是可以对文件和文件夹进行压缩的

Compressed TAR Archive    [compressed压缩的  archive归档]

https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.8.11.tar.xz
http://nginx.org/download/nginx-1.19.2.tar.gz
mysql-8.0.21-linux-glibc2.12-i686.tar.xz
https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.46.tar.bz2

配置NGINX服务器支持下载功能

(autoindex auto 自动 index索引)
cd /usr/local/nginx/conf/ (注:配置目录)

vim nginx.conf (注2:修改配置文件)即加上autoindex on;这一行
location / {

root  html;     (注4:指定nginx的存放网页的目录为html--》网页根目录)

index  index.html index.htm;  (注5:配置nginx服务器支持的首页为index.html  或者index.htm  index.html的优先级要高,没有index.html的时候,就会去查找index.htm)

==autoindex on;      (注3:添加配置,让nginx支持显示文件夹里的内容)==

}
/usr/local/nginx/sbin/nginx -s reload 重新加载nginx

06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本

06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本

压缩包上传

四. tar命令

tar命令
用途:制作归档文件、释放归档文件
格式:tar [选项]… 归档文件名 源文件或目录

        tar  [选项]...  归档文件名  [-C 目标目录]

常用命令选项
-c:创建 .tar 格式的包文件 create
-x:解开.tar格式的包文件 extract提取
-v:输出详细信息 verbose冗余的
-f:表示使用归档文件 file
-t:列表查看包内的文件 list
常用命令选项
-C:解包时进入指定的目标文件夹
-z:调用gzip程序进行压缩或解压
-j:调用bzip2程序进行压缩或解
-J:调用xz程序进行压缩或解压

=== (经典组合)
创建压缩包
tar -czf –>.tar.gz
tar cjf –>.tar.bz2
tar cJf –>.tar.xz
创建压缩包到指定的路径 使用绝对路径
tar czf /zhanghuayou/passwd.tar.gz /etc/passwd
tar: 从成员名中删除开头的”/”

06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本

查看压缩包里的内容
tar tf .tar.

解压–》默认解压到当前目录
tar xf .tar.
-C 解压到指定的路径
tar xf boot_log_passwd.tar.gz -C /zhanghuayou/

mkdir tar

cd tar
ls
tar czf passwd.tar.gz /etc/passwd
tar: 从成员名中删除开头的”/”
ls
passwd.tar.gz
tar tf passwd.tar.gz
etc/passwd (注:/ 没有了)
[root@sanchuang-linux tar]# ls
passwd.tar.gz
tar xf passwd.tar.gz
ls
etc passwd.tar.gz (注2:解压后是文件夹etc,没有”/”)
cd etc/
ls
passwd

给文件夹打压缩包
tar cJf boot.tar.xz /boot
tar czf boot.tar.gz /boot
tar cjf boot.tar.bz2 /boot
time tar czf boot.tar.gz /boot (注:压缩命令前接 time 可以看时间)
tar: 从成员名中删除开头的”/”
real 0m8.467s
user 0m6.851s
sys 0m2.226s

(注:↓接v可以看过程,信息输出。一般写脚本不接v)
tar czvf boot_log_passwd.tar.gz /boot /var/log /etc/passwd (注:文件和目录)
tar czf boot_log_passwd.tar.gz /boot /var/log /etc/passwd
tar: 从成员名中删除开头的”/”
tar: 从硬连接目标中删除开头的”/”

后面打包的文件如果压缩文件的名字一样,会覆盖

五. 压缩练习-备份脚本

主要内容:
排错多个文件 exclude 排除 (难点)
tar –exclude=/boot/{grub2,efi,loader} -czvf no_grub_boot.tar.gz /boot
date +%Y%m%d%H%M%S
20200924170954
当前的日期往后面推10天
date -d “10 days”
如何得到命令的执行结果赋值给变量
方法1:
ctime=$(date +%F)
方法2:反引号
ctime=date +%F
命令的嵌套
设置时间 -s
date -s ‘2020-10-10’ (注:调时间)
date -s ‘2020-10-10 9:53:00’ (注:指定小时分钟秒)
cal 看日历 calendar(日历)
cal 2020 看2020年日历

压缩练习:
    1.在windows里使用winrar软件压缩2个文件,一个是.rar格式的文件,一个是.zip的文件,具体压缩那个文件,你自己定义
    2.将文件传输到linux系统的/lianxi目录下,尝试解压.zip的文件
unzip
    3.复制/etc/passwd文件到/lianxi目录下,将/lianxi目录下的passwd文件压缩成passwd.xz
cp /etc/passwd . # xz passwd
    4.复制/etc/ssh/sshd_config 文件到/lianxi目录下,然后进行压缩为sshd_config.gz
cp /etc/ssh/sshd_config . # gzip sshd_config
    5.查看passwd.xz里的内容,查看sshd_config.gz里的内容
xzcat passwd.xz # zcat sshd_config.gz
    6.新建文件夹/backup_sc,然后复制/lianxi下的passwd.xz和sshd_config.gz到/backup_sc目录里
    7.到/backup_sc目录里解压passwd.xz和sshd_config.gz文件
    8.将/lianxi下的sshd_config.gz传到windows系统里看是否可以解压?

练习8:
1.创建一个目录在/lianxi下叫tar
mkdir /lianxi/tar
2.进入tar目录,复制/etc/hosts文件和/etc/passwd到tar目录下
cd /lianxi/tar # cp /etc/hosts . # cp /etc/passwd .
3.复制/boot目录到tar目录下
cp /boot . -r
4.将当前目录下的boot目录打包放在/lianxi/tar目录下叫boot.tar.gz
tar czf boot.tar.gz boot
5.查看boot.tar.gz文件里的内容
tar tf boot.tar.gz
6.将hosts文件和passwd文件打包放到host_passwd.tar.bz2文件
tar cjf host_passwd.tar.bz2 hosts passwd
7.查看host_passwd.tar.bz2文件里的内容
tar tf host_passwd.tar.bz2
8.将/boot/目录和/etc/passwd、/var/log目录备份到/lianxi目录下叫boot_pw_log.tar.xz
tar cJf /lianxi/boot_pw_log.tar.xz /boot /etc/passwd /var/log
9.新建/bak目录,然后将/lianxi目录下的boot_pw_log.tar.xz解压到/bak目录下
mkdir -p /bak # tar xf boot_pw_log.tar.xz -C /bak
10.将/boot目录下的除grub2目录以外的所有文件都备份到/bak目录下叫no-grub.tar.gz
tar czvf –exclude (难点)
tar –exclude=/boot/grub2 -czvf no_grub_boot.tar.gz /boot
centos8里的 (注:–exclude=/boot/grub2 -czvf 前后不能错,grub2不能接/,-czvf -不能省略)
tar –exclude=/boot/grub2 -czvf no_grub_boot.tar.gz /boot
centos7里的
tar czvf no_grub2_boot.tar.gz /boot –exclude=/boot/grub2
排错多个文件 exclude 排除 (难点)
tar –exclude=/boot/{grub2,efi,loader} -czvf no_grub_boot.tar.gz /boot
(注:目录结构 {} 表示多个)

练习:

编写一个脚本实现备份/var/log目录下的所有文件到/bak目录下,要求文件名是包含当天日期,精确到秒,文件名例如:2013-6-6-2_30_20-log.tar.gz。同时要求删除/bak目录下七天前的备份文件,只保留最近7天的文件。

需求分析:
年月日小时分钟秒
时间戳:年月日小时分钟秒
获得当前的日期 date
%Y year (注:年)
%m month (01..12) (注:月)
%M minute (00..59) (注:分钟)
%d day of month (e.g., 01) (注:日)
%H hour (00..23) (注:小时)
%S second (00..60) (注:秒)
%F full date; same as %Y-%m-%d (注:年月日)
date +%Y%m%d%H%M%S
20200924170954
date +%Y-%m-%d%H%M%S
2020-09-24171008
date +%Y-%m-%d_%H_%M_%S
2020-09-24_17_10_31

当前的日期往后面推10天 (推迟时间)
date -d “10 days”
2020年 10月 04日 星期日 17:21:27 CST
date -d 10days
2020年 10月 04日 星期日 17:21:37 CST

date -d 10hours
2020年 09月 25日 星期五 03:22:13 CST

如何得到命令的执行结果赋值给变量
方法1:$( ) (更好,因为可以嵌套)

  ctime=$(date  +%F)

方法2:反引号 (不能嵌套)

  ctime=\date  +%F\

ctime=$(date +%F)
echo $ctime
2020-09-24
sctime=date +%F
echo $sctime
2020-09-24

touch $(date +%F).txt
sg=zhanghuayou
echo $sg
zhanghuayou
echo $sg1

                (注:该行输出为空)

echo ${sg}1
zhanghuayou1

删除/bak目录下七天前的备份文件
find /bak -type f -mtime +7 -name “*.tar.gz” -exec rm -rf {} ;
脚本名字:
backup_log.sh

命令的嵌套
which mkdir
/usr/bin/mkdir
rpm -qf /usr/bin/mkdir
coreutils-8.30-6.el8_1.1.x86_64
softname=$(rpm -qf $(which mkdir)) (注:$( ) 好,可以嵌套)
echo $softname
coreutils-8.30-6.el8_1.1.x86_64
softname2=rpm -qfwhich mkdir
rpm:未给出要查询的参数
mkdir: 缺少操作数
请尝试执行 “mkdir –help” 来获取更多信息。

编写一个脚本实现备份/var/log目录下的所有文件到/bak目录下,要求文件名是包含当天日期,精确到秒,文件名例如:2013-6-6-2_30_20-log.tar.gz。同时要求删除/bak目录下七天前的备份文件,只保留最近7天的文件。
通过文件名知道使用tar命令,而不是cp

mkdir /lianxi/9_25

cd /lianxi/9_25
vim backup_log.sh

!/bin/bash

获得当前的时间,精确到秒

ctime=$(date +%Y%m%d%H%M%S)

备份

mkdir -p /bak
tar czf /bak/${ctime}-log.tar.gz /var/log

删除7天前的备份文件,只保留最近的7天内的文件

find /bak -type f -mtime +7 -name “*log.tar.gz” -exec rm -rf {} ;

怎么验证删除7天前的文件?
答:调时间
设置时间 -s
date
2020年 09月 25日 星期五 09:53:18 CST
date -s ‘2020-10-10’ (注:调时间)
2020年 10月 10日 星期六 00:00:00 CST

date -s ‘2020-10-10 9:53:00’ (注:指定小时分钟秒)
2020年 10月 10日 星期六 09:53:00 CST

date -s ‘2020-9-25 9:55:00’
2020年 09月 25日 星期五 09:55:00 CST

cal 看日历 calendar(日历)

cal 2020 看2020年日历

06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本

Original: https://www.cnblogs.com/mycpen/p/16650887.html
Author: mycpen
Title: 06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578022/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 计算机硬件的读写速度差异

    现代计算机系统 存储器 寄存器 CPU时钟周期 高速缓存 主存 固态硬盘 机械硬盘 压榨CPU性能带来的问题 有序性问题 可见性问题 原子性问题 作者:小牛呼噜噜 | https:…

    Linux 2023年6月6日
    0125
  • 灵感来袭,基于Redis的分布式延迟队列

    延迟队列 延迟队列,也就是一定时间之后将消息体放入队列,然后消费者才能正常消费。比如1分钟之后发送短信,发送邮件,检测数据状态等。 Redisson Delayed Queue 如…

    Linux 2023年5月28日
    087
  • 部署solr服务

    前言:请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 一、S orl单机部署 准备:solr5.5、tomcat8.5、jdk1.8 2.复制./solr-5.5.0/s…

    Linux 2023年6月14日
    0115
  • linux命令__ln

    ln ln是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目…

    Linux 2023年6月7日
    0101
  • k8s-简介

    Kubenetes是一个针对容器应用,进行自动部署,弹性伸缩和管理的开源系统,K8s 作为缩写的结果来自计算”K”和”s”之间的八个…

    Linux 2023年6月13日
    085
  • Linux快速入门(七)效率工具(Vim)

    Vim编辑器 所有的 Linux系统都会内建一个 Vi文本编辑器,而 Vim是从 Vi发展出来的一个高度可配置的文本编辑器,旨在高效的创建和更改任何类型的文本,它还可以根据文件的扩…

    Linux 2023年6月6日
    0101
  • 《kasini3000》批量修改linux被控机密码

    《卡死你3000》,是开源,免费,跨平台的devops批量脚本框架。 网址:码云家 https://gitee.com/chuanjiao10/kasini3000 批量生成密码之…

    Linux 2023年6月13日
    085
  • 原码反码补码

    3.1 知识点补充 在计算机内部,所有信息都是用二进制数串的形式表示的。整数通常都有正负之分,计算机中的整数分为无符号的和带符号的。无符号的整数用来表示0和正整数,即自然数;带符号…

    Linux 2023年6月13日
    0107
  • Python 定义类时候加括号和不加括号的区别

    新式类与经典类 只有python2.x 中有新式类和经典类的说法,而python3.x 没有,因为其默认都是新式类 python2.x 中默认都是经典类,只有显式的继承了objec…

    Linux 2023年6月7日
    072
  • __pycache__

    最近在使用python写一个串口模块的时候,偶然发现运行脚本之后,在工程文件夹下面出现了这样一个文件夹__pycache__,所以就特意到网上查了一下这个文件夹是怎么回事。 &am…

    Linux 2023年6月14日
    0111
  • Android APP升级时解析程序包时出现问题

    一个新的测试机在自动下载升级安装更新版本APP时,报出”解析程序包时出现问题”错误。原因众说纷纭, 一番搜索,下面的回答比较全面: 简单总结: 安卓7以下一…

    Linux 2023年6月13日
    088
  • haproxy

    haproxy 一.haproxy简介 二.负载均衡 三.haproxy安装 1.yum安装 2.源码安装 2.1 配置文件解析 2.2时间格式 2.3 全局global 2.4 …

    Linux 2023年6月7日
    0107
  • CentOS 7 新系统 手动配置网络 简要步骤

    一、配置网卡文件 1.修改网卡文件进入网卡配置文件目录 2.查看网卡文件 CentOS中网卡文件一般为 ifcfg-ens* 这样的文件,多块网卡会有多个类似文件 3.编辑网卡文件…

    Linux 2023年6月8日
    082
  • SQL87 最差是第几名(一)

    本题链接表结构如下所示。 +——-+——–+| grade | number |+——-+&#8…

    Linux 2023年6月13日
    085
  • Linux快速安装流量监控工具(实用版)

    前言: Linux流量监控工具,在此我推荐两种分别为: 1、nload(推荐)因为个人看着舒服点😂 2、iftop 你可以选择上面两种中的任何一种。下面是这两个版本的简介和安装教程…

    Linux 2023年5月27日
    091
  • 面试之Java String 编码相关

    另有一篇我的字符编码本质入门的文章见这里:https://www.cnblogs.com/uncleguo/p/16008551.html 实话说,作为一个多年Java老年程序员,…

    Linux 2023年6月13日
    0110
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球