Bootstrap

史上最全的CentOS常用软件安装和启动步骤【包含Docker安装】_centos7

4.MySQL

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir mysql
cd mysql
#2.解压安装包
tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar -C /usr/local/develop/mysql
#3.安装客户端
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm --force --nodeps
#4.安装服务端
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm --force --nodeps
#5.修改mysql默认字符集
vi /etc/my.cnf
添加如下内容:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
– 在文件最下方添加
[client]
default-character-set=utf8
#6.启动mysql服务,在Linux中MySQL安装好了之后系统会自动的注册一个服务,服务名称叫做mysqld,所以可以通过以下命令操作MySQL:
启动 MySQL 服务:systemctl start mysqld
重启 MySQL 服务:systemctl restart mysqld
关闭 MySQL 服务:systemctl stop mysqld
#7.登录mysql,rpm安装MySQL会自动生成一个随机密码,可在/var/log/mysqld.log这个文件中查找该密码
查看初始密码:cat /var/log/mysqld.log
mysql -u root -p (密码 敲回车)
密码类似ohHmyrmQE1!D
在A temporay password is generated for root@localhost: 密码 ;root@localhost:后面的就是初始密码
#8.修改mysql登录密码
set global validate_password_policy=0;
set global validate_password_length=1;
set password=password(‘密码’);
#9.授予远程连接权限
//授权
grant all privileges on . to ‘root’ @‘%’ identified by ‘密码’;
//刷新
flush privileges;
#10.关闭Linux系统防火墙
systemctl stop firewalld
systemctl disable firewalld
#11.重启mysql服务
systemctl restart mysqld
#12.使用navicat工具连接mysql

在这里插入图片描述

5.Redis

(1)安装

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir redis
cd redis
#2.解压安装包
tar -xzvf redis-6.2.4.tar.gz -C /usr/local/develop/redis
#3.redis是c语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc,需要输入以下命令
yum install gcc
#4.进入redis-6.2.4,使用make命令进行编译将.c文件编译成.o文件
cd redis-6.2.4
make
编译成功之后会出现“It’s a good idea to run ‘make test’”的提示
#5.使用命令 进行安装
make PREFIX=/usr/local/develop/redis/redis-6.2.4 install
安装完成会出现一个bin目录,里面的结构如下:
redis-benchmark ----性能测试工具
redis-check-aof ----AOF文件修复工具
redis-check-rdb ----RDB文件检查工具(快照持久化文件)
redis-cli ----命令行客户端
redis-sentinel ----哨兵
redis-server ----redis服务器启动命令
#6.修改配置文件
cd /usr/local/develop/redis/redis-6.2.4
vim redis.conf
进入后使用编辑模式进行修改以下部分
将bind 127.0.0.1 -::1 替换为bind 0.0.0.0
将 daemonize on 替换成 daemonize yes

(2)启动

cd /usr/local/develop/redis/redis-6.2.4
如果输入以下第一个命令无法启动 提示./redis.conf没有权限 在输入命令这个命令即可
chmod 777 redis.conf
#启动redis服务
bin/redis-server ./redis.conf
#查看已经启动的redis服务关闭redis服务
ps -ef|grep redis
#redis的客户端
bin/redis-cli

#关闭redis命令,需要先退出redis客户端
#退出redis客户端
exit
#关闭redis
bin/redis-cli shutdown
#查看关于redis 的进程
ps -ef|grep redis

在这里插入图片描述

6.Zookeeper

(1)安装

#1.环境准备
ZooKeeper服务器是用Java创建的,必须安装jdk
#2.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir zookeeper
cd zookeeper
#3.解压安装包
tar -xzvf apache-zookeeper-3.5.6-bin.tar.gz -C /usr/local/develop/zookeeper
#4.配置zoo.cfg
#进入到conf目录
cd /usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/conf
#拷贝
cp zoo_sample.cfg zoo.cfg
#创建zooKeeper存储目录
cd /usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/logs
mkdir zkData
#修改zoo.cfg
vim /usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/conf/zoo.cfg
#进入修改页面后修改dataDir=/usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/logs/zkData
#5.设置环境变量
vim /etc/profile
#zookeeper配置
export ZOOKEEPER_HOME=/usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin
export PATH= P A T H : PATH: PATH:ZOOKEEPER_HOME/bin
export ZK_LOG_DIR=/usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/logs
#6.使配置生效:
source /etc/profile

(2)启动

cd /usr/local/develop/zookeeper/apache-zookeeper-3.5.6-bin/bin
#启动
./zkServer.sh start
#关闭
./zkServer.sh stop
#查看ZooKeeper状态
./zkServer.sh status

在这里插入图片描述

7.Kafka

(1)安装

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir kafka
cd kafka
#2.解压安装包
tar -xzvf kafka_2.12-2.2.1.tgz -C /usr/local/develop/kafka
#3.配置环境变量
vim /etc/profile
#kafka配置
export KAFKA_HOME=/usr/local/develop/kafka/kafka_2.12-2.2.1
export PATH= P A T H : PATH: PATH:KAFKA_HOME/bin
#4.使配置生效:
source /etc/profile
5.配置config中的server.properties文件
cd /usr/local/develop/kafka/kafka_2.12-2.2.1/config
vim server.properties
#broker.id属性在kafka集群中必须要是唯⼀
broker.id=0
#kafka部署的机器ip和提供服务的端⼝号
listeners=PLAINTEXT://192.168.231.130:9092
#kafka的消息存储⽂件
log.dir=/usr/local/develop/kafka/kafka_2.12-2.2.1/logs/kafka-logs
#kafka连接zookeeper的地址
zookeeper.connect=192.168.231.130:2181

#另外:
kafka安装包内集成的有zookeeper,其实不用单独安装zookeeper。kafka在2.8之后就可以不用zookeeper来管理节点了
#配置zookeeper:
cd /usr/local/develop/kafka/kafka_2.12-2.2.1/config
vim zookeeper.properties
dataDir=/usr/local/develop/kafka/kafka_2.12-2.2.1/logs/zookeeper-logs

(2)启动

#启动
#先启动zookeeper,再启动kafka
cd /usr/local/develop/kafka/kafka_2.12-2.2.1/bin
zookeeper-server-start.sh …/config/zookeeper.properties
kafka-server-start.sh …/config/server.properties
#查看kafka进程
ps -ef | grep kafka
#停止后台运行
kafka-server-stop.sh
#验证kafka是否可以正常使用 ,运行kafka生产者发送消息
kafka-console-producer.sh --topic topic_1 --broker-list localhost:9092
#另打开窗口消费者消费消息
kafka-console-consumer.sh --bootstrap-server localhost:9092 - -topic topic_1 --from-beginning

在这里插入图片描述

注意:
Java或者kafka_tool连接不上虚拟机的kafka解决方法:
首先,关闭防火墙
其次在config/server.properties的配置文件中,要把这两行注释打开
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://192.168.231.129:9092

在这里插入图片描述

在这里插入图片描述

8.nginx

(1)安装

#1.安装nginx依赖
#安装gcc
yum install gcc-c++
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
#安装zlib
yum install -y zlib zlib-devel
#安装Open SSL
yum install -y openssl openssl-devel
#2.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir nginx
cd nginx
#3.解压安装包
tar -xzvf nginx-1.18.0.tar.gz -C /usr/local/develop/nginx
#编译 执行命令 考虑到后续安装ssl证书 添加两个模块 如不需要直接执行./configure即可
cd nginx-1.18.0
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make
#执行make install命令
make install

(2)启动

执行完上面的所有命令后,会在/usr/local目录下生成一个nginx文件夹
cd /usr/local/nginx/sbin
#配置环境
vim /etc/profile
#nginx配置
export NGINX_HOME=/usr/local/nginx
export PATH= P A T H : PATH: PATH:NGINX_HOME/sbin
#使配置生效:
source /etc/profile

默认配置文件启动

./nginx

指定配置文件启动

./nginx -c /usr/local/nginx/conf/nginx.conf
cd /usr/local/nginx/sbin

停止指令

./nginx -s stop

./nginx -s quit

重启命令

./nginx -s reload

查看nginx进程

ps -ef|grep nginx

#设置开机自启动nginx
#编辑
vim /etc/rc.local
#最底部增加这一行
/usr/local/nginx/sbin/nginx
#若要修改监听端口,可打开nginx的配置文件进行修改。

打开配置文件

vi /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

9.Nacos

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir nacos
cd nacos
#2.解压安装包
tar -xzvf nacos-server-2.2.3.tar.gz -C /usr/local/develop/nacos
#3.启动
cd /usr/local/develop/nacos/nacos/bin
sh startup.sh -m standalone
#4.验证是否启动成功
#访问地址 默认账号密码是nacos/nacos
http://ip:8848/nacos
#关闭
sh shutdown.sh

#Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。
#如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:
#进入nacos配置文件目录
cd /usr/local/develop/nacos/nacos/conf
#编辑nacos配置文件
vim application.properties

在这里插入图片描述

10.Docker

(1)安装

#1.如果之前安装过旧版本的Docker,可以使用下面命令卸载:
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-engine
docker-ce
#2.安装docker,需要虚拟机联网,安装yum工具
yum install -y yum-utils
device-mapper-persistent-data
lvm2 --skip-broken
#3.然后更新本地镜像源:

设置docker镜像源

yum-config-manager
–add-repo
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sed -i ‘s/download.docker.com/mirrors.aliyun.com/docker-ce/g’ /etc/yum.repos.d/docker-ce.repo

yum makecache fast
#4.然后输入命令:docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
yum install -y docker-ce

(2)启动

#启动docker前,一定要关闭防火墙!!

关闭防火墙

systemctl stop firewalld

禁止开机启动防火墙

systemctl disable firewalld

#通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
systemctl status docker # 查看docker服务状态
#然后输入命令,可以查看docker版本:
docker -v

在这里插入图片描述

注意:

docker官方镜像仓库网速较差,我们需要设置国内镜像服务:

参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

11.ElasticSearch

(1)安装

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir elasticsearch
cd elasticsearch
#2.解压安装包
tar -xzvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /usr/local/develop/elasticsearch
#3.创建普通用户(本linux中已经创建过了普通用户test,所以可以跳过此步骤)
#因为安全问题,Elasticsearch 不允许root用户直接运行,所以要创建新用户,在root用户中创建新用户,执行如下命令
useradd test # 新增test用户
passwd test # 为test用户设置密码
#4.为新用户授权,如下图
chown -R test:test /usr/local/develop/elasticsearch/elasticsearch-7.4.0 #文件夹所有者
将/usr/local/develop/elasticsearch/elasticsearch-7.4.0文件夹授权给test用户,由下图可见,我们的文件夹权限赋给了test
#5.修改elasticsearch.yml文件
vim /usr/local/develop/elasticsearch/elasticsearch-7.4.0/config/elasticsearch.yml

======================== Elasticsearch Configuration =========================

cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: [“node-1”]
#cluster.name:配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称
#node.name:节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
#network.host:设置为0.0.0.0允许外网访问
#http.port:Elasticsearch的http访问端口
#cluster.initial_master_nodes:初始化新的集群时需要此配置来选举master

#ES默认不开启跨域访问,需要添加以下配置:
#配置
#开启cors跨域访问支持,默认为false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: “*”

#6.修改配置文件

切换到root用户

su root
#6.1. =最大可创建文件数太小=====
vim /etc/security/limits.conf

在文件末尾中增加下面内容

test soft nofile 65536
test hard nofile 65536

=====

vim /etc/security/limits.d/20-nproc.conf

在文件末尾中增加下面内容

test soft nofile 65536
test hard nofile 65536

  • hard nproc 4096

注:* 代表Linux所有用户名称

#6.2. =最大虚拟内存太小=====
vim /etc/sysctl.conf

在文件中增加下面内容

vm.max_map_count=655360

重新加载,输入下面命令:

sysctl -p

在这里插入图片描述

(2)启动

su test # 切换到test用户启动
cd /usr/local/develop/elasticsearch/elasticsearch-7.4.0/bin
./elasticsearch #启动
#在访问elasticsearch前,请确保防火墙是关闭的

#安装ik分词器!!!
cd /usr/local/develop/elasticsearch/elasticsearch-7.4.0/plugins/
#创建ik目录并进入
mkdir ik-7.10.0
cd ik-7.10.0
#上传安装包并解压,然后删除安装包
unzip elasticsearch-analysis-ik-7.10.0.zip
rm elasticsearch-analysis-ik-7.10.0.zip
#修改配置文件
vim plugin-descriptor.properties

修改下面的内容

elasticsearch.version=你的es的版本(本文中是7.10.0)

在这里插入图片描述

在这里插入图片描述

重点几个关注下即可:
number" : “7.4.0” 表示elasticsearch版本
lucene_version" : “8.2.0” 表示lucene版本
name : 默认启动的时候指定了 ES 实例名称
cluster_name : 默认名为 elasticsearch

12.Elasticsearch-head

下载地址:https://github.com/mobz/elasticsearch-head/releases

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir elasticsearch-head
cd elasticsearch-head
#2.解压安装包
tar -xzvf elasticsearch-head-5.0.0.tar.gz -C /usr/local/develop/elasticsearch-head
#3.进入目录
cd elasticsearch-head-5.0.0
#在运行之前我们需要修改下elasticsearch.yml,因为ES默认不开启跨域访问,需要添加以下配置:
vim /usr/local/develop/elasticsearch/elasticsearch-7.4.0/config/elasticsearch.yml
#加入下面两个配置
#开启cors跨域访问支持,默认为false
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则
http.cors.allow-origin: “*”
#4.安装
npm install
#5.运行服务
npm run start
#或者后台启动
nohup npm run-script start &
#6.访问head
浏览器输入ip:port:9100,如下图

在这里插入图片描述

13.Kibana

#配合ElasticSearch使用
#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir kibana
cd kibana
#2.解压安装包
tar -xzvf kibana-7.4.0-linux-x86_64.tar.gz -C /usr/local/develop/kibana
#3.修改配置文件
vim /usr/local/develop/kibana/kibana-7.4.0-linux-x86_64/config/kibana.yml

在文件中修改下面内容

server.port: 5601
server.host: “0.0.0.0”
server.name: “kibana-itcast”
elasticsearch.hosts: [“http://127.0.0.1:9200”]
elasticsearch.requestTimeout: 99999
i18n.locale: “zh_CN”
#server.port:http访问端口
#server.host:ip地址,0.0.0.0表示可远程访问
#server.name:kibana服务名
#elasticsearch.hosts:elasticsearch地址
#elasticsearch.requestTimeout:请求elasticsearch超时时间,默认为30000,此处可根据情况设置
#i18n.locale: 汉化
#4、启动kibana
由于kibana不建议使用root用户启动,如果用root启动,需要加–allow-root参数

切换到kibana的bin目录

cd /usr/local/develop/kibana/kibana-7.4.0-linux-x86_64/bin

启动

./kibana --allow-root

在这里插入图片描述

14.Node

cd /usr/local
mkdir develop
cd develop
mkdir nodejs
cd nodejs
#1.执行wget命令下载Node
wget https://nodejs.org/dist/v12.13.1/node-v12.13.1-linux-x64.tar.xz
#2.解压
tar -xvf node-v12.13.1-linux-x64.tar.xz -C /usr/local/develop/nodejs
#3.设置软连接
#解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln 命令来设置软连接:
ln -s bin/npm /usr/local/develop/nodejs/node-v12.13.1-linux-x64/bin/
ln -s bin/node /usr/local/develop/nodejs/node-v12.13.1-linux-x64/bin/
#4.配置环境变量
vim /etc/profile
export NODE_HOME=/usr/local/develop/nodejs/node-v12.13.1-linux-x64
export PATH= P A T H : PATH: PATH:NODE_HOME/bin
#5.运行以下命令使profile文件生效
source /etc/profile
#6.查看版本信息
node -v

在这里插入图片描述

15.RocketMQ

(1)安装

#1.创建安装目录,并上传安装包
cd /usr/local
mkdir develop
cd develop
mkdir rocketmq
cd rocketmq
#2.解压安装包
unzip -d /usr/local/develop/rocketmq rocketmq-all-5.1.3-bin-release.zip
#如果没有安装 unzip,可以执行下面命令安装
yum install -y unzip zip
#3.进入rocketmq安装目录
cd rocketmq-all-5.1.3-bin-release
#4.创建存放数据的目录
mkdir -p store store/commitlog store/consumequeue
#5.进入conf目录
cd conf
#6.编辑broker.conf文件
vi broker.conf

在broker.conf文件中追加下面内容

listenPort=10911
namesrvAddr=localhost:9876
storePathRootDir=/usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release/store
storePathCommitLog=/usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release/store/commitlog
storePathConsumerQueue=/usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release/store/consumequeue
#7.修改内存大小(这步不是必须的,如果你的机器内存足够,可以跳过这步,笔者机器内存只有1g,因此需要修改内存大小)
#进入bin目录
cd /usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release/bin
#编辑runbroker.sh文件和runserver.sh文件,修改内存大小
#编辑runbroker.sh文件,将 8g 修改为 512m
vi runbroker.sh
#编辑runserver.sh文件,都修改为 512m
vi runserver.sh
#8.配置环境变量
vim /etc/profile
export ROCKETMQ_HOME=/usr/local/develop/rocketmq/rocketmq-all-5.1.3-bin-release
export PATH= P A T H : PATH: PATH:ROCKETMQ_HOME/bin
export NAMESRV_ADDR=127.0.0.1:9876
#运行以下命令使profile文件生效
source /etc/profile
#9.开放防火墙 9876 和 10911 端口
firewall-cmd --zone=public --add-port=9876/tcp --permanent
firewall-cmd --zone=public --add-port=10911/tcp --permanent
#更新防火墙规则(无需断开连接,动态添加规则)
firewall-cmd --reload
#查看防火墙所有开放的端口
firewall-cmd --list-port

在这里插入图片描述

在这里插入图片描述

(2)启动

#在 bin 目录下,执行下面命令
nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。&>后面指定隐藏的启动信息输出到指定文件,如果不指定默认输出到当前目录的nohup.out
#1.启动nameserver,下面命令任选其一
nohup sh mqnamesrv &> namesrv-out.txt
sh mqnamesrv
#2.启动 broker,下面命令任选其一
nohup sh mqbroker -n localhost:9876 -c …/conf/broker.conf &> broker-out.txt
./mqbroker -n localhost:9876 -c …/conf/broker.conf
#启动过程中会在/root/logs/rocketmqlogs/产生日志文件
tail -f ~/logs/rocketmqlogs/broker.log

#测试发送消息
#使⽤bin/tools.sh⼯具验证消息的发送,默认会发1000条消息
./tools.sh org.apache.rocketmq.example.quickstart.Producer
#使⽤bin/tools.sh⼯具验证消息的接收
./tools.sh org.apache.rocketmq.example.quickstart.Consumer

#关闭
sh mqshutdown broker
sh mqshutdown namesrv

在这里插入图片描述

在这里插入图片描述

16.Grunt

#安装grunt(运行在Node.js上面的任务管理器(task runner)),为了获得Grunt的更多产品特性,需要全局安装Grunt’s 命令行接口(CLI),使用npm进行安装,如下:
npm install -g grunt-cli
#查看grunt版本
grunt --version
输出grunt版本信息,表示安装成功。

在这里插入图片描述

17.OpenResty

1.安装

首先你的Linux虚拟机必须联网

**1)安装开发库**

首先要安装OpenResty的依赖开发库,执行命令:
yum install -y pcre-devel openssl-devel gcc --skip-broken

**2)安装OpenResty仓库**

#你可以在你的 CentOS 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum check-update 命令)。运行下面的命令就可以添加我们的仓库:
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
#如果提示说命令不存在,则运行:
yum install -y yum-utils
#然后再重复上面的命令

**3)安装OpenResty**

#然后就可以像下面这样安装软件包,比如 openresty
yum install -y openresty

**4)安装opm工具**

#opm是OpenResty的一个管理工具,可以帮助我们安装一个第三方的Lua模块。
#如果你想安装命令行工具 opm,那么可以像下面这样安装 openresty-opm 包:
yum install -y openresty-opm

**5)目录结构**

#默认情况下,OpenResty安装的目录是:/usr/local/openresty

看到里面的nginx目录了吗,OpenResty就是在Nginx基础上集成了一些Lua模块。

**6)配置nginx的环境变量**

#打开配置文件:
vi /etc/profile
#在最下面加入两行:
export NGINX_HOME=/usr/local/openresty/nginx
export PATH= N G I N X _ H O M E / s b i n : {NGINX\_HOME}/sbin: NGINX_HOME/sbin:PATH

#NGINX_HOME:后面是OpenResty安装目录下的nginx的目录
#然后让配置生效:
source /etc/profile

2.启动和运行

#OpenResty底层是基于Nginx的,查看OpenResty目录的nginx目录,结构与windows中安装的nginx基本一致:
#所以运行方式与nginx基本一致:

启动nginx

nginx

重新加载配置

nginx -s reload

停止

nginx -s stop
#nginx的默认配置文件注释太多,影响后续我们的编辑,这里将nginx.conf中的注释部分删除,保留有效部分。
修改/usr/local/openresty/nginx/conf/nginx.conf文件,内容如下:
#user nobody;
worker_processes 1;
error_log logs/error.log;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

server {
listen 8081;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
#在Linux的控制台输入命令以启动nginx:
nginx
#然后访问页面:http://192.168.231.130:8081,注意ip地址替换为你自己的虚拟机IP

在这里插入图片描述

3.备注

加载OpenResty的lua模块:

#lua 模块
lua_package_path “/usr/local/openresty/lualib/?.lua;;”;
#c模块
lua_package_cpath “/usr/local/openresty/lualib/?.so;;”;

#common.lua

– 封装函数,发送http请求,并解析响应
local function read_http(path, params)
local resp = ngx.location.capture(path,{
method = ngx.HTTP_GET,
args = params,
})
if not resp then
– 记录错误信息,返回404
ngx.log(ngx.ERR, "http not found, path: ", path , ", args: ", args)
ngx.exit(404)
end
return resp.body
end
– 将方法导出
local _M = {
read_http = read_http
}
return _M

#释放Redis连接API:

– 关闭redis连接的工具方法,其实是放入连接池
local function close_redis(red)
local pool_max_idle_time = 10000 – 连接的空闲时间,单位是毫秒
local pool_size = 100 --连接池大小
local ok, err = red:set_keepalive(pool_max_idle_time, pool_size)
if not ok then
ngx.log(ngx.ERR, "放入redis连接池失败: ", err)
end
end

#读取Redis数据的API:

– 查询redis的方法 ip和port是redis地址,key是查询的key
local function read_redis(ip, port, key)
– 获取一个连接
local ok, err = red:connect(ip, port)
if not ok then
ngx.log(ngx.ERR, "连接redis失败 : ", err)
return nil
end
– 查询redis
local resp, err = red:get(key)
– 查询失败处理
if not resp then
ngx.log(ngx.ERR, "查询Redis失败: ", err, ", key = " , key)
end
–得到的数据为空处理
if resp == ngx.null then
resp = nil
ngx.log(ngx.ERR, "查询Redis数据为空, key = ", key)
end
close_redis(red)
return resp
end

#开启共享词典:

共享字典,也就是本地缓存,名称叫做:item_cache,大小150m

lua_shared_dict item_cache 150m;

18.Python

#1.在Linux上安装Python需要先安装前置依赖程序。
yum install wget zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make zlib zlib-devel libffi-devel -y
#2.创建安装目录
mkdir /usr/local/develop/python
cd /usr/local/develop/python
#3.进入官方网址https://www.python.org/,点击最上面的Downloads按钮,再点击Linux/UNIX按钮,选择Python Source Releases下面的最新版,滑到最下面,在Files文件列表中选择Gzipped source tarball在上面右键复制链接地址
#执行下面的命令下载安装包,后面为刚刚复制的地址
wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
#4.解压
tar -xvf Python-3.12.0.tgz
#5.配置
cd Python-3.12.0
./configure --prefix=/usr/local/develop/python/python3.12.0
#6.编译
make && make install
#7.执行下面的命令,会看到centos默认自带的python版本为2.7.5,我们要替换成最新版的
/usr/bin/python
#8.删除系统自带的老版本(python2)的软链接
rm -f /usr/bin/python
#9.创建软链接替换老版本
ln -s /usr/local/develop/python/python3.12.0/bin/python3.12 /usr/bin/python
#10.验证安装
python

#注意:
#创建软链接后,会破坏yum程序的正常使用(只能使用系统自带的python2)
#将这2个文件的第一行,从#!/usr/bin/python修改为#!/usr/bin/python2
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down

在这里插入图片描述

19.MQTT

(1)安装软件

#1.输入以下指令
yum install gcc-c++
yum install cmake
yum install openssl-devel
#2.新建文件
新建个mqtt文件夹,下载mosquitto,下个不高不低的版本,并解压:
mkdir /usr/local/develop/mqtt
cd mqtt
wget http://mosquitto.org/files/source/mosquitto-1.4.10.tar.gz
tar -xzvf mosquitto-1.4.10.tar.gz
但这里还不能编译安装mosquitto
下面的三款扩展性软件,不安装也不影响mosquitto的使用:
#4、安装c-areas(支持异步DNS查找的库)
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar xvf c-ares-1.10.0.tar.gz
cd c-ares-1.10.0
./configure
make
sudo make install
#5、安装lib-uuid(支持为每个连接客户端生成唯一uuid)
yum install libuuid-devel
#6、安装libwebsockets(支持需使用websocket的应用)
wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz
tar zxvf v1.3-chrome37-firefox30.tar.gz
cd libwebsockets-1.3-chrome37-firefox30
mkdir build
cd build
cmake … -DLIB_SUFFIX=64
make install
#7、修改mosquitto的配置
我们修改一下mosquitto的配置:
cd mosquitto-1.4.10
vim config.mk
将里面的WITH_SRV:=yes和WITH_UUID:=yes都用#号注释掉
#8、安装mosquitto
接下来编译安装mosquitto:
make
sudo make install
注意: 如果在后续使用过程中找不到libmosquitto.so.1的话,在mqtt目录下输入以下指令修改一下libmosquitto.so的位置:
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
sudo ldconfig

(2)安全配置

#1、创建用户
sudo groupadd yuetong
sudo useradd -g yuetong yuetong
#2、程序配置
创建配置文件
mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf
#3、修改默认配置
#3.1.关闭匿名用户登录
打开mosquitto.conf文件( /etc/mosquitto/mosquitto.conf ),找到allow_anonymous节点,这个节点作用是,是否开启匿名用户登录。去掉前面的#,改为false。
#3.2.设置用户密码文件路径
找到password_file节点,这个节点是告诉服务器你要配置的用户将存放在哪里。打开此配置并指定pwfile.example文件路径(注意是绝对路径),在669行左右。
password_file /etc/mosquitto/pwfile 或者 /pwfile.example
#3.3.配置topic和用户
acl_file /etc/mosquitto/aclfile.example
#3.4.添加用户信息
终端输入,最后面的是用户名,之后自动弹出密码和确认密码,输入即可。(注意第二次创建用户时不用加 -c 如果加 -c 会把第一次创建的用户覆盖。)
mosquitto_passwd -c /etc/mosquitto/pwfile yuetong
然后进入到/etc/mosquitto/mosquitto.conf 将下面两个用户名和密码加上。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)连接测试

#启动
需要切换到yuetong用户才能启动
su yuetong
cd /usr/local/sbin
./mosquitto -v -d #-d后台启动 -v代码调试模式(verbose)可以输出更多的信息

1.下载客户端软件安装包,点击安装包直接安装 MQTTX
2.界面一开始是英文,可以显示中文
3.主要填写名称,Client ID,服务器地址这三项,连接

在这里插入图片描述
在这里插入图片描述

Docker安装软件和启动步骤

1.MySQL

#1.在宿主机创建挂载容器的目录映射,创建目录用于存储数据信息
cd /usr/local/develop
mkdir docker-app
cd docker-app
mkdir mysql
cd mysql
#2.搜索mysql镜像
docker search mysql
#3.拉取mysql镜像
docker pull mysql:5.7
#4.创建容器,设置端口映射、目录映射
docker run -id
-p 3306:3306
–name=mysql
-v $PWD/conf:/etc/mysql/conf.d
-v $PWD/logs:/logs
-v $PWD/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=root
mysql:5.7
#参数说明:

  • -p 3306:3306:将容器的 3306 端口映射到宿主机的 3306 端口。
  • -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
  • **-e MYSQL_ROOT_PASSWORD=root:**初始化 root 用户的密码。
    #5.进入容器,操作mysql
    docker exec -it mysql /bin/bash
    mysql -u root -p
    输入密码
    #6.使用外部机器连接容器中的mysql
    #7.启动容器命令
    docker start mysql
    #8.停止容器
    docker stop mysql

在这里插入图片描述

2.Tomcat

#1.在宿主机创建挂载容器的目录映射,创建目录用于存储数据信息
cd /usr/local/develop
mkdir docker-app
cd docker-app
mkdir tomcat
cd tomcat
#2.搜索镜像
docker search tomcat
#3.拉取镜像
docker pull tomcat
#4.先创建一个简单的容器
docker run -d -p 8080:8080 --name tomcat tomcat
#说明
#-d后台运行 -p指定端口号
#docker run -d -p 宿主机端口:容器端口 --name 容器名 镜像名

#5.解决访问tomcat404报错
#进入容器
docker exec -it tomcat /bin/bash
#以列表形式查看文件
ls -l
#查看webapps发现里面没东西,查看webapps.dist发现里面有东西(examples),因此删除webapps,将webapps.dist重命名为webapps
rmdir webapps
mv webapps.dist webapps
exit #退出容器

#6.复制容器内的默认配置文件到本地
docker cp tomcat:/usr/local/tomcat/conf /usr/local/develop/docker-app/tomcat
docker cp tomcat:/usr/local/tomcat/logs /usr/local/develop/docker-app/tomcat
docker cp tomcat:/usr/local/tomcat/webapps /usr/local/develop/docker-app/tomcat
#7.删除之前创建的容器
docker stop tomcat
docker rm tomcat
#8.创建最终的容器,并指定映射的配置文件
docker run -d -p 8080:8080 --name tomcat
-v /usr/local/develop/docker-app/tomcat/conf:/usr/local/tomcat/conf
-v /usr/local/develop/docker-app/tomcat/logs:/usr/local/tomcat/logs
-v /usr/local/develop/docker-app/tomcat/webapps:/usr/local/tomcat/webapps
tomcat
#9.启动容器命令
docker start tomcat
#10.停止容器
docker stop tomcat

在这里插入图片描述

3.Redis

cd /usr/local/develop/docker-app
mkdir redis
cd redis
#1. 搜索redis镜像
docker search redis
#2. 拉取redis镜像
docker pull redis
#因为 docker 安装运行 redis容器,是没有配置文件的,需要自己手动创建一个 redis.conf 文件
mkdir conf data log
vim conf/redis.conf
[粘贴或者上传redis.conf配置文件]
进入后使用编辑模式进行修改以下部分
将bind 127.0.0.1 -::1 替换为bind 0.0.0.0
将 daemonize on 替换成 daemonize yes
#3. 创建容器,设置端口映射
docker run -id --name redis2 -p 6379:6379
-v /usr/local/develop/docker-app/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-v /usr/local/develop/docker-app/redis/data/:/data
-v /var/log/redis.log:/usr/local/develop/docker-app/redis/log/redis.log
redis
#4. 使用工具连接redis

在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

nf 文件
mkdir conf data log
vim conf/redis.conf
[粘贴或者上传redis.conf配置文件]
进入后使用编辑模式进行修改以下部分
将bind 127.0.0.1 -::1 替换为bind 0.0.0.0
将 daemonize on 替换成 daemonize yes
#3. 创建容器,设置端口映射
docker run -id --name redis2 -p 6379:6379
-v /usr/local/develop/docker-app/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-v /usr/local/develop/docker-app/redis/data/:/data
-v /var/log/redis.log:/usr/local/develop/docker-app/redis/log/redis.log
redis
#4. 使用工具连接redis

在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
[外链图片转存中…(img-xzKS1vFG-1712557607843)]
[外链图片转存中…(img-UvDQqLs6-1712557607844)]
[外链图片转存中…(img-VmbNthPD-1712557607844)]
[外链图片转存中…(img-p2Tv6Lap-1712557607844)]
[外链图片转存中…(img-rNdbcFkO-1712557607844)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-U96MqGZI-1712557607845)]

;