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)

大家都在看

  • Linux服务器下oracle数据库启动服务操作步骤

    一、在Linux下启动Oracle1.登录到Linux服务器,切换到oracle用户权限(命令是:# su –l oracle) 2.进入sqlplus界面(命令是:$ sqlpl…

    Linux 2023年6月13日
    0119
  • 我叫Mongo,干了「查询终结篇」,值得您拥有

    这是mongo第三篇”查终结篇”,后续会连续更新5篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟…

    Linux 2023年6月14日
    0146
  • 唯一主键方案之数据库维护区间分配

    我们介绍一种基于数据库维护自增 ID 区间,结合内存分配的策略,这也是淘宝的 TDDL 等数据库中间件使用的主键生成策略。 使用这种方式首先在数据库中创建 sequence 表,其…

    Linux 2023年6月16日
    0230
  • Java中QueryWrapper的基本使用

    1.单表查询 对应的sql语句为: select * from student where name = ‘?’ and class like ‘%?%’ and age betw…

    Linux 2023年6月7日
    0122
  • MySQL——锁和事务管理

    保证数据安全的一种手段。防止数据文件同时被多个用户同时修改,从而造成数据的破坏。 读锁:S锁,例如给一个表加了读锁以后,大家都能读表里面的内容(只能读不能改) 写锁:X锁。加了写锁…

    Linux 2023年6月7日
    0100
  • USB转双串口产品设计-TTL串口

    基于USB转2路串口芯片CH342,可以为各类主机扩展出2个独立的串口。CH342芯片支持使用操作系统内置的CDC串口驱动,也支持使用厂商提供的VCP串口驱动程序,可支持Windo…

    Linux 2023年6月7日
    0117
  • 解决USB在虚拟机不显示问题

    电脑重装了下系统,顺带重新装了vmware,发现虚拟机无法识别USB设备,居然连右下角图标和可识别设备都不显示了。 网上找了很多方法,大多是纷繁复杂,且行不行都无法保证。 我发现一…

    Linux 2023年5月27日
    0133
  • Xbox分辨率突然变成640p

    今天XBox突然抽风还是发什么神经,输出分辨率突然变得非常模糊。一开始以为是HDMI线出现问题,后来用一条新的也是一样,所以就怀疑系统出了什么幺蛾子。 进入【电视和显示选项】——【…

    Linux 2023年6月13日
    0142
  • mac redis安装与使用,连接远程服务器 redis

    brew install redis@6.2 #后面@接版本号可指定版本,也可以不指定版本 brew services start redis redis-cli redis-cl…

    Linux 2023年5月28日
    0112
  • shell实现group by聚合操作统计

    在sql中,我们可以方便的使用group by及相应的聚合函数如sum avg count来实现分组统计需求,那当我们面对一个文本,在shell中也可以实现相应的功能吗? 在she…

    Linux 2023年5月28日
    0150
  • [Git系列] 前言

    Git 简介 Git 是一个重视速度的分布式版本控制和代码管理系统,最初是由 Linus Torvalds 为开发 Linux 内核而设计并开发的,是一款遵循二代 GUN 协议的免…

    Linux 2023年5月27日
    0153
  • 常用命-sar

    作者:Outsrkem原文链接:https://www.cnblogs.com/outsrkem/p/14725402.html本文版权归作者所有,欢迎转载,但未经作者同意必须保留…

    Linux 2023年6月6日
    0101
  • clang 分四步编译main.c

    这里用的clang/clang++ 分四步编译main.c/main.cpp文件 1.1 C++源文件 #include int main() { std::cout <&l…

    Linux 2023年6月13日
    085
  • Kubernetes 容器平台实战

    一、什么是Kubernetes? Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署,自动扩缩容,维护等功能. 通过Kubernetes可以做到…

    Linux 2023年6月14日
    0115
  • 万字干货|Java基础面试题(2022版)

    作者:小牛呼噜噜 | https://xiaoniuhululu.com计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 概念常识 Java 语言有哪些…

    Linux 2023年6月6日
    0223
  • Linux Ubuntu 添加新用户

    1. 了解配置文件 Linux下与用户信息相关的配置文件有 /etc/passwd、 /etc/group、 /etc/shadow等,其权限分别如下: /etc/passwd:保…

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