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

目录

 一、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://www.mzph.cn/news/702529.shtml

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

相关文章

抖音视频提取软件怎么用|抖音数据抓取工具

针对用户获取抖音视频的需求,我们开发了一款功能强大的抖音视频提取软件,旨在帮助用户轻松获取他们感兴趣的视频内容。无需逐个复制链接,无需繁琐的下载步骤,我们的软件让抖音视频获取变得简单快捷。 使用我们的软件非常简单&…

Open3D 基于最小生成树的法线定向 (27)

Open3D 基于最小生成树的法线定向 (27) 一、算法介绍二、算法实现一、算法介绍 法线计算的方向通常都存在方向问题,用Open3D估计的点云法线,是在每个点的局部进行拟合,估计的法线方向并不一致,Open3D提供了使用最小生成树调整法线到统一方向的方法,下面是具体的实现代码…

从Unity到Three.js(outline 模型描边功能)

指定模型高亮功能,附带设置背景颜色,获取随机数方法。 百度查看说是gltf格式的模型可以携带PBR材质信息,如果可以这样,那就完全可以在blender中配置好材质导出了,也就不需要像在unity中调整参数了。 import * as THRE…

从零实现一套低代码(保姆级教程)【后端服务】 --- 【22】实现数据库管理的前端页面

摘要 在上一篇中,我们实现了三个接口: 新增实体的接口删除实体的接口获取实体列表的接口 其实复杂的地方在于,我们创建一个实体,是在数据库中创建了一张表。而这张表中的数据,是要根据低代码平台中的操作进行更改。…

基于pytorch使用LSTM实现文本匹配任务

本文学习纪录 PyTorch深度学习项目实战100例 使用LSTM来实现文本匹配任务 使用LSTM(Long Short-Term Memory)网络来实现文本匹配任务是自然语言处理(NLP)中的一个常见应用。文本匹配任务的目标是确定两个文本段落是否在某种程度…

Vue + Echarts页面内存占用高问题解决

Vue Echarts页面内存占用高问题解决 1.问题描述 目前使用的是Vue2 Echarts4.x的组合,页面如下所示。 就是一个类似于神策的数据看板页面,左侧是一个导航栏,右侧看板页面中包含很多个报表图片,其中报表页面中对Echarts图表进…

STL常用容器(string容器)---C++

STL常用容器目录 1.string容器1.1 string基本概念1.2 string构造函数1.3 string赋值操作1.4 string字符串拼接1.5 string查找和替换1.6 string字符串比较1.7 string字符存取1.8 string插入和删除1.9 string子串 1.string容器 1.1 string基本概念 本质: string是C…

电子签证小程序系统源码后台功能列表

基于ThinkPhp8.0uniapp 开发的电子签证小程序管理系统。能够真正帮助企业基于微信公众号H5、小程序、wap、pc、APP等,实现会员管理、数据分析,精准营销的电子商务管理系统。可满足企业新零售、批发、分销、预约、O2O、多店等各种业务需求,快速积累客户、…

搜索专项---IDA*

文章目录 排书回转游戏 一、排书OJ链接 本题思路:先考虑每一步的决策数量:当抽取长度为 i 的一段时,有 n−i1 种抽法,对于每种抽法,有 n−i 种放法。另外,将某一段向前移动,等价于将跳过的那段向后移动&am…

C++之std::tuple(二) : 揭秘底层实现原理

相关系列文章 C之std::tuple(二) : 揭秘底层实现原理 C三剑客之std::any(一) : 使用 C之std::tuple(一) : 使用精讲(全) C三剑客之std::variant(一) : 使用 C三剑客之std::variant(二):深入剖析 深入理解可变参数(va_list、std::initializer_list和可变参数模版) st…

【JVM】线上一次fullGC排查思路

fullGC问题背景 监控告警发现,今天开始我们线上应用频繁出现fullGC,并且每次出现后磁盘都会被占满 查看监控 查看监控发现FULLGC的机器均为同一个机房的集器,并且该机房有线上error报错,数据库监控对应的时间点也有异常&#x…

数据结构知识点总结-绪论 数据结构基本术语 算法及评价

要求 (1)对数据结构这么课学了哪些知识有个清楚的认知; (2)掌握目录结构,能复述出来每个知识点下都有哪些内容。 如下图所示,可自行制作思维导图,针对自己薄弱的地方进行复习。 …

curl与HTTP状态码

目录 一、curl (一)curl简介 (二)curl命令的选项 二、HTTP状态码 (一)状态码的含义 (二)状态码分类 1.默认的状态码 2.自定义状态码 一、curl (一)c…

NGINX服务器配置实现加密的WebSocket连接WSS协议

一、背景 最近在做小程序开发,需要在nginx中配置websocket加密模式,即wss。初次配置wss时,踩了两个小时的坑,本文将踩坑过程分享给大家,有需要用到的伙伴可以直接copy即可实现,节省宝贵时间。 二、WebSo…

代码随想录第41天|● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

文章目录 背包问题背包题目解法一 ● 01背包问题-二维数组五部曲1.确定dp数组2、确定递推公式3、初始化dp数组4、循环代码: 解法二-01背包问题-滚动数组五部曲1:定义dp二、递推公式三、初始化四、循环顺序代码: 698. 划分为k个相等的子集题解…

FairyGUI × Cocos Creator 3.x 使用方式

前言 上一篇文章 FariyGUI Cocos Creator 入门 简单介绍了FairyGUI,并且按照官方demo成功在Cocos Creator2.4.0上运行起来了。 当我今天使用Creator 3.x 再引入2.x的Lib时,发现出现了报错。 这篇文章将介绍如何在Creator 3.x上使用fgui。 引入 首先&…

uniapp开发安卓app华为平板真机预览

首先使用数据线连接平板和电脑设备 一、前期准备 平板需要开启三个地方: 1、打开设置,在搜索框中输入版本号/或者直接点击最下方的【关于平板电脑】,点击版本号进入关于平板的界面,连续点击版本号7次,直到出现提醒“…

2.25基础会计学

资本公积是指由股东投入、但不能构成“股本”或“实收资本”的资金部分。 盈余公积是指公司按照规定从净利润中提取的各种积累资金。 所以区别在于盈余公积来自净利润。 借贷其实就是钱从哪来和到哪去的问题,来源是贷,流向是借。比如购入9w原材料&…

基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法. 2.测试软件版本以及运行结果展示 MATLAB2022a版本运行 3.核心程序 ........................…

facebook群控如何做?使用静态住宅ip代理有什么好处?

在进行Facebook群控时,ip地址的管理是非常重要的,因为Facebook通常会检测ip地址的使用情况,如果发现有异常的使用行为,比如从同一个ip地址频繁进行登录、发布内容或者在短时间内进行大量的活动等等,就会视为垃圾邮件或…