Live2D

Linux分布式环境安装(待补充)

Linux环境安装😋

Zero、环境说明🎉

0.1 基础环境说明

yum -y install vim				#文本编辑器
yum -y install net-tools		#网络工具
yum -y install wget				#下载工具
yum -y install gcc gcc-c++		#C语言编译器
yum -y install perl				#增强版本的shell,是一种脚本语言
yum -y install pcre-devel		#解析正则表达式(nginx 的 http 模块使用)
yum -y install zlib-devel		#对应软件包的开发包

0.2 版本说明

序号 程序(包)名称 版本
1 CentOS 7
2 JDK 1.8.0_192
3 Tomcat 8.5.35
4 MySQL 5.7.33
5 Zookeeper 3.4.13
6 libfastcommon 1.0.39
7 FastDFS 5.11
8 nginx 1.15.6
9 fastdfs-nginx-module 1.20

安装文件链接在文章末尾

0.3 安装前准备工作

  • Linux CentOS 7操作系统(虚拟机 or 云服务器)☁
  • Xshell(连接客户端)、Xftp(文件上传)⬆
  • 一双勤快的手手👐 + 一个转动的大脑💦

by 小野🥇


先开启防火墙‼

#开启防火墙
systemctl start firewalld

一、Java☕

1. 安装JDK

使用 Xftp 上传 jdk-8u192-linux-x64.tar.gz 到 ~目录(/root目录)

解压到 指定目录

cd ~
tar -zxvf jdk-8u192-linux-x64.tar.gz -C /usr/local/

2. 配置环境变量

#编辑profile文件
vim /etc/profile

#在 profile 文件末尾添加
export JAVA_HOME=/usr/local/jdk1.8.0_192/
export PATH=$PATH:$JAVA_HOME/bin

3. 文件生效

source /etc/profile

4. 测试

java

javac

二、Tomcat😸

1. 安装

使用 Xftp 上传 apache-tomcat-8.5.35.tar.gz 到 ~目录(/root目录)

解压到 指定目录

cd ~
tar -zxvf apache-tomcat-8.5.35.tar.gz -C /usr/local/

2. 启动

cd /usr/local/apache-tomcat-8.5.35/bin
./startup.sh

3. 防火墙端口放行

查看监听端口,检查 8080 有没有开放

netstat -nltp

开启防火墙 8080 端口( --permanent 永久生效,没有此参数 重启 后失效)

#必须也确保 腾讯云服务器控制台 有添加8080端口入站规则 
firewall-cmd --zone=public --add-port=8080/tcp --permanent

更新防火墙规则(注意修改后一定要做此操作生效)

firewall-cmd --reload

查看是否开放8080端口

firewall-cmd --zone=public --list-ports

三、MySQL🐬

在CentOS中默认安装有MariaDB,这个是MySQL的分支。

但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

1. 安装

下载官方 mysql 包

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

安装 mysql 包

yum -y install mysql57-community-release-el7-10.noarch.rpm

安装 mysql 服务器

yum -y install mysql-community-server

这里可能提示一个问题

Failing package is: mysql-community-client-5.7.40-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

这里需要禁掉GPG验证检查。

#禁掉GPG验证检查,重新安装
yum -y install mysql-community-server --nogpgcheck

如果执行命令过程中还提示:Unable to find a match: mysql-community-server

则可以通过命令解决

yum module disable mysql

2. 启动

#启动
systemctl start mysqld
#查看状态
systemctl status mysqld
#重启mysql
systemctl restart mysqld

3. 配置

获取安装时的临时密码

grep 'temporary password' /var/log/mysqld.log

登录数据库

mysql -u root -p #然后输入密码(刚刚获取的临时密码)
临时密码不能登录的解决方案(如果没有此问题,可以跳过)
 1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1
 这一行配置让 mysqld 启动时不对密码进行验证
 2.重启 mysqld 服务:systemctl restart mysqld
 3.使用 root 用户登录到 mysql:mysql -u root
 4.切换到mysql数据库
 show databases;
 use mysql;
 更新 user 表:update user set authentication_string = password('Abcd1234$'),password_expired = 'N', password_last_changed = now() where user = 'root';
 这样密码就改成了 'Abcd1234$'
 在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
 5.退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容
 6.重启 mysqld 服务,再用新密码登录即可
 

修改初始密码

此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Abcd1234$';
#注意:这里会进行密码强度校验(密码设置时必须包含大小写字母.特殊符号.数字,并且长度大于8位),如不满足会报错!

查看 mysql版本 以及 数据库编码格式

#查看版本
select version(); 
#查看数据库编码格式
show variables like "%char%";

image-20221205231420721

开启 mysql 远程访问

#下面命令开启的所有的,如要开启单个的,用IP代替% 这里的 password 是你设置你的mysql远程登录密码。
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "Abcd1234$";
#注意:远程链接密码要写对要不然连不上 
#刷新MySQL的系统权限相关表
flush privileges;

具体参考:

image-20221205231115446

退出mysql

exit

4. 防火墙端口放行

开放 mysql 3306 端口

#必须也确保 腾讯云服务器控制台 有添加3306端口入站规则
firewall-cmd --zone=public --add-port=3306/tcp --permanent

更新防火墙规则(注意修改后一定要做此操作生效)

firewall-cmd --reload

查看是否开放3306端口

firewall-cmd --zone=public --list-ports

四、Zookeeper👨‍🌾

1. 安装

使用 Xftp 上传 zookeeper-3.4.13.tar.gz 到 ~目录(/root目录)

解压到指定目录

cd ~
tar -zxvf zookeeper-3.4.13.tar.gz -C /usr/local/

2. 配置

在解压好的zookeeper文件夹下创建data目录用于存放运行时产生的数据:

cd /usr/local/zookeeper-3.4.13
mkdir data

复制zookeeper/conf目录下的zoo_sample.cfgzoo.cfg

cd conf
cp zoo_sample.cfg zoo.cfg

进入zoo.cfg

vim zoo.cfg

添加如下内容:

dataDir=/usr/local/zookeeper-3.4.13/data #修改项

配置全局 在任何地方都可以启动 进入profile

vim /etc/profile
#添加如下代码:
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.13/
export PATH=$PATH:$ZOOKEEPER_HOME/bin

修改完后确保文件生效

#文件生效
source /etc/profile

开启防火墙 2181 端口( --permanent 永久生效,没有此参数 重启 后失效)

#必须也确保 腾讯云服务器控制台 有添加2181端口入站规则 
firewall-cmd --zone=public --add-port=2181/tcp --permanent

更新防火墙规则(注意修改后一定要做此操作生效)

firewall-cmd --reload
#查看是否开放2181端口
firewall-cmd --zone=public --list-ports

3. 启动与关闭

zkServer.sh start #启动
zkServer.sh stop #关闭
zkServer.sh status #查看状态

注意:Zookeeper需要依赖JDK环境,如果启动失败,检查JDK环境是否配置好!

五、FastDFS📁

1. 安装libfastcommon

cd ~
tar -zxvf libfastcommon-1.0.39.tar.gz -C /usr/local/
cd /usr/local/libfastcommon-1.0.39
./make.sh
./make.sh install

2. 安装FastDFS

使用 Xftp 上传 fastdfs-5.11.tar.gz 到 ~目录(/root目录)

解压到指定目录

cd ~
tar -zxvf fastdfs-5.11.tar.gz -C /usr/local/
cd /usr/local/fastdfs-5.11
./make.sh
./make.sh install

在配置tracker和storage之前先将/usr/local/fastdfs-5.11/conf下的文件全都复制到/etc/fdfs下(因为fastDFS启动的时候默认使用这个位置的配置文件):

cp /usr/local/fastdfs-5.11/conf/* /etc/fdfs/

#进到fsfs文件夹里删除冗余文件
cd /etc/fdfs/
rm -rf ./*.sample

为了更清晰的管理tracker和storage,我们可以设计如下的文件目录来记录运行时产生的数据和日志:

/root/fdfs #(需手工创建,base_path)
	|_data #运行期间产生的数据,包括用户上传的文件(自动产生,无需我们创建)
    |_logs #运行期间产生的日志(自动产生,无需我们创建)

输入如下指令准备好相应文件夹:

mkdir /root/fdfs

3. 单机部署

3.1 配置tracker

打开/etc/fdfs/tracker.conf进行编辑:

vim /etc/fdfs/tracker.conf

编辑如下内容:

base_path=/root/fdfs
http.server_port=80
3.2 配置storage

打开/ect/fdfs/storage.conf进行编辑:

vim /etc/fdfs/storage.conf

编辑如下内容:

base_path=/root/fdfs
store_path0=/root/fdfs #storage实际存放上传文件的目录在/root/fdfs/data下
tracker_server=192.168.149.88:22122 #tracker服务器所在的ip地址(服务器ip)
http.server_port=80 #http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)

开启防火墙 22122 和 23000 端口( --permanent 永久生效,没有此参数 重启 后失效)

#必须也确保 腾讯云服务器控制台 有添加22122和23000端口入站规则
#tracker服务器端口
firewall-cmd --zone=public --add-port=22122/tcp --permanent
#storage服务端口
firewall-cmd --zone=public --add-port=23000/tcp --permanent

更新防火墙规则(注意修改后一定要做此操作生效)

firewall-cmd --reload
#查看是否开放22122和23000端口
firewall-cmd --zone=public --list-ports
3.3 启动、关闭与测试
service fdfs_trackerd start #stop/restart(修改配置一定要restart)
service fdfs_storaged start #stop/restart(修改配置一定要restart)

查看是否成功启动tracker和storage:

netstat -unltp|grep fdfs

成功状态下应显示如下信息:

测试tracker和storage是否在通讯:

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

成功状态下应显示如下信息:

4. 分布式部署

六、Nginx🐱‍👤

1. 安装

使用 Xftp 上传 nginx-1.15.6.tar.gz 到 ~目录(/root目录)

解压到指定目录

cd ~
tar -zxvf nginx-1.15.6.tar.gz -C /usr/local/
cd /usr/local/nginx-1.15.6
./configure
make
make install

2. 配置

配置全局 在任何地方都可以启动 进入profile

vim /etc/profile
#添加如下代码:
export NGINX_HOME=/usr/local/nginx/
export PATH=$PATH:$NGINX_HOME/sbin

修改完后确保文件生效

#文件生效
source /etc/profile

开启防火墙 80 端口( --permanent 永久生效,没有此参数 重启 后失效)

#必须也确保 腾讯云服务器控制台 有添加80端口入站规则 
firewall-cmd --zone=public --add-port=80/tcp --permanent

更新防火墙规则(注意修改后一定要做此操作生效)

firewall-cmd --reload
#查看是否开放80端口
firewall-cmd --zone=public --list-ports

3. 启动与关闭

#nginx启动是没有提示的
nginx #启动
nginx -s reload #重启 
nginx -s stop #快速关闭
nginx -s quit #优雅关闭
nginx -v #查看nginx版本

在浏览器地址栏输入nginx服务器地址即可看到nginx首页:

http://192.168.149.88

七、整合FastDFS与Nginx🧲

1. 安装 fastdfs-nginx-module-1.20

使用 Xftp 上传 fastdfs-nginx-module-1.20.tar.gz 到 ~目录(/root目录)

解压到指定目录

cd ~
tar -zxvf fastdfs-nginx-module-1.20.tar.gz -C /usr/local/

修改 fastdfs-nginx-module-1.20/src/config

vim /usr/local/fastdfs-nginx-module-1.20/src/config
#vim编辑如下内容
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon"

先停掉nginx

nginx -s quit #优雅关闭 或 nginx -s stop快速关闭

进入nginx根目录,使用configure添加fastdfs-nginx-module-1.20,然后重新编译和安装nginx

cd /usr/local/nginx-1.15.6
./configure --add-module=/usr/local/fastdfs-nginx-module-1.20/src
make
make install

查看fastdfs-nginx-module是否安装成功:

#注意是大写“V”,查看ngix版本、编译器版本和configure参数(添加的模块信息在这里可以看到)
nginx -V 

2. 在fastDFS中启用fastdfs-nginx-module

将fastdfs-nginx-module配置文件拷贝至/etc/fdfs:

cp /usr/local/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs

修改文件内容:

vim /etc/fdfs/mod_fastdfs.conf

编辑如下内容:

base_path=/root/fdfs #存放log文件信息
store_path0=/root/fdfs #storage实际存放上传文件的目录在/root/fdfs/data下
tracker_server=192.168.149.88:22122 #tracker服务器ip和端口(服务器ip)
url_have_group_name = true #url中是否包含组名

3. 在nginx中启用fastdfs-nginx-module

打开/usr/local/nginx/conf/nginx.conf

cd /usr/local/nginx/conf/
vim nginx.conf

编辑如下:

user root; #最好加上,尤其是base_path设置在/root/fdfs这样的位置

server {
	listen       80;#该端口与storage.conf中的http.server_port相同
	server_name  localhost;

	location / {
		root   html;
		index  index.html index.htm;
	}
    
    location ~/group([0-9])/ {
		ngx_fastdfs_module;
    }
}

4. 测试

开启所有服务:

service fdfs_trackerd start
service fdfs_storaged start
nginx

编辑上传测试所用的client.conf文件:

vim /etc/fdfs/client.conf

修改为:

base_path=/root/fdfs
tracker_server=192.168.149.88:22122

上传文件

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf ~/nginx-1.15.6.tar.gz

上传成功的话,控制台会输出上传文件的fileId,类似于

group1/M00/00/00/CgAECGOVu6SAQg26AA-m4XS01fA.tar.gz

得到fileId以后,在主机浏览器地址栏输入以下完整URL即可进行文件下载:

http://192.168.149.88/group1/M00/00/00/CgAECGOVu6SAQg26AA-m4XS01fA.tar.gz

八、Redis🧰

1. 安装

使用 Xftp 上传 redis-5.0.2.tar.gz 到 ~目录(/root目录)

解压到指定目录

cd ~
tar -zxvf redis-5.0.2.tar.gz -C /usr/local/
cd /usr/local/redis-5.0.2
make
make install

2. 配置

/usr/local/redis-5.0.2/redis.conf进行修改:

vim /usr/local/redis-5.0.2/redis.conf

编辑如下

daemonize yes #后台方式启动
# 默认只能本地连接redis服务,如果需要允许远程连接的话,需要配置下面两项
# 1.注释掉bind选项,或者直接指定bind的ip,表示只允许bind指定的ip访问
# bind 127.0.0.1
# 2.关闭保护模式
protected-mode no

3. 启动与关闭

redis-server /usr/local/redis-5.0.2/redis.conf #通过指定配置文件的方式启动
redis-cli #操作redis 如果想存取中文可以在后面加上--raw参数
	set xxx #设置值 key:value
	get xxx #获取值 key
	exit #退出
redis-cli shutdown #关闭redis服务

开启防火墙 6379 端口( --permanent 永久生效,没有此参数 重启 后失效)

#必须也确保 腾讯云服务器控制台 有添加6379端口入站规则 
firewall-cmd --zone=public --add-port=6379/tcp --permanent

更新防火墙规则(注意修改后一定要做此操作生效)

firewall-cmd --reload
#查看是否开放6379端口
firewall-cmd --zone=public --list-ports

九、Elasticsearch🌈

1. 安装

使用 Xftp 上传 elasticsearch-6.8.23.tar.gz 到 ~目录(/root目录)

解压到指定目录

cd ~
tar -zxvf elasticsearch-6.8.23.tar.gz -C /usr/local/

2. 配置

ES不能以root用户启动,所以需要创建一个新用户:

#创建elasticsearch用户组
groupadd elasticsearch
#创建es用户,添加至elasticsearch用户组,密码为admin
useradd es -g elasticsearch -p admin

由于ES对于系统最大打开文件数、进程中内存映射区域的最大数量有最低限制要求,所以需要对以下两份系统文件进行修改:

修改系统最大打开文件数:

#服务器如果有默认的
* soft nofile 100001
* hard nofile 100002
#则可以不用添加以下配置

vim /etc/security/limits.conf
#在文件最后,增加如下配置
* soft nofile 65536
* hard nofile 65536
#其中*表示所有用户,也可以使用es来指定用户名

修改进程中内存映射区域的最大数量:

vim /etc/sysctl.conf
#将这行配置添加至文件末尾
vm.max_map_count=655360
#添加完后执行命令查看
sysctl -p

修改jvm内存占用

vim /usr/local/elasticsearch-6.8.23/config/jvm.options
#Xms、Xmx分别为ES初始化和最大使用内存(如不设置,默认为1G,硬件受不了)
-Xms256m
-Xmx256m

开启远程访问

#ES默认不允许远程访问,需要修改
vim /usr/local/elasticsearch-6.8.23/config/elasticsearch.yml
#编辑如下
network.host: 0.0.0.0

进入ES的根目录,然后创建data logs文件夹

cd /usr/local/elasticsearch-6.8.23/
mkdir data
#mkdir logs
#由于logs已存在,我们不再创建

给es用户授权

#将"/root"文件夹以递归的方式授予es用户访问权
chown -R es:elasticsearch /usr/local/elasticsearch-6.8.23

开启防火墙 6379 端口( --permanent 永久生效,没有此参数 重启 后失效)

#必须也确保 腾讯云服务器控制台 有添加9200和9300端口入站规则 
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent

更新防火墙规则(注意修改后一定要做此操作生效)

firewall-cmd --reload
#查看是否开放9200和9300端口
firewall-cmd --zone=public --list-ports

3. 启动与关闭

#切换到es用户
su es
#启动
/usr/local/elasticsearch-6.8.23/bin/elasticsearch #ctrl+c停止服务

#以后台方式启动服务
#/usr/local/elasticsearch-6.8.23/bin/elasticsearch -d
#后台方式运行,停止服务的方式为:首先查询ES的进程编号(一般为4位数),然后通过kill终止
#netstat -unltp|grep java #查看java进程,留意9200和9300端口的进程编号(进程编号是一样的)
#kill 进程编号

启动后,在浏览器地址栏输入:

http://192.168.149.88:9200

即可看到elasticsearch输出的版本信息等。

4. IK中文分词器

  1. 在 elasticsearch-6.8.23/plugins 目录下新建文件夹 ik

    cd /usr/local/elasticsearch-6.8.23/plugins
    mkdir ik
    
  2. 使用 Xftp 上传 elasticsearch-analysis-ik-6.8.23.zip 到 ik目录中

    #记得传到这个目录下
    /usr/local/elasticsearch-6.8.23/plugins/ik
    
  3. 解压

    #进入文件夹解压
    cd /usr/local/elasticsearch-6.8.23/plugins/ik
    
    #unzip命令未找到,可以使用yum -y install unzip在线安装
    #yum -y install unzip
    unzip elasticsearch-analysis-ik-6.8.23.zip
    
  4. 重启ES

    1. 先关闭ES

      netstat -unltp #查看进程
      kill 2136#强行结束进程
      

      image-20221210234506538

    2. 启动ES

      su es #先切换用户
      /usr/local/elasticsearch-6.8.23/bin/elasticsearch -d #后台启动ES
      

5. Kibana(可选,ES可视化平台)

Kibana介绍

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。

你可以用kibana搜索、查看存放在Elasticsearch中的数据。

Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。

Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。

一种很典型的MVC思想,模型持久层,视图层和控制层。

Logstash担任控制层的角色,负责搜集和过滤数据。

Elasticsearch担任数据持久层的角色,负责储存数据。

Kibana担任视图层角色,拥有各种维度的查询和分析,并使用图形化的界面展示存放在Elasticsearch中的数据。

Kibana安装
1. 安装

使用 Xftp 上传 kibana-6.8.23-linux-x86_64.tar.gz 到 ~目录(/root目录)

解压到指定目录

cd ~
tar -zxvf kibana-6.8.23-linux-x86_64.tar.gz -C /usr/local/
2. 配置

/usr/local/kibana-6.8.23-linux-x86_64/config/kibana.yml进行修改:

vim /usr/local/kibana-6.8.23-linux-x86_64/config/kibana.yml

编辑如下内容:

#开启远程访问
server.host=0.0.0.0
#切换中文
i18n.locale: "zh-CN"

开启防火墙 5601 端口( --permanent 永久生效,没有此参数 重启 后失效)

#必须也确保 腾讯云服务器控制台 有添加80端口入站规则 
firewall-cmd --zone=public --add-port=5601/tcp --permanent

更新防火墙规则(注意修改后一定要做此操作生效)

firewall-cmd --reload
#查看是否开放5601端口
firewall-cmd --zone=public --list-ports
3. 启动
/usr/local/kibana-6.8.23-linux-x86_64/bin/kibana #启动 ctrl+c停止服务
nohup /usr/local/kibana-6.8.23-linux-x86_64/bin/kibana & #后台启动

在浏览器地址栏输入Kibana服务器地址即可看到Kibana首页:

http://192.168.149.88:5601

十、RabbitMQ🐰

待补充

文件链接:

https://www.123pan.com/s/5ub8Vv-Yt44 提取码:1211

posted @ 2022-12-11 01:25  OnoLemon  阅读(82)  评论(1)    收藏  举报