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是一个非常出名的中间件,本来呢,他是不存在漏洞的,但是如果用…

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

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

go并发请求url

sync.WaitGroup写法 package mainimport ("database/sql""fmt""net/http""sync""time"_ "github.com/go-sql-driver/mysql" )func main() {//开始计时start : time.Now()//链接数据库,用户名&#xf…

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…

Vue开发加速器:Chrome的vue-devtools插件解决开发难题

I. 简介 Vue.js是一个流行的前端JavaScript框架,它允许开发人员轻松构建可扩展的Web应用程序和移动应用程序。vue-devtools是一个Chrome浏览器的扩展程序,它是由Vue.js官方维护的一款强大的调试工具。结合Vue.js和vue-devtools插件,开发人员…

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

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

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

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

排序基础---插入排序及在c++中开辟二维数组

排序基础---插入排序 插入排序是一种比较排序。 选出一个临时变量tmp. 然后弄一个end,end最初可以是0. 那么tmp便应该是a[end1] 最终的目的是为了使一个序列有序,所以应该让tmp依次与前[0,end],进行比较最后插入到合适的位置。 void insert_sort(…

AD20全流程的使用笔记

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

SQL注入---盲注

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

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

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

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

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

MySQL面试题系列-6

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据…

flutter项目ffi相关

Flutter 使用FFICustomPainter实现全平台渲染视频_flutter ffi-CSDN博客

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。…