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

news2024/11/20 18:37:05

文章目录

  • 一、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)

```cpp

 upstream  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/*后面的路径直接拼接到后面,即移除api
		    proxy_pass http://tomcat_list/;
	  }

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

相关文章

springboot之jdbc、druid、mybatis

springboot整合jdbc spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.52.3:3306/mybatis?useUnicodetrue&characterEncodingutf-8&serverTimezoneUTCusername: rootpassword: root<?xml version"1.0" encodi…

何恺明新作 l-DAE:解构扩散模型

何恺明新作 l-DAE&#xff1a;解构扩散模型 提出背景扩散模型步骤如何在不影响数据表征能力的同时简化模型&#xff1f;如何进一步推动模型向经典DAE靠拢&#xff1f;如何去除对生成任务设计的DDM中不适用于自监督学习的部分&#xff1f;如何改进DDM以专注于清晰图像表示的学习…

自动驾驶消息传输机制-LCM

需要用到LCM消息通讯&#xff0c;遂研究下。 这里写目录标题 1 LCM简介2. LCM源码分析3 LCM C教程与实例3.1 安装配置及介绍3.2 创建类型定义3.3 初始化LCM3.4 发布publish一个消息3.5 订阅和接收一个消息3.6 LCM进程间通讯3.7 注意事项&#xff1f;3.7.1 当数据结构定义的是数…

希亦、大宇、德国ODI三款哪款清洁力强?无广超声波清洗机实测!

最近超声波清洗机可见到非常火爆&#xff0c;一款产品在火爆的情况下都会有不信任的声音出现&#xff0c;超声波清洗机真的可以把眼镜洗干净吗&#xff1f;就一个超声波能洗东西&#xff1f;真的不是在交智商税吗&#xff1f;等等这种问题已经看到不止一次了&#xff0c;今天小…

uniapp:使用DCloud的uni-push推送消息通知(在线模式)java实现

uniapp:使用DCloud的uni-push推送消息通知&#xff08;在线模式&#xff09;java实现 1.背景 今天开发app的时候遇到一个需求&#xff1a; 业务在出发特定条件的时候向对应的客户端推送消息通知。 为什么选择在线模式&#xff0c;因为我们使用的是德邦类似的手持终端&#xf…

Linux环境安装jira

jira 是项目与事务跟踪工具&#xff0c;被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。 jira 软件安装包直接搜官网&#xff0c;然后可以选择免费的来下载&#xff1a; 安装 jira 之前&#xff0c;需要 Java 和 mysql 环境的…

unity初学问题:如何修改图片的坐标

如图&#xff0c;我们想要修改图片的轴心点坐标&#xff08;Pivot&#xff09; 选择图片组 打开编辑器在里面修改即可&#xff08;最下面的Custom Pivot&#xff09;

前端基础面试题(一)

摘要&#xff1a;最近&#xff0c;看了下慕课2周刷完n道面试题&#xff0c;记录下... 1.请说明Ajax、Fetch、Axios三者的区别 三者都用于网络请求&#xff0c;但维度不同&#xff1a; Ajax&#xff08;Asynchronous Javascript ang XML&#xff09;&#xff0c;是一种在不重新…

如何使用Logstash搜集日志传输到es集群并使用kibana检测

引言&#xff1a;上一期我们进行了对Elasticsearch和kibana的部署&#xff0c;今天我们来解决如何使用Logstash搜集日志传输到es集群并使用kibana检测 目录 Logstash部署 1.安装配置Logstash &#xff08;1&#xff09;安装 &#xff08;2&#xff09;测试文件 &#xff…

【DDD】学习笔记-领域驱动设计体系

从统一语言到限界上下文&#xff0c;从限界上下文到上下文映射&#xff0c;从领域分析建模到领域设计建模&#xff0c;再从领域设计建模到领域实现建模&#xff0c;我将软件架构设计、面向对象设计、场景驱动设计和测试驱动开发有机地融合起来&#xff0c;贯穿于领域驱动设计的…

mac打不开xxx软件, 因为apple 无法检查其是否包含恶意

1. 安全性与隐私下面的允许来源列表&#xff0c;有些版本中的‘任何来源’选项被隐藏了&#xff0c;有些从浏览器下载的软件需要勾选这个选项才能安装 打开‘任何来源’选项 sudo spctl --master-disable 关闭‘任何来源’选项 sudo spctl --master-enable

UE4c++ ConvertActorsToStaticMesh

UE4c ConvertActorsToStaticMesh ConvertActorsToStaticMesh UE4c ConvertActorsToStaticMesh创建Edior模块&#xff08;最好是放Editor模块毕竟是编辑器代码&#xff09;创建UBlueprintFunctionLibraryUTestFunctionLibrary.hUTestFunctionLibrary.cpp:.Build.cs 目标:为了大量…

探索IP地址定位工具:解读IP数据云的功能与优势

在当今数字化时代&#xff0c;IP地址定位工具成为了许多领域中不可或缺的技术支持&#xff0c;为网络安全、地理定位服务和个性化推荐等提供了重要数据支持。其中&#xff0c;IP数据云作为一种领先的IP地址定位工具&#xff0c;具有一系列功能和优势&#xff0c;本文将对其进行…

k8s service的概念以及创建方法

Service 的功能&#xff1a; Service主要用于提供网络服务&#xff0c;通过Service的定义&#xff0c;能够为客户端应用提供稳定的访问地址&#xff08;域名或IP地址&#xff09;和负载均衡功能&#xff0c;以及屏蔽后端Endpoint的变化&#xff0c;是K8s实现微服务的核心资源。…

如何选择科技公司或者技术团队来开发软件项目呢

最近有客户问我们为什么同样软件项目不同公司报价和工期差异很大&#xff0c;我们给他解释好久才讲清楚&#xff0c;今天整理一下打算写一篇文章来总结一下&#xff0c;有需要开发朋友可以参考&#xff0c;我们下次遇到客户也可以直接转发文章给客户自己看。 我们根据我们自己报…

计算机网络:IP

引言&#xff1a; IP协议是互联网协议族中的核心协议之一&#xff0c;负责为数据包在网络中传输提供路由寻址。它定义了数据包如何在互联网上从源地址传输到目的地址的规则和流程。IP协议使得各种不同类型的网络设备能够相互通信&#xff0c;实现了全球范围内的信息交换。 目录…

人像背景分割SDK,智能图像处理

美摄科技人像背景分割SDK解决方案&#xff1a;引领企业步入智能图像处理新时代 随着科技的不断进步&#xff0c;图像处理技术已成为许多行业不可或缺的一部分。为了满足企业对于高质量、高效率人像背景分割的需求&#xff0c;美摄科技推出了一款领先的人像背景分割SDK&#xf…

Cluster-Level Contrastive Learning for Emotion Recognition in Conversations

对话情绪识别的聚类级对比学习 摘要一、介绍二、相关工作2.1 对话情感识别2.2 对比学习 三、方法3.1 任务定义和模型概述3.2 上下文感知的话语编码器3.3 使用适配器进行知识注入3.4 有监督的集群级对比学习3.4.1情感原型3.4.2集群级别对比学习 3.5 模型训练 四 实验设置4.1 数据…

idea 更新maven java版本变化

今天遇到个问题就是&#xff0c;点击maven的reload&#xff0c;会导致setting 里的java compiler 版本变化 这里的话&#xff0c;应该是settings.xml文件里面的这个限定死了&#xff0c;修改一下或者去掉就可以了 <profile><id>JDK-1.8</id><activatio…

Qt下使用modbus-c库实现PLC线圈/保持寄存器的读写

系列文章目录 提示&#xff1a;这里是该系列文章的所有文章的目录 第一章&#xff1a;Qt下使用ModbusTcp通信协议进行PLC线圈/保持寄存器的读写&#xff08;32位有符号数&#xff09; 第二章&#xff1a;Qt下使用modbus-c库实现PLC线圈/保持寄存器的读写 文章目录 系列文章目录…