Linux集群

news2024/11/13 11:01:04

前言:

环境准备:虚拟机,xshell,mysql,tomcat,jdk,centos

虚拟机安装centos可以参考博客:虚拟机安装centos

一,安装jdk

打开xshell

 点击cftp,如果没有安装,就先安装cftp;

会弹出一个界面,输入用户名和密码,用户名默认为root,密码就是我们刚刚安装虚拟机的时候设置的密码;

将jdk的安装包导入linux;

将tomcat导入Linux中:

将mysql压缩包导入Linux中

将jdk,tomcat,mysql进行解压,路径就是去看xftp双击之后,复制的话就避免出错

类似于这样;

tar  -zxvf   压缩文件名.tar.gz

注意:注:
tar包属于打包文件,Unix和类Unix系统上的压缩打包工具,可以将多个文件打包为一个文件,文件后缀为tar
tar.gz包是压缩文件,经过gzip压缩后的tar文件,形成tar.gz包,扩展名为tar.gz
两种文件的用途不同,tar.gz一般情况下是源代码安装包,需要先解压再经过编译、安装才能执行。tar包最初设计目的是将文件备份到磁带上(tape archive),因此得名,一般用于文件备份。

参数说明:
z:指明压缩文件为gzip压缩
x:表示执行解压,如果使用c参数则表示压缩
v:显示详细的处理过程
f:要操作的文件名
-C:解压到指定目录,如:tar -zxf abc.tar.gz -C /root 将abc.tar.gz解压到root目录去。

自己安装的jdk适合安装在哪里?
自己安装的软件一般会放在/usr/local下,该目录与windows中的C:\Program Files类似。
其他常用目录结构:
/usr:系统级目录,类似于c:/windows
/usr/lib: 系统级目录,类型与c:/windows/system32
/opt: 用户级目录,可以近似的理解为d:/software,opt为可选的意思,一般用来安装第三方软件,或者是一些服务程序的安装

解压

解压jdk,回车

解压tomcat,回车

解压mysql

安装jdk

在/usr/local下创建java目录:

mkdir /usr/local/java

将jdk解压到/usr/local/java目录:

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

4)配置环境变量
运行:

vi /etc/profile

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

export JAVA_HOME=JDK解压路径
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

保存,让新设置的环境变量生效:

source /etc/profile

检查java安装是否成功

java -version

 

安装tomcat

1)将tomcat解压到/opt下

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

2)配置环境变量

vi /etc/profile

加入TOMCAT_HOME环境变量:
export TOMCAT_HOME=Tomcat解压路径

3)启动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.62.131:8080/,如果看到tomcat的管理页面,则说明成功。

 

4)创建启动脚本
将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
vi /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键退出

注意:

5) 配置tomcat随服务器自动启动

#编辑/etc/init.d/tomcat
vi /etc/init.d/tomcat

#加入如下注释,注意是注释,#
#chkconfig: 23456 10 90
#description: tomcat service

如图:

chkconfig: 2345 10 90
其中2345 表示这4个运行级别会开机自启, 10是启动优先级,90是关闭优先级

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

chkconfig -add tomcat

完成后即可开机自启。

重启之后还能看到tomcat这个页面,说明成功;

mysql的安装

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

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

# 卸载mariadb
rpm -e --nodeps mariadb

注意:查看是否存在mariadb的时候,复制最后那一串,在进行卸载

2)创建mysql用户及用户组

#创建用户组
groupadd mysql

#创建用户
useradd mysql -g mysql

3) 将离线安装包传入liunx,并解压,注意版本号是否一致

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

4) 安装

rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm

//安装之前,请先检查是否安装libaio,如果未安装请先安装之后再装server源
rpm -qa|grep libaio

rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm

安装过程是这样:

5) 初始化,启动

# 初始化数据库
mysqld --initialize

#启动数据库服务
systemctl start mysqld

如果启动失败,可能是因为/var/lib/mysql没有权限导致的。可以通过查看/var/lib下的mysql目录的所属用户及用户组予以确认。如果mysql目录的所属用户及用户组不是mysql,处理方法如下:

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

# mysql目录授权
cd /var/lib
chmod -R 777 mysql

6) 启动成功后修改mysql的登录密码
查看安装时生成的随机密码:

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

运行结果如下:


使用随机密码登录

mysql -u root -p
#注入随机密码

重置密码:

set password = password('密码')

7) 授权外网登录权限

grant all privileges on *.*  to  root@'%' identified by '密码';

all privileges: 表示所有权限
. 表示所有数据库的所有表。

8)刷新权限

flush privileges;

9)在防火墙规则中加入3306端口

#配置防火墙规则
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

#关闭防火墙,不建议使用
systemctl stop firewalld.service
systemctl disable firewalld.service

我们链接成功了,mysql也就安装完成;

在线安装

1)下载并安装MySQL官方的 Yum Repository

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2) yum安装

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

3) 开始安装MySQL服务器

[root@localhost ~]# yum -y install mysql-community-server

4) 启动数据库

[root@localhost ~]# systemctl start  mysqld.service

5)查看数据库状态

[root@localhost ~]# systemctl status mysqld.service

6)登录数据库

首先获取安装mysql时的初始密码:

[root@localhost ~]# grep "password" /var/log/mysqld.log
2020-09-15T17:01:57.020172Z 1 [Note] A temporary password is generated for root@localhost: dsTSIKb2yo:9

dsTSIKb2yo:9即为初始密码,

使用初始密码登录,然后修改为自己的密码, mysql默认对密码是有要求的,不能简单的设置为1234等,自己的测试库不用太复杂,可以关闭密码检查

mysql -u root -p
......
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

7)赋值权限

mysql> grant all privileges on *.*  to  root@'%' identified by '123456';
mysql> flush privileges;
mysql> exit

8) 防火墙等相关设置,请大家参照8.1部分的描述。

9)自动启动

#服务状态
systemctl status mysqld.service

#开机启动
systemctl enable mysqld.service

这一步操作完成之后安装nginx

安装nginx

有两种方式,一种是先下载Nginx,在离线安装; 第二种是yum方式安装。 这里采用离线安装方式, 如果希望使用yum方式安装,可以参考Nginx官方文档。

离线安装步骤:

1) gcc安装

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

yum install gcc-c++

2)PCRE pcre-devel 安装

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

yum install -y pcre pcre-devel

3) zlib 安装

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

yum install -y zlib zlib-devel

4)OpenSSL 安装

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

yum install -y openssl openssl-devel

5) wget下载Nginx

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

6)解压

tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

7)配置安装

# 使用默认配置,命令在nginx目录中执行,执行完成会产生MakeFile等文件
./configure

#编译并安装
make
make install

8)启动与停止


#到命令所在目录
cd /usr/local/nginx/sbin/

#启动
./nginx

#停止,强制直接关停
./nginx -s stop

#等待nginx进程处理完任务再停止
./nginx -s quit

#重新加载配置文件
./nginx -s reload

9)配置Nginx自动启动

vim /etc/rc.d/rc.local

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

chmod 755 rc.local

部署:

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

后台服务的部署,非常简单,之间将war包上传至tomcat的webapps目录下即可。

)修改前端程序

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

2)将前台程序打包

npm run build

3) 将打包好的前端程序上传到Nginx服务器

4) 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

配置完成,启动mysql,tomcat1,tomcat2,nginx等服务进行测试

成功之后访问网址也就是虚拟机的IP地址;如果部署成功,则可以显示以下界面

配置不成功,检查配置文件的ip是否与主机虚拟机的IP是否一致;

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

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

相关文章

通过nginx+xray服务搭建及本地配置

一、xray服务配置 下载:https://github.com/XTLS/Xray-core 进入下载界面 这里我选择的是Xray-linux-64.zip 将文件解压到 /usr/local/xray 编辑配置文件/usr/local/xray/config.json uuid可以在v2ray客服端自动生成,也可以在UUID v4 生成器 - KKT…

Oracle数据库冷备份(实例)

冷备份 1、 select file#,name,bytes/1024/1024 mb from v$datafile; 2 、缩减 便于copy alter database datafile 2 resize 100m;show parameter spfilecreate undo tablespace u2 datafile /u01oracle/oradata/qq/u2.dbf size 2m autoextend on; //建新的 alter system…

《2023 IT行业项目管理调查报告》新鲜出炉!助力IT行业持续稳步发展

又一年!2024年1月,禅道联合多方合作伙伴,发起了2023年IT行业项目管理调查问卷。经过2个多月的问卷收集与报告分析,《2023 IT行业项目管理调查报告》发布啦! 我们希望通过这次调查,深入了解不同公司和个人在…

你知道什么是工业物联网吗?——青创智通

工业物联网解决方案-工业IOT-青创智通 工业物联网,简称IIoT(Industrial Internet of Things),是指将物联网技术应用于工业领域,实现工业设备、系统和人之间的互联互通,以提高工业生产效率、降低运营成本并…

Vue.js+SpringBoot开发智能教学资源库系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程档案表3.2.2 课程资源表3.2.3 课程作业表3.2.4 课程评价表 四、系统展示五、核心代…

关于Windows中的屏幕亮度的有关知识,看这篇文章就差不多了

屏幕亮度序言 你可能需要定期更改屏幕亮度。当外面很亮的时候,你会想把它调亮,这样你就能看到。当你在一个黑暗的房间里时,你会想要它变暗,这样它不会伤害你的眼睛。降低屏幕亮度也将有助于节省电源并延长笔记本电脑的电池寿命。 除了手动更改屏幕亮度外,你还可以让Wind…

机器学习 - 预测训练模型

接着上篇博客机器学习-训练模型做进一步说明。 There are three things to make predictions (also called performing inference) with a PyTorch model: Set the model in evaluation mode (model.eval())Make the predictions using the inference mode context manager (…

操作系统:malloc与堆区内存管理

malloc是函数而不是系统调用,他的底层是同调调用brk和mmap这两个系统调用实现功能的,具体选择brk还是mmap要看申请的空间大小以及malloc中的阈值(一般是128kb) 注意申请的空间只有使用才会触发缺页中断映射到物理内存 不理解的话先…

武汉星起航:卓越品质领航亚马逊跨境电商,助力中国卖家扬帆全球

作为业内实力雄厚的亚马逊跨境电商孵化服务商,武汉星起航电子商务有限公司以其卓越的品质和服务,为中国卖家提供了进军国际市场的强大支持,赢得了业界的广泛赞誉。 武汉星起航电子商务有限公司自2020年成立以来,便致力于连接中国…

Linux服务器导出CPU和内存使用情况

Linux服务器默认存储一个月的CPU和内存记录,所在目录:/var/log/sa/,如下图所示 在此用sar命令来执行 sar是一个比较全面的性能监控工具,包括cpu、内存、磁盘和网络等信息,并且该命令会每10分钟自动保存一次硬件资源使用…

分巧克力---第八届蓝桥杯省赛c++A,B组

题目描述如下 对于满足某个条件的单调最值问题,我们应该下意识考虑二分,我们分析本题的条件,要找一个边长最大值使得我们所有的巧克力切出该边长的正方形的数量大于等于人数,由于我们的边长一定在1到1e5之间,我们要在这…

基于QGraphicsView的图像显示控件,支持放大、缩小、鼠标拖动

原链接 前言 这是一个Qt平台的基于QGraphicsView类的图像显示控件,支持输入QPixmap、QImage、opencv的从cv::Mat类。 实现平台:Windows 10 x64 Qt 6.2.3 MSVC 2019 opencv 4.5 先来看演示视频 控件类实现 ImageViewer.h文件 #ifndef IMAGEVIEWER…

【SpringMVC】知识汇总

SpringMVC 短暂回来,有时间就会更新博客 文章目录 SpringMVC前言一、第一章 SpingMVC概述二、SpringMVC常用注解1. Controller注解2. RequestMapping注解3. ResponseBody注解4. RequestParam5. EnableWebMvc注解介绍6. RequestBody注解介绍7. RequestBody与RequestP…

(19)C#自动添加微信好友(可批量申请)--微信UI自动化(.Net)

往期知识回顾 (1)C#开启探索微信自动化之路-微信UI自动化 (2)C#创建微信窗体自动化实例-微信UI自动化 (3)C#针对系统热键管理-微信UI自动化 (4)C#采集微信通讯录和联系人-微信UI自动化 (5)C#实现针对微信窗体鼠标静默点击-微信UI自动化 (6)C#搜索微信通讯录联系人-微信UI…

JavaMySQL高级一(下)

目录 1.常用函数 1.字符串函数 2.时间日期函数 3.聚合函数 4.数学函数 2.分布查询 3.子查询基础 1.简单子查询 1.常用函数 在程序开发过程中,除了简单的数据查询,还有基于已数据进行数据的统计分析计算等需求。因此,在SQL中将一…

zookeeper底层细节

zk 临时节点和watch机制实现注册中心自动注册和发现,数据都在内存,nio 多线程模型; cp注重一致性,数据不一致时集群不可用 事务请求处理方式 1.all事务由唯一服务器处理 2.将客户端事务请求转成proposal分发follower 3.等待半…

windows访问远程服务器上容器的几种直接方式

远程服务器 host上有一个docker container,如何通过 client 直接登陆 container 呢? container 使用 host 的网络,即使用了 --networkhost先配置 container的 ssdh(/etc/ssh/sshd_config),相关参数设置 po…

使用导入车辆出险报告接口API接口实现车辆出险查询

引言: 现在,汽车事故频发,我们经常听到车辆出险的消息。对于购车用户而言,了解车辆的出险、理赔和事故记录是十分重要的。而如何快速查询到这些信息,成为了用户们在掌握车辆情况上的一个难点。幸运的是,挖数…

高效备考2024年AMC10:吃透2000-2023年1250道真题(限时免费送)

我们今天继续来随机看5道AMC10真题,以及详细解析,这些题目来自1250道完整的官方历年AMC10真题库。通过系统研究和吃透AMC10的历年真题,参加AMC10的竞赛就能拿到好名次。即使不参加AMC10竞赛,掌握了这些知识和解题思路后初中和高中…

【NBUOJ刷题笔记】递推_递归+分治策略1

0. 前言 PS:本人并不是集训队的成员,因此代码写的烂轻点喷。。。本专题一方面是巩固自己的算法知识,另一方面是给NBU学弟学妹们参考解题思路(切勿直接搬运抄袭提交作业!!!)最后&…