Linux前后端项目部署

目录

1.jdk&tomcat安装

配置并且测试jdk安装

修改tomcat 配置文件

登入tomcat 发布

安装mysql

导入sql数据

发布项目war包

redis安装

nginx安装

配置nginx域名映射

部署前端项目


  1. centos 7的服务安装

  2. 安装jdk

  3. 安装tomcat

  4. 安装Mysql

  5. 安装redis

  6. 安装nginx

  7. 前后端项目部署-后台数据接口

  8. 前后端项目部署-前端效果展现

1.jdk&tomcat安装

  • 新建一个存储文件夹mkdie

mkdie rj
  • 上传jdk、tomcat安装包

  • 解压安装包

#解压tomcat
tar -zxvf apache-tomcat-8.5.20.tar.gz
#解压jdk
tar -zxvf jdk-8u151-linux-x64.tar.gz
配置并且测试jdk安装
配置环境变量
vim /etc/profile
​
#java environment
export JAVA_HOME=/opt/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
修改tomcat 配置文件

进入tomcat文件

cd apache-tomcat

改写远程连接and允许用户登入

  • 启动tomcat

cd bin/
./startup.sh
  • 防火墙设置

#开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent 持久化开放
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports
#防火墙状态
systemctl status firewalld
#启动防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
登入tomcat 发布
点击manager取消登入进入tomcat conf/cd apache-tomcat
cd conf/
vim tomcat-users.xml
#记得重启

安装mysql

#1.卸载mariadb,否则安装MySql会出现冲突(先查看后删除再查看)
[root@192 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@192 ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
[root@192 ~]# rpm -qa|grep mariadb
​
#2.在线下载MySQL安装包(也可提前下载好上传)
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar
​
#3.将MySQL安装包解压到指定目录
mkdir mysql-5.7
tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C mysql-5.7
​
#4.开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度
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
​
#5.启动MySQL服务
systemctl start mysqld
#6.登录mysql修改密码
[root@192 mysql-5.7]# grep "password" /var/log/mysqld.log
2022-10-12T13:19:16.313408Z 1 [Note] A temporary password is generated for root@localhost: o8N#/CfWD+sh
[root@192 mysql-5.7]# mysql -uroot -p
Enter password:
​
Welcome to the MySQL monitor.  Commands end with ; or \g.
​
#设置密码校验策略(0 or LOW),要不密码太LOW不让你过
set global validate_password_policy=0;
#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
set global validate_password_length=4;
#更新密码
set password = password("123456");
#输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES;
#可以退出,试试用新密码重新登录
exit
​
#Centos7下无法远程连接mysql数据库
#数据库没有授权,允许以root身份远程登录mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#输入后使修改生效还需要下面的语句刷新权限
FLUSH PRIVILEGES;
​
#Navicat链接MySQL测试
#查看MySQL版本
rpm -qa | grep mysql
导入sql数据

把数据包 复制到新建文件夹里面

#新建数据库
create database 数据库名;
#进入数据库
use 数据库名;
#导入数据
source 目录;
发布项目war包
修改tomcat数据库的连接#找到tomcat 主文件 
cd WEB-INF/class

进入网页tomcat manger

#选择文件发布
#访问
主机号:8080/bs/book/list

出现这个也就连接成功了

redis安装

由于redis 是c语言开发的,因此需要安装gcc编译器来编译代码

yum install -y gcc

下载redis安装包并解压

wget http://download.redis.io/releases/redis-6.2.6.tar.gz
​
tar -zxvf redis-6.2.6.tar.gz

进入解压目录编译

cd redis-6.0.6 
make (解释:编译redis源码)

指定安装目录并进行

make install PREEIX=/soft/redis

启动redis 服务

#进入redis/bin
#启动服务
./redis-server

修改redis配置文件

找到bind 注释掉这一条

取消注释requirepass yourpassword注释或直接添加密码,修改yourpassword为自已要设置的密码(假如我的密码是123456):

requirepass 123456

在redis编译后,我们进入 文件目录中,看得到有src目录,进入,然后有标注绿色的命令 redis-server 就是我们运行redis的命令,redis-cli 命令行客户端。

./redis-server

修改apache-tomcat redis连接

然后重启tomcat

#进入bin
#先关闭服务
./shutdown.sh
#启动
./startup.sh

网页访问

主机号:8080/bs/book/put
#如果显示200就表示连接成功了

nginx安装

配置nginx域名映射
192.168.232.0 www.zkingedu.com

有软件可以直接使用软件

SwitchHosts
#端口映射工具

没有软件请找到host文件

#文件位置
C:\Windows\System32\drivers\etc\hosts

网页就可以域名访问了

www.zkingedu.com

部署前端项目

找到nginx安装目录

cd /etc/nginx
#找到nginx.conf
#把我们自己的直接覆盖掉
#然后修改nginx.conf
#然后找到/usr/local/dist目录把我们自己的dist复制进去 
#查看是否配置成功
#显示ok则成功
nginx -t

重启nginx

systemctl restart nginx
#刷新页面

然后关闭安全管理

Selinux
#关闭
setenforce 0

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

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

相关文章

【Unity】Timer计时器属性及使用

可以代替协程完成延时操作 可以不用Update进行计时 GitHub开源计时插件 网址:https://github.com/akbiggs/UnityTimer/tree/master 导入:URL:https://github.com/akbiggs/UnityTimer.git 基本功能: 创建计时器: Time…

深入理解 Hadoop (四)HDFS源码剖析

HDFS 集群启动脚本 start-dfs.sh 分析 启动 HDFS 集群总共会涉及到的角色会有 namenode, datanode, zkfc, journalnode, secondaryName 共五种角色。 JournalNode 核心工作和启动流程源码剖析 // 启动 JournalNode 的核心业务方法 public void start() throws IOException …

【打卡】牛客网:BM80 买卖股票的最好时机(一)

模板的: 我的想法是,这个题就是找最大差。两个递归是可以解决的,时间复杂度是o(n^2)。但是题目要求时间复杂度是o(n)。 模板用了一个两行的dp数组,在一次for循环中,更新两行,是亮点。 第一行记录利润。全…

OpenHarmony之hdc

OpenHarmony之hdc 简介 hdc(OpenHarmony Device Connector)是 OpenHarmony 为开发人员提供的用于调试的命令行工具,通过该工具可以在Windows/Linux/MacOS等系统上与开发机或者模拟器进行交互。 类似于Android的adb,和adb类似&a…

探索Java中的Map:领略键值对的无限魅力

目录 1、前言 2、介绍Map 2.1 什么是Map 2.2 Map的特点 3、常用的Map实现类 3.1 HashMap 3.2 TreeMap 3.3 LinkedHashMap 3.4 Hashtable 3.5 ConcurrentHashMap 4、操作Map的常用方法 5、Map的应用场景 5.1 缓存 5.2 数据存储 5.3 计数器 6、常见问题解答 6.1…

Spring中线程池ThreadPoolTaskExecutor的使用

一、为什么要使用线程池 在项目中使用多线程时,通常建议使用线程池而不是直接使用 new Thread 的方式来创建线程。下面是一些原因: 资源管理和性能优化: 使用线程池可以更好地管理系统资源,控制并发线程数,避免创建过…

SEO 分步教程:初学者掌握的 8 个简单基础知识

如果您刚刚开始使用搜索引擎优化 (SEO),那么分步 SEO 教程是有序的。在这一点上,你可能已经听说过一些基本术语,如关键词研究和页面优化。但是,您如何应用迄今为止收集的所有知识呢? 如果您刚刚…

k8s的存储卷

存储卷----数据卷 容器内的目录和宿主机的目录进行挂载 容器在系统上的生命周期是短暂的,delete,k8s用控制创建的pod,delete相当于重启,容器的状态也会回复到初始状态 一旦回到初始状态,所有的后天编辑的文件都会消…

获取直播间的最新评论 - python 取两个list的差集

python 取两个list的差集 作用:比如我要获取评论区列表,先获取了一遍,这个时候有人评论了几条,我再获取一遍后,找出多的那几条 使用set数据类型来取两个列表的差集。差集表示仅包含在第一个列表中而不在第二个列表中…

微信公众号——微信公众号实现发送模板消息

准备工作 在调用微信接口获取AccessToken时,需要使用到微信公众号的appid及appsecret,获取方式如下: 1.已有公众号 已有公众号: 有属于自己的公众号账户,登录微信公众平台(https://mp.weixin.qq.com),在…

SWM341系列之SWM34SRET6介绍

SWM341系列的介绍 本文介绍了华芯微特SWM341系列主要性能,和其系列之一的SWM34SRET6-50驱动4.3寸800*480 TFTLCD显示的例程应用。 SWM341系列性能 SWM341是一款基于ARM Cortex-M33的32位微控制器,片上包含精度为 1%以内的 20MHz/40MHz 时钟,最…

起诉业务员飞单需要什么证据?

在商业活动中,业务员飞单是一种常见的违规行为,给企业带来了巨大的经济损失。如果企业怀疑业务员存在飞单行为,需要收集足够的证据来证明其行为,并采取法律手段维护企业的合法权益。那么,起诉业务员飞单需要什么证据呢…

【数据库原理】(19)在实际数据库设计中关系规范化的应用

一.关系规范化的基本原则 1. 规范化的目的和基本思想 目的:通过分解低一级范式的关系模式,转换为高一级范式的关系模式集合,以减少数据冗余和更新异常。 基本思想: “一事一地”:确保每个关系模式只描述一个概念、实…

odoo17 | 视图操作按钮

前言 到目前为止,我们主要通过声明字段和视图来构建我们的模块。在上一章中,我们刚刚通过计算字段和onchanges引入了业务逻辑。在任何真实的业务场景中,我们都会希望将一些业务逻辑链接到操作按钮。在我们的房地产示例中,我们希望…

代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素

代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素 文章目录 代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素1 数组理论基础(基于面试)1.1 面试问题针对 Python1.2 面试问题针对 C 2 LeetCode 704.二分查找2.1 二分查找的实现2.2 P…

Buzz 离线音频转字幕工具(完全免费,无需登录)

关于 Buzz Buzz 是一款可以自动识别语音为文本字幕的软件工具,基于 OpenAI 开源的 Whisper 自动语音识别模型,可以批量将音频或者是视频中的内容自动转化为带有时间的字幕,速度非常快,是一款能极大提高效率的生产力小工具。 Bu…

JavaScript-对象-笔记

1.字面量创建对象、对象的使用 对象就是一组 属性和方法的集合 属性: 特征 相当于变量 静态 是什么 方法: 行为 相当于函数 动态 干什么 创建对象 创建对象的第一种:使用字面量 {} 对象中的元素是键值对 使用逗号隔开 键:值 的形式 var 对象名…

Vue项目在ie浏览器中显示白屏优化提示

在工作中用到Vue开发项目,用户在IE浏览器打开页面,结果显示空白屏。作为开发者当然知道是浏览器版本过低导致语法不支持,但是用户不知情的情况下显示空白屏就很不友好。这时候有必要在页面上做点提示语告诉用户切换浏览器,下面是页…

千里之行始于足下,2024年低代码数字化选型“避坑指南“

千里之行,始于足下。企业数字化转型建设之路,亦始于选型。 在转型建设的过程中,数字化系统的选型往往被视为最关键的环节。一旦选型不当或出现失误,可能导致项目进展受阻,甚至直接导致项目失败。因此,一个良…

社交距离 - 华为OD统一考试

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C++ 题目描述 疫情期间,需要大家保证一定的社交距离,公司组织开交流会议,座位有一排共N个座位,编号分别为[0…N-1],要求员工一个接着一个进入会议室,并且可以在任何时候离开会议室。 满足:每当一个员工进入时,…