Liunx前后端项目部署(小白也可安装)

文章目录

  • 一、CentOS服务器的安装
  • 二、jdk安装
  • 三、Tomcat安装
  • 四、MySQL安装、
  • 五、nginX安装
  • 六、多个项目负载均衡,部署后端项目
  • 七、前端项目部署

一、CentOS服务器的安装

选择liunx,下面选择CentOS 7
```![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/331d64c559cd4ed4a1614dff8053d387.png)```cpp
白色为选择,选择第一个

在这里插入图片描述

其他不用动只要设置网络

在这里插入图片描述

使用ip a查看liunx的ip地址

在这里插入图片描述

二、jdk安装

第一步:将liunx项目部署文件全部放到/opt下面

在这里插入图片描述

第二步:用cd 转到/usr/local下面,在用mkdir新建一个文件夹java,用来存放解压后文件的存放位置

在这里插入图片描述

第三步:在用cd,转到/opt文件夹下面解压
命令:tar -axvf jdk-8u151-linux-x64.tar.gz -C /usr/local/java

在这里插入图片描述

第四步:我们用命令进入vim /etc/profile
如果我们没有vim的话我们用命令
yum -y install vim*进行一个下载

在这里插入图片描述

第五步:进入之后用i模式进入编辑,划到最下面加上命令:#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

在这里插入图片描述

第六步:最后一步,我们用命令
source /etc/profile将我们的环境变量生效
然后再用java -version查看jdk是否安装成功

在这里插入图片描述

三、Tomcat安装

第一步:我们用cd回到/opt下面用命令
tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local/java
将我们的tomcat解压到我们创建的java下面

在这里插入图片描述

第二步:我们到java目录下面,用cd进入到apache-tomcat-8.5.20/bin/
下面用
./startup.sh启动tomcat

在这里插入图片描述

第三步:进行一个8080防火墙的端口开放
命令:
#开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports

在这里插入图片描述

第五步:我们输入ip这样我们就成功了
```![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/40fcd8a9aa6647c9817c374b73775b68.png)```cpp
第六步:我们如果要是tomcat自启动的的话我们需要把
apache-tomcat-8.5.20/bin/catalina.sh 复制到/etc/init.d文件夹里面,在用mv将startup.sh改成tomcat
命令:
cp /usr/local/java/apache-tomcat-8.5.20/bin/catalina.sh /etc/init.d

在这里插入图片描述

第七步:我们用vim tomcat进入进入到里面添加
命令:
JAVA_HOME=/usr/local/java/jdk1.8.0_151
CATALINA_HOME=/usr/local/java/apache-tomcat-8.5.20
然后再这个# Better OS/400 detection: see Bugzilla 31132的命令上面放下面的这两个命令
#chkconfig: 23456 10 90
#description: tomcat service

在这里插入图片描述

第八步:用chkconfig --add tomcat这个命令把
tomcat加进服务
在用reboot重新启动

在这里插入图片描述

第九步:这样我们就可以开机自启动了

在这里插入图片描述

四、MySQL安装、

第一步:查看liunx是否存在MySQL数据库查看命令:rpm -qa|grep mariadb如果存在用该命令删除: rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64,删除之后再次查看

在这里插入图片描述

第二步:我们回到java目录下面,应mkdir创建一个mysql-5.7的一个文件夹用来存放mysql解压后的文件,在回到/opt下面,用命令:
tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C /usr/local/java/mysql-5.7/
解压到我们刚刚参加的那个文件夹下面

在这里插入图片描述

第三步:在用cd进入到mysql-5.7里面
按照顺序解压
rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm

在这里插入图片描述

第五步:如果我们解压到第4个出现了上面的错误我们首先使用命令:
yum install net-tools -y进行下载然后再执行命令yum install perl -y进行下载,都下载完成之后就再次解压第4

在这里插入图片描述

第六步:我们先使用 systemctl start mysqld进行mysql的一个启动,然后再使用
systemctl enable mysqld.service这个命令进行一个mysql的自启动

在这里插入图片描述

第七步:我们使用命令:
grep "password" /var/log/mysqld.log
让他显示出来数据库的默认密码然后再用mysql -u root -p使用默认密码登录进去

在这里插入图片描述

第八步:在我们更改密码的时候我们要去修改mysql的密码规则命令:
set global validate_password_policy=0;
set global validate_password_length=4;
设置完成之后我们再修改密码
set password = password("123456");

在这里插入图片描述

第九步:我们要允许外部访问的要给它进行一个授权命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
然后刷新
FLUSH PRIVILEGES;
然后退出
exit

在这里插入图片描述

10步:我们退出mysql之后要被外部访问我们就需要对3306进行防火墙的开放命令:
#开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports

在这里插入图片描述

11步:我们用连接工具测试输入ip加上自己的刚刚修改的密码

在这里插入图片描述

五、nginX安装

第一步:我们回到/opt下面用命令将nginx解压tar -xvf nginx-1.13.7.tar.gz  -C /usr/local/java/

在这里插入图片描述

第二步:解压完成之后我们再回到/opt下面用命令: yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
一键下载4个依赖

在这里插入图片描述

第三步:我们进入到nginx里面去安装我们的ssl证书命令:./configure --with-http_stub_status_module --with-http_ssl_module
安装完成之后我们再安装make命令:make && make install

在这里插入图片描述

第四步:当我们下载好了之后会在local文件夹下面生成一个nginx文件,我们cd进去,在进入到sbin里面去

在这里插入图片描述

第五步:我们用./nginx启动nginx,在开放80端口命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports

在这里插入图片描述

第六步:输入我们的ip地址出现这样子的我们的nginx就安装好了

在这里插入图片描述

第七步:安装完成之后我们cd进入到cd /etc/rc.d/下面找到rc.local用vim编辑它

在这里插入图片描述

第八步:进去之后我们放入
/usr/local/nginx/sbin/nginx
位置是sbin下面的nginx文件,上面的是路径

在这里插入图片描述

10步:将我们的rc.local变成可执行文件

在这里插入图片描述

11步:这个我们就可以开启服务器自启动了

在这里插入图片描述

六、多个项目负载均衡,部署后端项目

第一步:我们到java目录下面用命令cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20-8081/复制两个tomcat

在这里插入图片描述

第二步:我们进入这个8081的端口cd进入到/conf里面找到server.xml这个文件用vim编辑

在这里插入图片描述

第三步:把所有的端口都往前加一位

在这里插入图片描述

第四步:我们如果要是tomcat自启动的的话我们需要把
apache-tomcat-8.5.20-8081/bin/catalina.sh 复制到/etc/init.d文件夹里面,在用mv将startup.sh改成tomcat-8081
命令:
cp /usr/local/java/apache-tomcat-8.5.20-8081/bin/catalina.sh /etc/init.d
记得开放8081端口号

在这里插入图片描述

第五步:我们用vim tomcat进入进入到里面添加
命令:
JAVA_HOME=/usr/local/java/jdk1.8.0_151
CATALINA_HOME=/usr/local/java/apache-tomcat-8.5.20-8081
然后再这个# Better OS/400 detection: see Bugzilla 31132命令的上面放下面的这两个命令
#chkconfig: 23456 10 90
#description: tomcat service

在这里插入图片描述

第六步:用chkconfig --add tomcat这个命令把
tomcat加进服务
然后再使配置文件进行一个生效
在用reboot重新启动

在这里插入图片描述

第七步:这样我们就可以开机自启动了

在这里插入图片描述

第八步:我们进入到在/usr/local/nginx/conf这个目录下,在右边用记事本打开这个文件添加我们的负载均衡命令:```![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/91b6dab0aeb342acbc94e87925c5c10b.png)```cppupstream  tomcat_list {  #服务器集群名字server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。server    127.0.0.1:8081  weight=1; #服务器2   weight是权重的意思,权重越大,分配的概率越大} 在文件夹里面放上什么的命令

在这里插入图片描述

location / {root   html;proxy_pass   http://tomcat_list#index  index.html index.htm;}这个也同样放进去.注意是这个proxy_pass   http://tomcat_list

在这里插入图片描述

第九步:进入/usr/local/nginx/sbin目录下
重启nginx服务
命令:
./nginx -s reload

在这里插入图片描述

10步:创建一个数据库将脚本倒进去

在这里插入图片描述

11步:将我们的war包放进webapp里面
路径:
/usr/local/java/apache-tomcat-8.5.20-8081/webapps
注意两个tomcat都要放

在这里插入图片描述

12步:将两个tomcat都关闭一下再重新开启
命令:./shutdown.sh./startup.sh

在这里插入图片描述

13步:我们能拿到后台接口提供的数据我们的后端就算部署成功了
访问路径:http://192.168.88.132:8080/T216_SSH/vue/treeNodeAction.action

在这里插入图片描述

七、前端项目部署

第一步:我们到/usr/local下面创建一个mypro的文件夹用来存放前端的项目压缩包。

在这里插入图片描述

第二步:由于前端是zip文件我们要去下载的一个解压命令:
yum install -y unzip

在这里插入图片描述

第三步:然后解压文件夹命令:
unzip blog.zip

在这里插入图片描述

第四步:将解压到路径配置到在里面去把图中的地方替换掉 命令:server {listen       80;            #监听80端口,可以改成其他端口#server_name  localhost;    #当前服务的域名server_name  www.zking.com; #当前服务的域名(虚拟域名也可以)root         /usr/local/mypro/dist;      #将要访问的网站的根目录,nginx节点会自动继承父节点的配置;这里放到/usr/local/*,放到其他路径下会有权限相关问题;必要的时候配置Nginx.conf的user为root

在这里插入图片描述

第五步:跟前面的一个把图中的这个替换成下面的命令:location / {#该句代码是为解决history路由不能跳转的问题,在vue-router官网有介绍 try_files $uri $uri/  /index.html;}location  ^~/api/ {#^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除apiproxy_pass http://tomcat_list/;}

在这里插入图片描述

第六步:在C:\Windows\System32\drivers\etc\hosts中增加映射关系

在这里插入图片描述

一定要像我这样子配置要不然会报错

在这里插入图片描述

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

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

相关文章

一文讲透:可视化大屏中3D元素的融入和使用方法

在可视化大屏中,3D元素融入的越来越多,贝格前端工场经常接到这类项目,很多老铁认为加个3D效果很easy,其实不然,工序非常复杂,总结如下。 一、什么是3D技术 三维展示(3D展示)是指使用…

[BUUCTF]-Reverse:reverse3解析

查看ida 从下图的/3和*4可以推断得出来是base64加密。 ida里大致意思就是我们输入的字符串经过base64加密,循环递减,最后等于str2,那我们输入的字符串就是flag。 完整exp: import base64 liste3nifIH9b_CndH print(len(list))fl…

循环简介和基本运算符

根据C Primer Plus第五章进行学习 文章目录 循环简介基本运算符 1.赋值运算符&#xff1a;2.加法运算符&#xff1a;3.减法运算符&#xff1a;-2.乘法运算符&#xff1a;*总结 1.循环简介 如下代码可以体现不使用循环的局限性&#xff1a; #include<stdio.h> #define AD…

【leetcode热题】杨辉三角 II

难度&#xff1a; 简单通过率&#xff1a; 41.1%题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定一个非负索引 k&#xff0c;其中 k ≤ 33&#xff0c;返回杨辉三角的第 k 行。 在杨辉三角中&#xff0c;每个数是它左上方和右上方的数的和。 示…

Doris实战——金融壹账通指标中台的应用实践

目录 前言 一、业务痛点 二、早期架构挑战 三、架构升级 四、一体化指标数据平台 4.1 构建指标体系 4.2 构建指标平台功能 五、Doris指标应用实践 六、未来规划 原文大佬的这篇指标中台的应用实践有借鉴意义&#xff0c;这里摘抄下来用作学习和知识沉淀。 前言 在搭建…

MySQL之索引详解

华子目录 索引概述优缺点 索引的原理索引的设计原则索引结构B-tree&#xff08;多路平衡查找树&#xff09;BtreeHash 为什么InnoDB存储引擎选择Btree&#xff1f;索引分类聚集索引选取规则 单列索引和多列索引前缀索引创建索引1.创建表时创建索引2.在已经存在的表上创建索引3.…

逆变器专题(16)-构网型逆变器与跟网型逆变器

相应仿真原件请移步资源下载 现如今&#xff0c;常规的逆变器控制方法主要分为跟网型以及构网型逆变器 跟网型逆变器即常规意义上的并网逆变器&#xff0c;即输出电流直接接入大电网&#xff0c;通常为电流源型逆变器&#xff0c;其输出电流的相位与频率时随着电网电压而随时进…

基于光流法以及背景减除法的降雪检测项目知识点总结

项目总结目录 一、算法部分1.光流法部分知识点2.python代码与大华摄像头之间的实时调用3.两个方法的代码 一、算法部分 1.光流法部分知识点 像素坐标系与直角坐标系之间的转换&#xff0c;之后计算角度。 其中光流法通过判断运动目标的角度来识别是否为降雪&#xff0c;通过…

我在使用 Copilot 时遇到了许可证验证错误。

如果使用的是 Copilot&#xff0c;并收到以下错误消息&#xff0c;请按以下步骤进行操作&#xff1a; We encountered a problem validating your Copilot license. For more information, see https://aka.ms/copilotlicensecheck 请确保使用的是正确的帐户 请确保已使用具…

神经网络系列---卷积

文章目录 卷积神经网络卷积转置卷积 卷积核和反卷积的三种实现方式卷积的次数计算 卷积神经网络 在神经网络的卷积层中&#xff0c;向下取整&#xff08;Floor&#xff09;是一种常用的策略&#xff0c;特别是在处理输出尺寸不是整数的情况时。当你计算出卷积层输出的尺寸&…

UE5 C++ 发射子弹发射(Projectile)

一.相关蓝图的练习&#xff0c;在我之前的文章中射击子弹案例-CSDN博客 本篇使用C实现 1.创建C类 MyBullet,在MyBullet.h中包含相关头文件 #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "Components/StaticMeshComponent.…

idea集成git详解教程(实用篇)

0.Git常用命令 Git常用命令-CSDN博客 1.下载git Git - Downloads 一路傻瓜式安装即可&#xff08;NEXT&#xff09; 2.软件测试 在Windows桌面空白处&#xff0c;点击鼠标右键&#xff0c;弹出右键菜单 Git软件安装后&#xff0c;会在右键菜单中增加两个菜单 Git GUI He…

matplotlib绘图中文乱码问题

如图所示&#xff0c;在使用python包matplotlib绘图时中文文字显示乱码&#xff0c;在绘图前加入以下两行代码即可 # 导入包 import matplotlib.pyplot as plt # 解决中文乱码问题 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False重新运行代…

【Django】执行查询—跨关系查询中的跨多值关联问题

跨多值查询 跨越 ManyToManyField 或反查 ForeignKey &#xff08;例如从 Blog 到 Entry &#xff09;时&#xff0c;对多个属性进行过滤会产生这样的问题&#xff1a;是否要求每个属性都在同一个相关对象中重合。 filter() 先看filter()&#xff0c;通过一个例子看&#xf…

缓存穿透解决方案之布隆过滤器

布隆过滤器可以快速判断数据是否存在&#xff0c;避免从数据库中查询数据是否存在&#xff0c;减轻数据库的压力 布隆过滤器是由一个初值为0的bit数组和N个哈希函数&#xff0c;可以用来快速的判断某个数据是否存在 当我们想要标记某个数据是否存在时&#xff0c;布隆过滤器会…

LabVIEW眼结膜微血管采集管理系统

LabVIEW眼结膜微血管采集管理系统 开发一套基于LabVIEW的全自动眼结膜微血管采集管理系统&#xff0c;以提高眼结膜微血管临床研究的效率。系统集成了自动化图像采集、图像质量优化和规范化数据管理等功能&#xff0c;有效缩短了图像采集时间&#xff0c;提高了图像质量&#…

idea 多模块A模块调用了B模块的Jar包,而非本地源码

1&#xff0c;问题描述 对于多模块的互相调用&#xff0c;比如模块A&#xff0c;模块B&#xff0c;模块C&#xff0c; 这在本地都是可以编辑进行开发的源码&#xff0c; 按理说是模块A可以直接点进模块B的本地源码&#xff0c; 但是不知道什么原因&#xff0c;导致模块A点进…

C++小记 - 二叉树

文章目录 二叉树一、二叉树理论基础篇二叉树的种类满二叉树完全二叉树二叉搜索树平衡二叉搜索树 二叉树的存储方式链式存储&#xff1a;顺序存储&#xff1a;遍历规则&#xff1a;构造实现&#xff1a; 二叉树的遍历方式二叉树的定义 二、二叉树的递归遍历递归算法的三个要素:递…

vue+element UI中给指定日期添加标记

1.日期控件中添加:picker-options属性&#xff0c;即:picker-options“myPickerOptions” <el-date-picker:class"item.scds !null ?xtsjBlue:xtsjRed"v-model"item.date"value-format"yyyy-MM-dd"type"date":picker-options"…

如何进行弱网测试?

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 如今这个高度互联的时代里&#xff0c;网络环境对于应用程序的影响越来越重要。 而弱网测试就是…