LiangGaRy-学习笔记-Day11
LiangGaRy-学习笔记-Day11
1、课前回顾
1.1、脚本回顾讲解
题目:
- 脚本实现搭建LAMP架构
- 可以写一段,后试一段
- 引入变量、函数、尝试增删改查
- 手工执行一遍
[root@Node1 ~]# vim auto_lanmp.sh
#!/bin/bash
#Author By LiangGaRy
#2023年5月7日
#Usage :
##############################
##关闭防火墙和Selinux
setenforce 0
iptables -F#挂在光盘
mount /dev/cdrom /mnt/cdrom &> /dev/null#更新软件包
yum upgrade &>/dev/null#启动服务
systemctl start httpd
systemctl start mariadb#判断是否存在wordpress的软件包
if [ ! -f /root/wordpress-4.9.4-zh_CN.tar.gz ];thenecho "请把wordpress包上传到/root目录下~!"exit 1
fi#准备好发布的目录;
mv /root/wordpress-4.9.4-zh_CN.tar.gz /var/www/html
cd /var/www/html/
tar -xf wordpress-4.9.4-zh_CN.tar.gz#设置数据库
mysql -e "drop database wordpress"
mysql -e "create database wordpress"
mysql -e "grant all privileges on wordpress.* to "wordpress"@"local" identified
by 123456"
mysql -e "flush privileges"#提示用户安装成功
echo "服务器端已经安装完毕"
IP=`ifconfig | grep inet | awk '{print $2} | head -1'`
echo “当前的IP是:$IP”
echo "请访问$IP/wp-admin 完成后续的配置"
2、su讲解
2.1、su 和su - 介绍
su命令:是切换了用户身份,并没有切换shell的环境,仍然是普通用户的shell
- 意思就是切换用户,而实际上环境变量并没有改变
su - 是连带shell环境也是切换了;
- 这个是直接把环境变量都已经切换过去;
2.2、su和su -实验说明
su和su - 最大的区别就是
- su命令知识切换了用户身份,但是shell环境并没有改变
- su - 切换了环境,用户身份完全切换了
#使用普通用户-->注意它的家目录就是liangjiawei
[liangjiawei@Node1 ~]$ pwd
/home/liangjiawei#分别使用su 和su - 切换用户查看变化#su-->环境变量并没有改变
[liangjiawei@Node1 ~]$ su root
Password:
[root@Node1 liangjiawei]# pwd
/home/liangjiawei#使用su - 切换
[liangjiawei@Node1 ~]$ su - root
Password:
Last login: Wed Jun 7 23:44:12 CST 2023 on pts/0
[root@Node1 ~]# pwd
/root#如果shell环境没有切换,权限也会跟着有问题#创建一个脚本,并且赋予执行命令
[root@Node1 ~]# ll auto_lanmp.sh
-rwxr-xr-x 1 root root 1147 Jun 7 18:59 auto_lanmp.sh#root用户是可以执行的
[root@Node1 ~]# ./auto_lanmp.sh
3、PHP升级教程
3.1、php版本
查看php的版本:
#查看当前PHP的版本
[root@Node1 ~]# php -v
PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
3.2、升级说明
php升级,用一个高版本替代低版本
- 停止服务升级
- 不停服务升级
#如果可以停止服务-->直接删除原来有的php版本
[root@Node1 ~]# yum remove php*#查看一下当前yum源中php的版本
[root@Node1 ~]# yum search php#更新yum源-->获取更加高版本的php源
[root@Node1 ~]# [root@Node1 ~]# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm#安装yum工具
[root@Node1 ~]# yum -y install yum-utils#启动remi-php72这个仓库源
[root@Node1 ~]# yum-config-manager --enable remi-php72#然后再搜索一下php的版本
[root@Node1 ~]# yum search php*#最后升级-->ok
[root@Node1 ~]# yum -y install php72*
4、压缩与解压缩
4.1、tar命令
作用:打包文件和压缩和解压缩文件;
语法:tar + 选项 + 打包名 + 需要打包的路径文件
选项:
- -c :创建打包或者是压缩的文件文件
- -x:提取文件
- -v :压缩或者是解压缩显示详细的过程
- -f:压缩或者是解压缩过程中指定文件
- -t :列出压缩包中文件,不解包看到包里的内容
- -C:解压缩过程中指定文件的位置
- -d:记录文件差别
- -z:支持gzip的解压缩
- -j:支持bzip2解压缩
- -Z:支持cmopress
- -W:确认文件的正确性
tar命令演示
#压缩打包/etc/目录的内容
[root@Node1 ~]# tar -cvf etc.bak.tar.gz /etc/*#如果不想显示过程就可以去除-v选项
[root@Node1 ~]# tar -cf etc01.bak.tar.gz /etc/*#解压包,并且制定解压的路径
[root@Node1 ~]# mkdir test{1..10}
[root@Node1 ~]# tar -xf etc01.bak.tar.gz -C /root/test1#不解压包的情况下查看文件内容
[root@Node1 ~]# tar -tvf etc.bak.tar.gz #归档、压缩并且制定gzip的格式
[root@Node1 ~]# tar -zcvf etc.bak.tar.gz /etc/*#归档、压缩并且制定bz2的格式
[root@Node1 ~]# tar -jcvf etc.bak.tar.bz2 /etc/*#归档、压缩并且制定xz的格式
[root@Node1 ~]# tar -Jcvf etc.bak.tar.xz /etc/*
4.2、zip命令
作用:压缩文件为gz格式
语法:zip + 选项 + 压缩文件名 + 需要压缩的文件集合
选项:
- -d:删除压缩文件内制定的内容
- -j:只保存文件名称以及内容
- -m:删除被压缩的源文件
- -r:递归压缩
zip案例
#直接压缩制定的文件-->压缩当前目录下的东西-->源文件并没有删除
[root@Node1 ~]# zip all.zip ./*
4.3、unzip命令
作用:解压包zip的包
语法:unzip + 选线 + zip包
#解压包
[root@Node1 test2]# unzip all.zip
4.4、gzip命令
作用:压缩文件,后缀格式就是gz
语法:gzip + 选项 + 文件名
选项:
- -l:列出压缩文件的相关信息
- -v:显示指令执行过程
- -r:递归处理
- -d:解开压缩文件
#压缩-->源文件不见
[root@Node1 ~]# gzip php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo #解压缩
[root@Node1 ~]# gzip -d php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo.gz
4.5、bzip2命令
作用:压缩和解压缩,后缀就是.bz2;
语法:bzip2 + 选项 + 文件名
选项:
- -k:保留源文件压缩
- -d:解压缩
#正常压缩-->源文件不保留;
[root@Node1 ~]# bzip2 php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo #解压缩
[root@Node1 ~]# bzip2 -d php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo.bz2
4.6、xz命令
作用:压缩和解压缩,生成的文件后缀就是.xz
语法:xz + 选项 + 文件
选项:
- -k:保留源文件
- -d:解压缩
#压缩
[root@Node1 ~]# xz php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo#解压缩:
[root@Node1 ~]# xz -d php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo.xz
4.7、file命令
作用:查看文件的类型
语法:file + 文件名
#查看文件类型
[root@Node1 ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text#查看目录类型
[root@Node1 ~]# file test3
test3: directory#查看压缩包
[root@Node1 ~]# file php-common-7.4.6-4.1.al8.x86_64\?spm\=a2c6h.13651111.0.0.27d22f709g8Quo.bz2
php-common-7.4.6-4.1.al8.x86_64?spm=a2c6h.13651111.0.0.27d22f709g8Quo.bz2: bzip2 compressed data, block size = 900k
相关文章:
LiangGaRy-学习笔记-Day11
LiangGaRy-学习笔记-Day11 1、课前回顾 1.1、脚本回顾讲解 题目: 脚本实现搭建LAMP架构可以写一段,后试一段引入变量、函数、尝试增删改查手工执行一遍 [rootNode1 ~]# vim auto_lanmp.sh #!/bin/bash #Author By LiangGaRy #2023年5月7日 #Usage …...

【异常解决】浏览器无法访问此网站ERR_UNSAFE_PORT/网页可能无法连接,或者它已永久性地移动到了新网址问题解决方案
浏览器无法访问此网站ERR_UNSAFE_PORT问题解决方案 一、问题描述二、问题原因三、解决方案3.1 方案1修改服务器访问端口号(推荐)3.2 方案2修改浏览器设置3.2.1 Chrome浏览器3.2.2 Firefox浏览器3.2.3 Edge浏览器 一、问题描述 访问某一个特定的网址之后…...
Python函数的参数
定义一个函数非常简单,但是怎么定义一个函数,需要什么参数,怎么去调用却是我们需要去思考的问题。 如同大多数语言一样(如 Java),Python 也提供了多种参数的设定(如:默认值参数、关…...

【Hive大数据】Hive分区表与分桶表使用详解
目录 一、分区概念产生背景 二、分区表特点 三、分区表类型 3.1 单分区 3.2 多分区 四、动态分区与静态分区 4.1 静态分区【静态加载】 4.1.1 操作演示 4.2 多重分区 4.2.1 操作演示 4.3 分区数据动态加载 4.3.1 分区表数据加载 -- 动态分区 4.3.2 操作演示 五、…...
C#NPOI操作Excel详解
C# NPOI 是一个基于 .NET Framework 的 Excel 和 Word 操作库。它不仅可以读取和写入 Excel 和 Word 文件,还可以对 Excel 和 Word 文件进行格式化和样式编辑,支持多种常见的文件格式,如XLS,XLSX等。本篇文章将针对C# NPOI操作Exc…...
CSS中文字体 Unicode 编码表
一、简介 CSS(层叠样式表)是用于样式化Web页面的强大工具,它可以用来控制页面的外观和行为。在CSS中,可以使用多种字体来设置文本的外观和格式,包括中文字体。中文字体的实现需要引入相应的字体文件,并且需…...

《微服务实战》 第四章 Spring Cloud Netflix 之 Eureka
前言 Eureka 是 Netflix 公司开发的一款开源的服务注册与发现组件。 Spring Cloud 使用 Spring Boot 思想为 Eureka 增加了自动化配置,开发人员只需要引入相关依赖和注解,就能将 Spring Boot 构建的微服务轻松地与 Eureka 进行整合。 1、Eureka 两大组…...
11. 深入理解并发编程-AQS与JMM
AQS (AbstractQueuedSynchronizer) 他的实现类诸如: CountDownLatch、ThreadLocalPool和ReentrantLock 在这些类中,AQS都是以内部类的形式存在的 AQS使用了模板方法设计模式 例子: 做蛋糕分为3个步骤,定一个抽象类,重写3个方法,做模型、烘焙和涂抹原料,然后在另外1个方法做蛋糕…...

深度解耦:使用Jetpack新技术Hilt实现依赖注入
注入解耦是一种软件设计模式,旨在将应用程序的不同组件解耦。通过采用依赖注入、控制反转、面向接口编程等技术,注入解耦模式可以帮助开发人员将应用程序分解为可重用和可扩展的组件。这样做可以减少代码的耦合度,提高模块化和可测试性&#…...

C++ 构造函数-2
构造函数-2 构造函数体赋值 在对象创建的时候,编译器会调用构造函数,给对象当中的成员赋一个合适的初始值。 class Date { public: Date(int year, int month, int day) { _year year; _month month; _day day; } private: int _year; int _month; i…...

网安笔记 08 key management
Key Management —— 不考 网络加密方法 1.1 链路加密 特点: 两个相邻点之间数据进行加密保护 不同节点对密码机和Key不一定同中间节点上,先解密后加密报文报头可一起加密节点内部,消息以明文存在密钥分配困难保密及需求数量大 缺点&…...
Linux socket
百度百科对于Socket的介绍 套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信…...
14.构造器的排序分组.子查询
学习要点: 1.排序分组 2.子查询 本节课我们来开始学习数据库的构造器查询中的子查询、排序、分组等。 一.排序分组 1. 使用 whereColumn()方法实现两个字段相等的查询结果; //判断两个相等的字段,同样支持 orWhereColumn() //支持…...

【剑指 Offer】05,替换字符创中的空格;难度等级:简单。易错点:C++中 char 和 string 类型的转换
【剑指 Offer】05,替换字符创中的空格;难度等级:简单。 文章目录 一、题目二、题目背景三、我的解答四、易错点五、知识点:char 和 string 类型的转换 一、题目 二、题目背景 在网络编程中,如果 URL 参数中含有特殊字…...
图像分割入门教程
文章目录 图像分割入门教程1. 图像分割基本概念2. 基于阈值的图像分割3. 基于区域的图像分割4. 基于边缘的图像分割5. 基于区域和边缘的图像分割区别6. 基于深度学习的图像分割7. 实现步骤结论 图像分割入门教程 图像分割是计算机视觉领域的一个重要任务,其目标是将…...
C++入门教程||C++ 信号处理||C++ 多线程
C 信号处理 C 信号处理 信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 CtrlC 产生中断。 有些信号不能被程序捕获,但是下表所列信号可以在程序中捕获,并可以基于…...

java计算矩形的面积和周长的方法
在生活中,我们常常需要计算某个矩形的面积和周长,如我们经常用的计算器就是个不错的选择,它可以计算出任意一个矩形的面积和周长。那么,如果你想使用 Java编程语言来计算矩形的面积和周长,你该如何做呢?今天…...
一分钟掌握如何更换Jupyter Notebook的主题和字体
Jupyter Notebook 更换主题(背景、字体) 在现代科技发展的浪潮中,Jupyter Notebook 作为一种强大的交互式笔记工具,已经被越来越多的用户所使用。它以其简单易用、功能强大、资源丰富等特点,成为了许多人学习、工作、科…...

如何系统全面的自学自动化测试?明确后我直接拿到了20K
玩自动化测试多年的老司机带你上车全面系统学习自动化测试,并且还能教你如何学习才能在今年拿到一份不错的offer。 说到系统全面,就是以目前绝大部分公司招聘要求的知识内容为基准,毕竟我们学习自动化测试都是为了高薪工作,《史记…...

【搭建私有云盘】无公网IP,在外远程访问本地微力同步
文章目录 1.前言2. 微力同步网站搭建2.1 微力同步下载和安装2.2 微力同步网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 私有云盘作为云存储概念的延伸,虽然谈不上多么新颖,但是其…...

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...