实施工程师前后端项目部署流程一次完成

目录

 一、jdk安装具体步骤

二、tomcat安装具体步骤

三、MySql具体步骤

 修改密码

登录

四、nginx安装

4.1、Nginx

4.2、操作步骤

安装ssl证书(https)

开80端口

测试

设置自启动

五、后端部署tomcat负载均衡

5.1、为什么要使用

5.2、搭建nginx 具体步骤

改端口

 开放8081

重启服务

5.3、部署后端项目 具体步骤

在8080部署项目

 在8081部署项目

测试

六、前端部署具体步骤

放前端项目(开发提供)

解压

配置文件

配域名

重启

 测试


 一、jdk安装具体步骤

1、查询是否有jdk

java -version

2、进入opt目录 

cd /opt/

 连接服务器工具

进入opt目录,把压缩文件上传

查询是否查询成功

 

 进入解压到的目录

cd /usr/local/

创建新文件夹

mkdir java

 再回到opt目录进行解压

cd /opt

 解压到刚刚创建的文件夹里(解压复制到文件夹里)

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

其实如果自己也记不得全就写一半按Tab键会自动补全

进入java文件夹

cd  /usr/local/java/ 

配置环境变量

vim /etc/profile

在最后面加配置

i进入编辑模式    按ESC  :wq保存并退出

#java environment
export JAVA_HOME=/java/jdk1.8.0_151(记得改jdk解压路径)
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

二、tomcat安装具体步骤

进入解压目录

cd /opt/

 解压到刚刚创建的文件夹里(解压复制到文件夹里) 

tar -zxvf  apache-tomcat-8.5.20.tar.gz -C /usr/local/java

进入目录查看解压是否成功

cd  /usr/local/java/ 
ll

启动服务

#   进入bin目录
cd  apache-tomcat-8.5.20/bin/
#启动
./startup.sh

 开防火墙8080

#开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#刷新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports

注:

#重启服务器
reboot 

执行这个命令会发现tomcat启动不了

#重启服务器
reboot

创建自启动脚本

#将catalina.sh拷贝到init.d目录下
cp /usr/local/java/apache-tomcat-8.5.20/bin/catalina.sh /ect/init.d#进入文件夹并查看
cd /etc/init.d/
ll#重命名文件为tomcat
mv catalina.sh tomcat

#编辑启动文件
vim tomcat

 把java和tomcat环境变量,加在开头

JAVA_HOME=/usr/local/java/jdk1.8.0_151
CATALINA_HOME=/usr/local/java/apache-tomcat-8.5.20

加注释,方便看资料

#chkconfig:23456  10 90
#description: tomcat service

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

编辑完tomcat程序会再执行下面文件

chkconfig  --add tomcat

init系统初始化文件 

三、MySql具体步骤

检查是否有自带的mysql

rpm -qa|grep mariadb

会发现有一个自带的是mysql前身 

rpm -e --nodeps+刚刚查出的复制到后面

进入解压目录

cd  /usr/local/java/

创建mysql文件夹

mkdir mysql-5.7

进入并查询

cd  /opt/ ll

 解压

tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C /usr/local/java/mysql-5.7/

开始安装 ,一个一个执行(注意写自己的版本号)

#进入目录
cd /usr/local/java/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

-ivh:

i 代表安装      v代表安装过程     h代表

 

启动MySQL服务

systemctl start mysqld

设置自启动 

systemctl enable mysql.service

 修改密码

登录

grep "password" /var/log/mysqld.logmysql -uroot -p

登录时有临时密码出现 

把密码等级调低 

#设置密码校验策略(0 or LOW),要不密码太LOW不让你过
set global validate_password_policy=0;
#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
set global validate_password_length=4;
#更新密码
set password = password("123456");
#数据库没有授权,允许以root身份远程登录mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES;
#可以退出
exit

开放防火墙 

#开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports

测试

reboot 

四、nginx安装

4.1、Nginx

是一个开源的高性能的HTTP和反向代理服务器,也可以用作邮件代理服务器。它具有高并发能力和低内存消耗,可以作为负载均衡、反向代理和HTTP缓存等功能。Nginx在性能方面表现出色,被广泛应用于大型网站和高流量的网络环境中。

4.2、操作步骤

如果有单机项目, 需要删除再部署前后端分离项目

cd /usr/local/java/apache-tomcat-8.5.20/webapps/
rm -rf oapro*
ll

安装nginx所需要的依赖

cd /opt/
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

 

安装时间有点久 

上传文件

解压安装包

tar -xvf nginx-1.13.7.tar.gz -C /usr/local/java/

后面是解压到的位置 

可以去查看是否解压成功

cd  /usr/local/java/

ll

安装ssl证书(https)

# 进入安装包目录
cd nginx-1.13.7考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module安装
make && make install

安装好模块会的

安装好的

执行make后会出现它 

进到目录

cd nginx/
ll

 

conf:放配置文件的----负载均衡、反向代理、动静分离

html:静态资源,前端项目可以在这里

logs:放日志

sbin:放启动命令

进到目录,启动

cd sbin/
ll
./nginx

其他:

# 重启
./nginx -s reload

# 关闭
./nginx -s stop

# 或者,指定配置文件启动
./nginx -c /usr/local/nginx/conf/nginx.conf

检查nginx是否启动

方法一:

ps -A | grep nginx

 

方法二:

下载lsof

yum install -y lsof
lsof -i:80

 

开80端口

#开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent#跟新防火墙规则
firewall-cmd --reload#防火墙列表
firewall-cmd --zone=public --list-ports

测试

端口号+回车

设置自启动

cd /usr/local/nginx/sbin/#启动
./nginxvim /etc/rc.d/rc.local/usr/local/nginx/sbin/nginx#设置权限 
cd /etc/rc.d/chmod 755 rc.localll

五、后端部署tomcat负载均衡

5.1、为什么要使用

多个tomcat负载配置,后端项目部署,因为如果只有一个服务器,服务器坏了,项目就用不了了,多个就坏了就替换,就不会影响运作

5.2、搭建nginx 具体步骤

停了之前服务

cd /usr/local/java/apache-tomcat-8.5.20/
cd bin/
./shutdown.sh

复制80端口变成8081端口

cd ../../
cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20-8080/

 启动80服务

cd apache-tomcat-8.5.20/bin/
./startup.sh

改端口

改三个,端口号在之前基础上都加一就行

cd  ../../apache-tomcat-8.5.20/conf/
vim server.xml

 

进入bin,启动端口号

cd ../bin/
./startup.sh

 开放8081

#开放端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent#跟新防火墙规则
firewall-cmd --reload#防火墙列表
firewall-cmd --zone=public --list-ports

进入conf目录

方法一:

cd  /usr/local/nginx/conf/llvim nginx.conf

方法二:

加2个内容:

1、设置负载两个端口

upstream  tomcat_list {  #服务器集群名字
        server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。
        #server    172.17.0.4:8080  weight=2; #服务器2   weight是权重的意思,权重越大,分配的概率越大
    } 

2、反向代理

proxy_pass http://tomcat_list/;

重启服务

cd  ../sbin/./nginx  -s reload

测试 

使用nginx就端口号后不用加端口号,就等价于我设置的两个端口号

一个一个停tomcat测试

cd ../../apache-tomcat-8.5.20/bin/./shutdown.sh

5.3、部署后端项目 具体步骤

cd ../webapps/pwd
出现路径复制在旁边

在8080部署项目

上传项目

新建数据库名字与项目一样,运行sql语句

重启tomcat

cd ../bin/./startup.sh

 在8081部署项目

进入webapp,把项目丢进去

cd ../../apache-tomcat-8.5.20/webapps

重启tomcat

cd ../bin/./startup.sh

测试

换端口号一个一个测试,后面把端口号去了也可以访问,因为负载了

#保障以下3个链接都能访问项目
http://192.168.195.139:8080/T216_SSH/vue/treeNodeAction.action
http://192.168.195.139:8081/T216_SSH/vue/treeNodeAction.action
http://192.168.195.139/T216_SSH/vue/treeNodeAction.action

六、前端部署具体步骤

放前端项目(开发提供)

cd  /usr/local/#建目录
mkdir mypro#进入
cd mypro/

解压

安装解压

yum  install -y unzip

unzip  blog.zip 

配置文件

进入这个目录

cd distpwdcd  /usr/local/nginx/conf/

 #替换内容一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/;}

配域名

徽标键+R

C:\Windows\System32\drivers\etc

打开hosts

在后面加自己端口号 +www.zking.com,保存

重启

cd ../sbin/
./nginx -s reload

 测试

输入端口号+回车,输入密码和用户进入

停掉两个服务器测试

#8081
cd /usr/local/java/apache-tomcat-8.5.20/bin/./shutdown.sh#8080
cd /usr/local/java/apache-tomcat-8.5.20-8080/bin/./shutdown.sh

停了后发现报错,登不进去

重启试试能不能登进去

reboot

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

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

相关文章

【 buuctf--菜刀 666】

需要用wireshark打开,在此之间,先用binwalk看看有什么隐藏内容 发现有 zip 压缩包,并且加密了,还有个 flag.txt ,binwalk 提取一下,是个真加密,估计爆破密码也是出不来了,所以只好打…

【小沐学QT】QT学习之资源文件qrc的使用

文章目录 1、简介2、qrc添加2.1 向导方式添加2.2 代码方式添加2.3 动态方式添加 3、qrc使用结语 1、简介 Qt 资源系统(Qt Resource System)是一种将图片、数据存储在二进制文件中的一套系统。 Qt 资源系统是独立于平台的,因为无论是图片还…

【C语言】linux内核ipoib模块 - ipoib_tx_poll

一、中文注释 这段代码是 Linux 内核网络栈中与 InfiniBand 协议相关的一个部分,特别是与 IP over InfiniBand (IPoIB)相关。该函数负责去处理IPoIB的发送完成队列(发送CQ)上的工作请求(work completions)。以下是对这…

“花式提涨薪,结果被套路”!怎么跟老板正确提加薪?

加薪想必是所有职场人的共同愿望,但大部分人想要向领导提出加薪时,都会遇到这些问题。 第一种人:想要加薪,但是却提都不敢提; 第二种人:想要加薪,但是却不知道怎么提; 第三种人&a…

springboot215基于springboot技术的美食烹饪互动平台的设计与实现

美食烹饪互动平台的设计与实现 摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统美食信息管理难度大&…

C# 使用onnxruntime部署夜间雾霾图像的可见度增强

目录 介绍 模型信息 效果 项目 代码 下载 C# Onnx 使用onnxruntime部署夜间雾霾图像的可见度增强 介绍 github地址:GitHub - jinyeying/nighttime_dehaze: [ACMMM2023] "Enhancing Visibility in Nighttime Haze Images Using Guided APSF and Gradien…

Linux部署前后端分离项目

目录 一、jdk安装 二、tomcat安装 三、MySQL安装 四、nginx安装 五、配置多个tomcat负载,部署后端项目 六、前端部署 一、jdk安装 1. 上传jdk安装包 jdk-8u151-linux-x64.tar.gz 进入opt目录,将安装包拖进去 2. 解压安装包 这里需要解压到usr/loc…

中科大计网学习记录笔记(十五):可靠数据传输的原理

前前言:看过本节的朋友应该都知道本节长度长的吓人,但其实内容含量和之前的差不多,老师在本节课举的例子和解释比较多,所以大家坚持看完是一定可以理解透彻的。本节课大部分是在提出问题和解决问题,先明确出现的问题是…

解密看板管理的奥秘!持续提升研发效能的关键

看板管理近年来变得越来越流行,许多企业在他们的项目中采用了这种精益工作流程方法。但是看板管理在研发项目中的可持续性如何呢?在本文中,我们将从可持续性的角度探讨在研发项目中使用看板管理的好处和挑战。 一、研发的看板管理如何持续? …

【EAI 025】Ego4D: Around the World in 3,000 Hours of Egocentric Video

Paper Card 论文标题:Ego4D: Around the World in 3,000 Hours of Egocentric Video 论文作者:Kristen Grauman, Andrew Westbury, Eugene Byrne, et al. 作者单位:UC Berkeley, CMU, Google 论文原文:https://arxiv.org/abs/2110…

Java 过滤器深入了解学习

Java 过滤器深入了解学习 生活不能等待别人来安排,要自己去争取和奋斗;而不论其结果是喜是悲,但可以慰藉的是,你总不枉在这世界上活了一场。有了这样的认识,你就会珍重生活,而不会玩世不恭;同时…

Git笔记——3

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、合并模式和分支策略 二、bug分支 三、强制删除分支 四、创建远程仓库 五、克隆远程仓库_HTTPS和_SSH 克隆远程仓库_HTTPS 克隆远程仓库_SSH 六、向远程仓库…

MCU独立按键单控LED实现

##江科大视频学习,并且对具体的一些小细节进行更详细的分析。 什么是独立按键? 轻触按键:相当于是一种电子开关,按下开头接通,松开时开头断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开。 注意…

【大厂AI课学习笔记NO.53】2.3深度学习开发任务实例(6)数据采集

这个系列写了53期了,很多朋友收藏,看来还是觉得有用。 后续我会把相关的内容,再次整理,做成一个人工智能专辑。 今天学习到了数据采集的环节。 这里有个问题,数据准备包括什么,还记得吗? 数…

Unity使用的GC方式——贝姆GC(BOEHM GC)

Unity合作的Mono版本为Mono的早期版本,此时还没有使用SGen GC,后来Mono将默认GC方式改为SGen GC,Unity并没有继续购买,因此Unity使用的GC方式仍然是老的贝姆GC。 贝姆GC官方网页:https://www.hboehm.info/gc/index.htm…

15.4K Star,超强在线编辑器

Hi,骚年,我是大 G,公众号「GitHub指北」会推荐 GitHub 上有趣有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注。 今天推荐一款非常棒的开源实时协作编辑器,可用于多人同时编…

SQLServer 格式化数据的方法

格式化数据一般考虑使用FORMAT 或者CONVERT ​​​​​​​函数,FORMAT 函数是在 SQL Server 2012 中引入的,如果你使用的是较早版本的 SQL Server,则可能需要考虑使用其他方法,如 CONVERT 函数。 在 SQL Server 中,FO…

【C++ QT项目5】——基于HTTP与JSON数据流的天气预报界面设计

【C QT项目5】——基于HTTP与JSON数据流的天气预报界面设计 一、项目概述二、UI设计与stylesheet样式表三、天气预报数据接口四、JSON数据4.1 概述4.2 QT生成JSON数据4.3 QT解析JSON数据4.4 将JSON数据解析到QMap中 五、软件开发网络通信架构5.1 BS架构/CS架构5.2 HTTP基本概念…

探索Java11新世界:JDK 11新特性详解

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

Python自定义logger模块(附Demo)

目录 1. 内置logger2. 自定义logger 1. 内置logger Python标准库中的logging模块提供了日志记录的功能 允许开发者通过创建日志记录器、处理程序和格式化器来控制日志的生成和输出 以下是logging模块的一些主要组件和概念: 日志记录器 (Logger):整个…