当前位置: 首页 > news >正文

设备管理平台项目部署

1 环境布置

服务名称IP地址安装服务
nginx172.16.0.10nginx+filebeat+kibana
spring cloud172.16.0.11openjdk+filebeat
redis172.16.0.12redis
ELK172.16.0.13ES+logstash
mysql172.16.0.100mysql+filebeat

2 nginx节点

2.1 安装nginx

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0# 安装依赖包
yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel# 下载nginx安装包
wget http://nginx.org/download/nginx-1.20.2.tar.gz
tar -zxvf nginx-1.20.2.tar.gz# 创建nginx用户
useradd -M -s /sbin/nologin nginx# 编译安装nginx
cd nginx-1.20.2
------------------------------------------------------------------------------------------------------------
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_modulemake && make install
------------------------------------------------------------------------------------------------------------
# 让系统识别nginx的操作命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/# 添加 Nginx 系统服务
vim /lib/systemd/system/nginx.service
------------------------------------------------------------------------------------------------------------
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
------------------------------------------------------------------------------------------------------------
# 授权
chmod 754 /lib/systemd/system/nginx.service# 修改配置文件
vim /usr/local/nginx/conf/nginx.conf
------------------------------------------------------------------------------------------------------------
server {listen 80;server_name localhost;location / {proxy_pass http://172.16.0.11:8080;  # Spring服务端口proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}
}
------------------------------------------------------------------------------------------------------------# 启动服务
systemctl restart nginx.service
systemctl enable nginx.service

2.2 安装Filebeat

#上传软件包filebeat-6.6.1-x86_64.rpm到/opt目录
cd /opt
rpm -ivh filebeat-6.6.1-x86_64.rpm# 修改filebeat配置文件
cd /etc/filebeat
cp filebeat.yml filebeat.yml.bakvim /etc/filebeat/filebeat.yml
------------------------------------------------------------------------------------------------------------
filebeat.inputs:
- type: logenabled: truepaths:- /usr/local/nginx/logs/access.log  # Nginx访问日志- /usr/local/nginx/logs/error.log   # Nginx错误日志tags: ["nginx"]  # 标记日志来源
--------------Elasticsearch output-------------------
(全部注释掉)
----------------Logstash output---------------------
output.logstash:hosts: ["172.16.0.13:5044"]   # 发送到Logstash
------------------------------------------------------------------------------------------------------------
# 启动服务
systemctl start filebeat && systemctl enable filebeat

2.3 安装 Kibana

# 安装Kibana(与Elastic同版本,此处以7.17为例)
yum install -y kibana# 配置Kibana
vim /etc/kibana/kibana.yml
------------------------------------------------------------------------------------------------------------
server.port: 5601
server.host: "0.0.0.0"  						# 本机IP,允许外部访问
elasticsearch.hosts: ["http://172.16.0.13:9200"]    # 连接ES
kibana.index: ".kibana"
------------------------------------------------------------------------------------------------------------
# 启动服务
systemctl start kibana && systemctl enable kibana# 验证:访问http://172.16.0.10:5601,应看到Kibana界面

3 redis节点

3.1 安装redis

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0# redis 下载地址:http://download.redis.io/releases/ (可以提前准备安装包)
yum install -y gcc gcc-c++ make
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make && make PREFIX=/usr/local/redis install
#由于Redis源码包中直接提供了 Makefile 文件,所以在解压完软件包后,不用先执行 ./configure 进行配置,可直接执行 make 与 make install 命令进行安装。#执行软件包提供的 install_server.sh 脚本文件设置 Redis 服务所需要的相关配置文件
cd /opt/redis-5.0.7/utils
./install_server.sh
......					#一直回车
Please select the redis executable path [] /usr/local/redis/bin/redis-server  	#需要手动修改为 /usr/local/redis/bin/redis-server ,注意要一次性正确输入#把redis的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/redis/bin/* /usr/local/bin/#当 install_server.sh 脚本运行完毕,Redis 服务就已经启动,默认监听端口为 6379
netstat -natp | grep redis#Redis 服务控制
/etc/init.d/redis_6379 stop				#停止
/etc/init.d/redis_6379 start			#启动
/etc/init.d/redis_6379 restart			#重启
/etc/init.d/redis_6379 status			#状态#修改配置 /etc/redis/6379.conf 参数
vim /etc/redis/6379.conf
bind 0.0.0.0								#70行,添加 监听的主机地址
daemonize no								#137行,启用守护进程# 重启服务
/etc/init.d/redis_6379 restart# redis监听状态
netstat -tunlp | grep 6379# 启动redis服务
redis-server

4 MySQL节点

4.1 安装MySQL

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0# 环境准备
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake# 创建 MySQL 专用用户
useradd -s /sbin/nologin mysql# 源码解压与依赖
tar zxvf mysql-5.7.17.tar.gz -C /opt
tar zxvf boost_1_59_0.tar.gz -C /usr/local/
mv /usr/local/boost_1_59_0 /usr/local/boost# CMake 编译配置
cd /opt/mysql-5.7.17/
------------------------------------------------------------------------------------------------------------
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1
------------------------------------------------------------------------------------------------------------
# 编译安装
make -j 4 && make install
⚠️ 注意:如果 CMake 出错,解决后需删除 `CMakeCache.txt` 再重新执行# 创建日志目录
mkdir -p /var/log/mysql# 权限授权
chown -R mysql:mysql /var/log/mysql
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf# 环境变量设置
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile# 数据库初始化
cd /usr/local/mysql/bin/
------------------------------------------------------------------------------------------------------------
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
------------------------------------------------------------------------------------------------------------
# 启动服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
netstat -anpt | grep 3306# 添加配置文件
vim /etc/my.cnf
------------------------------------------------------------------------------------------------------------
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
log_bin = /usr/local/mysql/data/master-bin
relay_log = /usr/local/mysql/data/slave-bin
#validate_password_policy=LOW
#validate_password_length=6
log_error = /var/log/mysql/mysql_error.log
slow_query_log = ON
slow_query_log_file = /var/log/mysql/mysql_slow.log
long_query_time = 2
log_queries_not_using_indexes = ON
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES[mysql]
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
auto-rehash
------------------------------------------------------------------------------------------------------------# 账号密码设置
mysqladmin -u root -p password "123456"# 登入
mysql -u root -p123456# 安装插件
INSTALL PLUGIN validate_password SONAME 'validate_password.so';# 修改配置
vim /etc/my.cnf
------------------------------------------------------------------------------------------------------------
将这2行的 # 号删除
#validate_password_policy=LOW
#validate_password_length=6# 重启服务 
systemctl restart mysqld# 导入提前建好的库
mysql -uroot -p < /opt/yl_app.sql## 验证
show databases;
use yl_app;
show tables;# 创建访问用户
CREATE USER 'root'@'%' IDENTIFIED BY '123456';# 允许 172.16.0.% 通过用户名 root 访问 yl_app 数据库
GRANT ALL PRIVILEGES ON yl_app.* TO 'root'@'172.16.0.%' IDENTIFIED BY '123456' WITH GRANT OPTION;# 刷新权限使其生效
FLUSH PRIVILEGES;

4.2 安装 Filebeat

#上传软件包filebeat-6.6.1-x86_64.rpm到/opt目录
cd /opt
rpm -ivh filebeat-6.6.1-x86_64.rpm# 修改filebeat配置文件
cd /etc/filebeat
cp filebeat.yml filebeat.yml.bakvim /etc/filebeat/filebeat.yml
------------------------------------------------------------------------------------------------------------
filebeat.inputs:
- type: logenabled: truepaths:- /var/log/mysqld.log  # MySQL日志路径tags: ["mysql"]  # 标记日志来源--------------Elasticsearch output-------------------
(全部注释掉)
----------------Logstash output---------------------
output.logstash:hosts: ["172.16.0.13:5044"]   # 发送到Logstash
------------------------------------------------------------------------------------------------------------
# 启动服务
systemctl start filebeat && systemctl enable filebeat

5 Spring Cloud节点

5.1 部署 Spring Cloud 服务

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0# 安装java
yum install -y java
java -version# 上传jar包
将yl_application-1.0-SNAPSHOT.jar上传到java节点# 设置起始内存为 512MB,最大内存为 2GB
nohup java -Xms512m -Xmx2g -jar yl_application-1.0-SNAPSHOT.jar &# 在当前目录下会生成一个logs文件夹,里面是日志
tail -f nohup.out

5.2 安装 Filebeat

#上传软件包filebeat-6.6.1-x86_64.rpm到/opt目录
cd /opt
rpm -ivh filebeat-6.6.1-x86_64.rpm# 修改filebeat配置文件
cd /etc/filebeat
cp filebeat.yml filebeat.yml.bakvim /etc/filebeat/filebeat.yml
------------------------------------------------------------------------------------------------------------
filebeat.inputs:
- type: logenabled: truepaths:- /var/log/spring/app.log  # Spring应用日志tags: ["spring"]  # 标记日志来源--------------Elasticsearch output-------------------
(全部注释掉)
----------------Logstash output---------------------
output.logstash:hosts: ["172.16.0.13:5044"]   # 发送到Logstash
------------------------------------------------------------------------------------------------------------
# 启动服务
systemctl start filebeat && systemctl enable filebeat

6 ELK节点

6.1 安装 Elasticsearch

# 关闭防火墙与增强功能
systectl stop firewalld
setenforce 0# java安装
注:版本问题
java -version										#如果没有安装,yum -y install java
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)# 安装 Elasticsearch 软件
#上传elasticsearch-6.6.1.rpm到/opt目录下 
cd /opt
rpm -ivh elasticsearch-6.6.1.rpm # 加载系统服务
systemctl daemon-reload    
systemctl enable elasticsearch.service# 修改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bakvim /etc/elasticsearch/elasticsearch.yml
------------------------------------------------------------------------------------------------------------
node.name: elk-server
network.host: 0.0.0.0 							# 绑定本机IP
http.port: 9200
path.data: /data/elk_data
path.logs: /var/log/elasticsearch/
bootstrap.memory_lock: false
discovery.seed_hosts: ["172.16.0.13"]  			# 单节点部署
cluster.initial_master_nodes: ["elk-server"]
------------------------------------------------------------------------------------------------------------# 启动服务
systemctl start elasticsearch && systemctl enable elasticsearch# 验证:访问http://172.16.0.13:9200,应返回ES集群信息
curl http://172.16.0.13:9200

6.2 安装 Logstash

#上传软件包logstash-6.6.1.rpm到/opt目录下
cd /opt
rpm -ivh logstash-6.6.1.rpm
systemctl start logstash.service
systemctl enable logstash.service
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/# 测试logstash
#输入采用标准输入,输出采用标准输出(类似管道)
logstash -e 'input { stdin{} } output { stdout{} }'
输入www.baidu.com
示例输出:
{
"host" => "elk",
"@timestamp" => 2025-09-30T03:24:37.461Z,
"message" => "www.baidu.com",
"@version" => "1"
}vim /etc/logstash/conf.d/elfk.conf
------------------------------------------------------------------------------------------------------------
input {beats {port => 5044  # 监听Filebeat的端口}
}output {elasticsearch {hosts => ["http://172.16.0.13:9200"]  # 输出到ESindex => "logstash-%{+YYYY.MM.dd}"  # 按日期创建索引}stdout { codec => rubydebug }  # 控制台输出(调试用)
}
------------------------------------------------------------------------------------------------------------# 启动
logstash -f /etc/logstash/conf.delfk.conf
# 前台运行
logstash -f /etc/logstash/conf.d/elfk.conf --path.settings /etc/logstash/
http://www.dtcms.com/a/452961.html

相关文章:

  • 最小二乘法(Least Squares Method):原理、应用与扩展
  • 13. Pandas 透视表与交叉表分析
  • Edu161 D、E 模拟+位运算构造
  • 临床研究三千问——如何选择合适的研究类型(12)
  • 电销做网站的话术响应式网站是
  • Channel 的核心特点 (Channel vs SharedFlow 选择对比)
  • 什么网站权重高wordpress置顶代码
  • 厦门app网站设计青岛队建网站
  • 【Linux】Linux进程信号(下)
  • C++基础:(九)string类的使用与模拟实现
  • C++网络编程(二)字节序与IP地址转换
  • 从零开始XR开发:Three.js实现交互式3D积木搭建器
  • 如何解决网站只收录首页的一些办法wordpress多站点内容聚合
  • 个人备忘录的设计与实现
  • 删除cad无关线条 的ppo 随手记
  • Python AI编程在微创手术通过数据分析改善恢复的路径分析(下)
  • 深度学习之神经网络1(Neural Network)
  • pycharm下创建flask项目,配置端口问题
  • 计算机科学中的核心思想与理论
  • SpringCloud,vue3应用使用AlibabaCloudToolkit自动化部署到远程服务器上的docker
  • 如何从RSSI和SNR 判断现场的LoRaWAN的信号质量?
  • 【万字解读】品牌SEO实战指南:7步打造AI时代的搜索权威
  • 网站短期就业培训班开发公司总经理管理方案
  • GitHub 热榜项目 - 日榜(2025-10-07)
  • TDengine 比较函数 NULLIF 用户手册
  • SSM面试题学习
  • 网站建设练手项目我是做装修什么网站可以
  • Effective Python 第41条:考虑用mix-in类来表示可组合的功能
  • STM32独立看门狗IWDG与窗口看门狗WWDG知识梳理笔记
  • HTML-CSS-JS-入门学习笔记