什么是epel?如何安装epel-release?

什么是EPEL?

EPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。

为什么要用EPEL?

RHEL以及他的衍生发行版如CentOS Linux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安全稳定是重点,官方的rpm repository提供的rpm包也不够丰富,EPEL恰恰可以解决这两方面的问题。

简单来说

如果某个软件在yum库里面找不到的话,就可以考虑安装epel-release,epel-release可以扩充yum库。

如何安装epel-release?

yum install epel-release

CentOS8安装图形界面后,怎样修改为默认命令行启动?

问题提出

  1. 安装了CentOS8图形界面版后,每次系统启动时间太长,而且如果VMWare里面安装了多台虚拟机,图形界面的CentOS耗费的内存太多(据我测试,不分配2G内存系统都卡到爆)。
  2. 关键的问题是:现在对Linux命令行已经不那么恐惧了,感觉自己在命令行下完全可以操作CentOS8了。哇哈哈哈!
  3. 所以希望CentOS8启动的时候直接以命令行形式启动:提高启动速度、降低内存占用。这样VMWare同时开10个CentOS8也不成问题了。

解决方法

图形界面->命令行:

  1. 在图形界面任何界面按ctrl+alt+f3,这时就会切换到命令行界面。
  2. 在命令行里输入systemctl set-default multi-user.target,这样下次启动就会默认以命令行启动了。

命令行->图形界面:

  1. 在命令行界面按ctrl+alt+f1,这时就会切换到图形界面。
  2. 在命令行里输入systemctl set-default graphical.target,这样下次启动就会默认以图形界面启动了。

Composer常用命令解释

composer install(常用)

如果当前文件夹中已经有了一个composer.json或composer.lock文件,该命令将会根据composer.lock(优先)和composer.json里面的依赖关系下载包和依赖关系。这个命令在项目重建的时候经常用到。

composer require(常用)

添加新的依赖包到vendor目录中。

composer init

以交互方式填写composer.json信息。

composer update

获取依赖的最新版本,并升级composer.lock文件

composer search

当前项目中搜索依赖包。

composer show

列举所有可用的依赖包

composer validate

监测composer.json是否有效

composer self-update

将composer工具自身更新到最新版本

composer create-project

基于composer创建一个新的项目

Composer是什么?Windows和Linux下的Composer安装方法

Composer是什么?

  1. 比如我们在做PHP开发的时候,希望使用PHPExcel库进行Excel文件的处理。在没有Composer的时候,我们需要手工从PHPExcel官网上把相关库文件下载到本地,然后加入到PHP项目中。有了Composer,这个过程就可以交给Composer完成了。
  2. Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
  3. 如果你做过Java开发,你一定知道MAVEN;Composer和MAVEN的功能类似。
  4. 使用Composer必须保证PHP项目版本在PHP5.3以上。

Composer的代码库

1. Packagist

https://packagist.org/
file
Packagist是Composer的官方数据源,其数据主要同步自GitHub。

2. 国内镜像

https://mirrors.aliyun.com/composer/
https://mirrors.cloud.tencent.com/composer/
https://pkg.phpcomposer.com
https://php.cnpkg.org
这里面还是推荐使用阿里云的镜像

Windows下Composer安装

1. 安装PHP+APACHE+MySQL环境。

这里使用集成化安装工具WAMP。安装后的PHP版本为7.0.10

2. 下载Composer的Windows安装包。

官方下载地址:https://getcomposer.org/download/

3. 安装程序。

file

4. 安装完成。

安装完毕后,在cmd中输入composer,出现如下界面代表安装完成:
file
注意,如果你之前打开了cmd界面,需要先关闭cmd后再打开才能生效。

Linux下Composer安装

1. 下载Composer.phar

wget https://getcomposer.org/download/1.9.3/composer.phar

如果非常慢就用阿里云的地址:

wget https://mirrors.aliyun.com/composer/composer.phar

2. 安装

php composer.phar

file
成功后能够看到和Windows安装后类似的画面:

3. 移动到bin目录方便使用

将composer.phar移动到bin目录并去掉扩展名,这样在bash的任何位置都可以直接使用composer命令了:

mv composer.phar composer

修改文件夹权限:

chmod +x /usr/bin/composer

在命令行里面直接输入就可以运行了:

composer

配置镜像地址

在Windows和Linux中操作方法相同,
打开 https://developer.aliyun.com/composer, 按照里面的提示输入以下命令:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

设置好了后可以用以下命令查看当前镜像地址:

composer config -g -l

测试一下

  1. 我们以Windows为例,在cmd中切换到目标php文件夹。
  2. https://packagist.org/ 网站随便搜索个依赖,比如monolog。按照网站提示,在cmd中就可以用以下命令获得monolog:
    composer require monolog/monolog

    file
    运行完成后,在目标文件夹中就会出现对应的composer文件:
    file

  3. 在同目录下建立一个测试文件,比如index.php,按照网站提示在文件中加入如下代码:
    <?php
    require "vendor/autoload.php";//这句必须加上
    use Monolog\Logger;
    use Monolog\Handler\StreamHandler;
    // create a log channel
    $log = new Logger('name');
    $log->pushHandler(new StreamHandler('your.log', Logger::WARNING));
    // add records to the log
    $log->warning('Foo');
    $log->error('Bar');
    ?>

    看下你的文件夹里面,your.log文件已经生成啦:
    file

CentOS 8下安装Apache+PHP+MySQL环境

安装PHP和Apache

在CentOS 8中,安装PHP和Apache是非常简单的,只需要一句话:

yum install php

在安装PHP的时候,会默认将httpd(Apache)安装好。
file

配置Apache

1. 修改httpd.conf配置

编辑/etc/httpd/conf/httpd.conf文件,将AllowOverride的对应值改为all。
file

2. 放行80端口

firewall-cmd --permanent --zone=public --add-port=80/tcp

3. 重启apache和防火墙

systemctl restart httpd
systemctl restart firewalld

4. 测试

在/var/www/html下新建index.php里面写上phpinfo()测试一下:
file

安装MySQL

有关MySQL安装请参考:http://www.leonwish.com/archives/173

什么是REST?什么是RESTful?

非人类解释(来自百度)

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

人类解释

  • REST和MVC类似,是一种软件开发风格。

REST和RESTful

标准写法:REST全大写;RESTful后面的ful全小写。

  • REST可以理解为名词,是一种软件开发风格。
  • RESTful可以理解为形容词,如果软件是基于REST构建的API就是Restful风格。

REST特点

  1. 传统WEB开发中http的请求方式有两种:get和post。在REST中,对请求方式进行了细分,比如:增加(PUT)、修改(POST)、删除(DELETE)、查询(GET),此外还有HEAD、PATCH、OPTIONS、TRACE。
  2. REST不仅适用于WEB开发,也适用于APP开发。
  3. REST无法通过传统的<form>表单实现,需要通过Ajax实现,因为Ajax的type属性可以支持除get和post外的其它6个请求值。

简单易懂的JSON入门知识

什么是JSON?

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。(源自:百度百科)

JSON是存储和交换文本信息的语法,类似XML。JSON比XML更小、更快,更易解析。

JSON格式

1. 构造字符

JSON为什么很易学?因为JSON只有6个构造字符,在这6个构造字符的前或后允许存在无意义的空白符。

[ 左方括号
{ 左大括号
] 右方括号
} 右大括号
: 冒号
, 逗号

2. 数据类型

JSON有四种数据类型,所有JSON文件都是由这四种数据类型组合而成的,这四种数据类型分别是:对象、数组、数字、字符串

2.1 数字
123

2.2 字符串
"hello world"

2.3 数组
[1,2,"3"]
[1,2,"3",{"a":1,"b":2}]

2.4 对象
{"a":1,"b":2}
{"a":1,"b":2,c:[1,2,"3"]}

3. 合法的JSON结构

曾经有个疑问,合法的JSON数据是不是都必须以{}括起来?
其实不是的,只要符合四种数据类型的数据都是合法的JSON结构。无论他们多简单还是多复杂。

比如:
123和"hello world"是合法的JSON数据类型。
[1,2,"3",{"a":1,"b":2}]是合法的数据类型。
{"a":1,"b":2,c:[1,2,"3"]}也是合法的数据类型。

是否以{}括起来只是代表了JSON的复杂程度而已。

在Windows下安装ElasticSearch和Kibana教程

什么是ElasticSearch?

ElasticSearch(简称:ES)是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。(源自:百度百科)

ElasticSearch和Redis一样,也是非NoSQL非关系型数据库。适用于数据量较大的查询和检索。

MySQL等关系型数据库在进行海量数据查询的时候,为了提高查询效率,一般会使用索引。然而在模糊查询的时候,比如:
select * from person where name like "%keyword%"
索引则会失效。而ElasticSearch则可以很好地解决这个问题。

什么是Kibana?

Kibana是ElasticSearch的图形化操作界面。
简单的说,Kibana就类似于MySQL对应的SQLYog、Navicat等客户端工具。

Windows下安装ElasticSearch和Kibana

1. 安装环境

操作系统:Windows10
JDK:JDK13

2. 下载安装包

ElasticSearch官网下载地址:https://www.elastic.co/cn/downloads/
我下载的是:elasticsearch-7.5.2和kibana-7.5.2-windows-x86_64
提示:我在初次学习的时候,也是网上找的教程,为了和教程里面的软件版本一致6.X版本,我在Elastic和Google上搜索了很久,却始终没有搜索到。不过下载7.X版本后,发现安装和使用也是比较顺利的。所以初学者不要太纠结自己下载和安装的版本。

3. 安装ElasticSearch

第一步:将下载的zip包解压到你习惯的安装目录。
第二步:运行bin目录下的elasticsearch.bat
file
第三步:如果你看到如下内容,代表ElasticSearch安装完成,ES服务已经启动。记住,不要关闭命令行窗口,否则ES服务就停止了。
file

4. 安装Kibana

第一步:确保ElasticSearch服务是启动状态。
第二步:将下载的zip包解压到你习惯的安装目录。
第三步:运行bin目录下的kibana.bat
file
第四步:如果你看到如下内容,证明Kibana安装完成。
file

5. 测试

在浏览器中输入:http://localhost:5601, 如果看到如下页面,证明ElasticSearch和Kibana运行成功。
file

什么是NoSQL?什么是Redis?Redis在CentOS8下的安装

SQL数据库

我们经常接触的MySQL、Oracle、Access等数据库都是基于SQL的数据库,数据库的增删改查都是通过SQL语句完成的。这些数据库都属于“关系型数据库”。或者叫SQL数据库。

NoSQL数据库

NoSQL,是Not Only SQL的缩写。也可以直接理解为没有SQL的意思。也就是非关系型数据库。数据库的增删改查不基于SQL语句。

什么是Redis?

目前最有名的NoSQL数据库之一。
是一款基于内存的NoSQL数据库,为什么要基于内存呢?就是因为内存读写速度比硬盘快太多了。

Redis在CentOS8下的安装

第一步:下载Redis

可以在Redis官网下载安装包:https://redis.io/download
也可以通过wget命令下载,这里采用wget下载方式:

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

第二步:解压、编译

tar zxvf redis-5.0.7.tar.gz
cd redis-5.0.7
make

第三步:运行

编译后的Redis程序在src文件夹下:

src/redis-server

看到下面这些内容就说明安装成功啦!
file

第四步:测试

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

CentOS Mini与相关命令安装

CentOS8 Mini常见问题

如果安装CentOS8图形界面版本,没有2G内存根本跑不动。这在我们本机使用VMWare做集群测试的时候是非常不方便的。
所以我们经常选择CentOS Mini版本安装,而Mini版本里面会缺失很多必要的功能和命令,比如连ifconfig都没有。
在CentOS8 Mini中,我们经常需要自行安装需要的功能。

找不到make命令

yum install gcc automake autoconf libtool make
yum install gcc-c++

找不到ifconfig命令

yum install net-tools

找不到wget命令

yum install wget

找不到vim命令

yum install vim

找不到network

CentOS8中,network命令已经被nmcli取代,所以需要NetworkManager工具:

yum install NetworkManager //注意大小写