Linux集群部署项目

目录

一,环境准备

1.1.安装MySQL

1.2.安装JDK

1.3.安装TomCat

1.4.安装Nginx

二,部署

2.1.后台服务部署

2.2.Nginx配置负载均衡及静态资源部署


一,环境准备

1.1.安装MySQL

将MySQL的安装包上传至服务器

查看系统中是否存在mariadb,如果存在则安装mysql时会有冲突,需要先卸载mariadb

# 查看是系统中是否存在mariadb
rpm -qa|grep mariadb

# 卸载mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

执行完卸载命令后再次查看mariadb是否被删除显示什么都没有表示已经卸载

创建mysql用户及用户组

#创建用户组
groupadd mysql#创建用户
useradd mysql -g mysql

解压刚开始传入服务器的MySQL压缩包

tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

开始安装

rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm// 安装之前,请先检查是否安装libaio,如果未安装请先安装之后再装server源
rpm -qa|grep libaiorpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm

# 初始化数据库
mysqld --initialize

更改目录及权限

# 更改mysql数据库目录的所属用户及用户组
chown mysql:mysql /var/lib/mysql -R# mysql目录授权
cd /var/lib
chmod -R 777 mysql

初始化数据库及启动

# 启动数据库服务
systemctl start mysqld

查看MySQL的启动状态

启动成功后修改mysql的登录密码

-- 查看安装时生成的随机密码
grep 'password' /var/log/mysqld.log

使用随机密码登录

-- 登录数据的代码
mysql -u root -p

重置密码

set password = password('新密码');

授权外网登录权限

grant all privileges on *.*  to  root@'%' identified by 'mysql.com';

刷新权限

flush privileges;

退出

exit

将MySQL端口号3306加入到防火墙规则

# 配置防火墙规则
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 刷新防火墙规则
firewall-cmd --reload# 关闭防火墙,不建议使用
systemctl stop firewalld.service
systemctl disable firewalld.service

用主机上的数据库管理软件测试一下

1.2.安装JDK
# 在/usr/local下创建java目录
mkdir /usr/local/java

将JDK安装包上传至服务器

将JDK解压到/usr/local/java目录

tar -zxf  jdk-8u151-linux-x64.tar.gz -C /usr/local/java

配置环境变量

vim /etc/profile

在配置文件中加入JAVA环境变量

export JAVA_HOME=JDK解压路径
export PATH=$PATH:${JAVA_HOME}/bin

保存并退出,让新设置的环境变量生效

source /etc/profile

检查JAVA安装是否成功

java -version

1.3.安装TomCat

将TomCat的安装包上传至服务器

将TomCat解压到/opt下

tar -zxf apache-tomcat-8.5.20.tar.gz -C /opt

配置环境变量

vim /etc/profile# 加入TOMCAT_HOME环境变量
export TOMCAT_HOME=Tomcat解压路径

启动tomcat

来到安装的tomcat的bin目录,执行如下命令

./startup.sh

tomcat启动后并不能立即访问,原因是8080端口被防火墙阻止了,

可以关闭防火墙(不建议),或将8080端口配置到防火墙中。

# 将8080端口加入到防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent# reload防火墙规则
firewall-cmd --reload

修改防火墙之后,访问http://192.168.11.137:8080/,如果看到tomcat的管理页面,则说明成功。

创建启动脚本

将tomcat目录下bin中的catalina.sh拷贝到/etc/init.d下,重命名为tomcat,为所有用户增加可执行权限

# 将catalina.sh拷贝到init.d目录下
cp /opt/apache-tomcat-8.5.20/bin/catalina.sh /etc/init.d# 在init.d目录下为catalina.sh重命名
mv catalina.sh tomcat# 为所有用户赋可执行权限
chmod a+x tomcat# 编辑tomcat
vim /etc/init.d/tomcat# 进入编辑界面,加入如下内容,注意根据自己的环境配置
#!/bin/sh                                                              
JAVA_HOME=/usr/local/java/jdk1.8.0_151                          
CATALINA_HOME=/opt/apache-tomcat-8.5.20#测试启动脚本
service tomcat status   # 查看服务状态,q键退出
service tomcat start    # 启动服务
service tomcat restart  # 重启服务
service tomcat stop     # 停止服务service --status-all    # 查看服务列表  q键退出

配置TomCat随服务器自动启动

# 编辑/etc/init.d/tomcat
vim /etc/init.d/tomcat# 加入如下注释,注意是注释,#
#chkconfig: 23456 10 90
#description: tomcat service

使用chkconfig --add命令添加服务

chkconfig --add tomcat

完成后即可开机自启

安装第如果需要安装多台TomCat可以照如上操作,如果是安装台同一台服务器上则需要更改TomCat的配置文件

进入TomCat安装目录下面的conf目录

cd /opt/apache-tomcat-8.5.20/conf

编辑server.xml

vim server.xml

找到8005,8080,8009这三个端口号将其改成与第一台或其他的TomCat不一样即可

1.4.安装Nginx

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装

yum install gcc-c++

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库

yum install -y pcre pcre-devel

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库

yum install -y zlib zlib-devel

OpenSSL 套接字层密码库,有主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库

yum install -y openssl openssl-devel

wget下载Nginx

 wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

解压

tar -zxvf nginx-1.18.0.tar.gz

进入到Nginx的安装目录      

cd nginx-1.18.0

配置安装

# 使用默认配置,命令在nginx目录中执行,执行完成会产生MakeFile等文件
./configure# 编译并安装
make && make install

启动与停止

# 到命令所在目录
cd /usr/local/nginx/sbin/# 启动
./nginx# 停止,强制直接关停
./nginx -s stop# 等待nginx进程处理完任务再停止
./nginx -s quit# 重新加载配置文件
./nginx -s reload

 配置Nginx自动启动

vim /etc/rc.d/rc.local     

  

/usr/local/nginx/sbin/nginx

修改/etc/rc.d/rc.local的权限

chmod 755 /etc/rc.d/rc.local

二,部署

2.1.后台服务部署

在部署前请先将后台服务的数据库连接修改为已安装配置好的mysq服务器的ip地址

之后将war包上传至tomcat的webapps目录下即可

2.2.Nginx配置负载均衡及静态资源部署

修改前端程序

注:

        在部署前端程序时,需要先修改后台server的ip地址配置。

之后将前台程序打包

npm run build

 将打包好的前端程序上传到Nginx服务器的html目录

nginx.conf配置

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

重新加载配置文件

[root@localhost sbin]# pwd
/usr/local/nginx/sbin
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# ./nginx -s reload

之后就可以通过nginx的地址访问部署好的项目了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793094.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go 源码之互斥锁 Mutex

文章目录 一、总结二、源码(一)Mutex(二) Lock(三)Unlock 三、常见问题有劳各位看官 点赞、关注➕收藏 ,你们的支持是我最大的动力!!!接下来会不断更新 golan…

中间件漏洞!!!

上次好像记得讲过了框架漏洞,(weblogic不是)那么,今天我们就来讲一些中间件的漏洞 1.Apache解析漏洞 众所周知,Apache是一个非常出名的中间件,本来呢,他是不存在漏洞的,但是如果用…

探索大数据时代下与云计算技术融合:实现企业级数据处理与分析的灵活性和效率性

引言: 关联阅读博客文章:深度剖析:计算机集群在大数据体系中的关键角色和技术要点 随着信息时代的到来,数据量的爆炸性增长已成为一种常态。企业、政府、科研机构等各个领域都面临着海量数据的收集、存储、处理和分析的挑战。在…

Flutter-发布插件到pub上传不上问题

问题1: 尝试指令: flutter packages pub publish --serverhttps://pub.dartlang.org问题2: 问题1解决后,进入验证身份,点击终端显示的链接,跳转到google验证,记得这里要科*学上网,点…

基于 Docker 的 python grpc quickstart

工作之后一直使用的 RPC 框架是 Apache 的 thrift,现在发现 grpc 更流行,所以也要学习一下,先来简单的跑一下 demo。在本地安装运行也很方便,不过因为有了 docker,所以在 docker 里面安装运行隔离性更好,顺…

Unity框架,ET框架8.1版本的打包流程记录

目录 打包代码前置1.必须要安装Visusal Studio 2022的组件,如下图,必须都要进行安装,不然会在代码重构的时候报错,丢失SDK。Rider的版本必须2023及以上 步骤一、使用Rider编辑器打开项目后进行重构项目步骤二、使用HybirdCLR生成A…

在ArcGIS Pro中优雅的制作荧光图

最近在网上看到了荧光图,觉得挺帅气,去网上查询了怎么制作荧光图,发现大部分都是QGIS的教程,作为ArcGIS的死忠用户,决定在ArcGIS Pro中实现,其实挺简单的。 1、软件:ArcGIS Pro3.0 2、点数据&a…

NOI - OpenJudge - 2.5基本算法之搜索 - 1490:A Knight‘s Journey - 超详解析(含AC代码)

点赞关注吧~ 1490:A Knights Journey 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 Background The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey around the world. When…

前端三剑客 —— CSS (第五节)

目录 内容回顾: 特殊样式 特殊样式 CSS变量 常见函数 倒影效果 页面布局 Table 布局(了解即可) DIVCSS布局 弹性布局 1)不使用弹性布局,而是使用DIVCSS 2)使用弹性布局实现导航菜单 内容回顾…

echart 仪表盘实现指针的渐变色及添加图片

需求: 在仪表盘中设置指针为渐变色,并在仪表盘中间添加图片。 实现重点: 1、仪表盘指针渐变色的实现 渐变色通过设置pointer的itemStyle属性内的color实现,重点是echart版本,这个原本使用4.8.0的版本不起作用&#xff…

AD20全流程的使用笔记

目录 首先一个完整的AD工程文件需要我们自己建立的文件有这些: 新建工程: 从现有的工程文件中将元件添加到原理图库: 元件的摆放: 器件的复制及对齐: 导线、Netlabe、端口的添加: Value值的校对&…

SQL注入---盲注

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.盲注概述 注是一种SQL注入攻击的形式,在这种攻击中,攻击者向目标应用程序发送恶意注入代码,然后通过观察应用程序的响应来推断出数据库中的信息。与常规的…

设计模式——抽象工厂模式02

如果是工厂模式是对同一类商品进行抽象然后生产。 那么抽象工厂模式是对工厂的抽象,每个工厂都能生产多种产品,不同工厂生产的商品性质相同,但外观,品牌会略有差异。 设计模式,一定要敲代码理解 商品抽象 public in…

每日五道java面试题之ZooKeeper篇(一)

目录: 第一题. ZooKeeper 是什么?第二题. Zookeeper 文件系统第三题. Zookeeper 怎么保证主从节点的状态同步?第四题. 四种类型的数据节点 Znode第五题 . Zookeeper Watcher 机制 – 数据变更通知 第一题. ZooKeeper 是什么? Zoo…

libusb Qt使用记录

1.libusb 下载 ,选择编译好的二进制文件,libusb-1.0.26-binaries.7z libusb Activity 2. 解压 3. 在 Qt Widgets Application 或者 Qt Console Application 工程中导入库,Qt 使用的是 minggw 64编译器,所以选择libusb-MinGW-x64。…

基于STM32的电子钟与万年历设计

1、功能 硬件部分: (1). 采用 STM32F103ZET6作为主控芯片, 负责驱动其他外设模块 (2). 实时时钟采用 STM32 本身的 RTC (3). TFT(LCD)彩色显示屏 正点原子的3.5寸触摸屏(NT3510) (4). DS18B20 温度传感器 支持的功能&#xf…

C语言—用EasyX实现反弹球消砖块游戏

代码效果如下 #undef UNICODE #undef _UNICODE #include<graphics.h> #include<conio.h> #include<time.h> #include<stdio.h>#define width 640 #define high 480 #define brick_num 10int ball_x, ball_y; int ball_vx, ball_vy; int radius; int ba…

使用 Clickhouse 集成的表引擎同步数据方式详解

Clickhouse作为一个列式存储分析型数据库&#xff0c;提供了很多集成其他组件的表引擎数据同步方案。 官网介绍 一 Kafka 表引擎 使用Clickhouse集成的Kafka表引擎消费Kafka写入Clickhouse表中。 1.1 流程图 1.2 建表 根据上面的流程图需要建立三张表&#xff0c;分别Click…

Linux云计算之网络基础8——IPV6和常用网络服务

目录 一、IPV6基础 IPV6详解 IPv6数据报的基本首部 IPv6数据报的扩展首部 IPv6地址的表示方法 IPv6地址分类 网际控制报文协议ICMPv6 二、cisco基于IPV6的配置 cisco基于IPV6的配置步骤 模拟配置 三、HTML基础介绍 文档的结构 动手操作一下 四、常用网络服务介绍…

网络编程(TCP、UDP)

文章目录 一、概念1.1 什么是网络编程1.2 网络编程中的基本知识 二、Socket套接字2.1 概念及分类2.2 TCP VS UDP2.3 通信模型2.4 接口方法UDP数据报套接字编程TCP流套接字编程 三、代码示例3.1 注意点3.2 回显服务器基于UDP基于TCP 一、概念 首先介绍了什么是网络编程&#xff…