欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 部署前后端项目

部署前后端项目

2025/3/11 10:07:41 来源:https://blog.csdn.net/XZY__one/article/details/146167178  浏览:    关键词:部署前后端项目

部署项目 liunx

软件安装

软件安装方式

在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下:

image-20250310233120674

建议nginx、MySQL、Redis等等使用docker安装,会很便捷,这里只演示JDK、ngxin手动的安装

安装JDK

上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发布包)形式来安装JDK。 JDK对应的二进制发布包:jdk-17.0.12_linux-x64_bin.tar.gz一般为gz格式的文件。

1). 上传安装包
加粗样式
使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

image-20250310233305440

由于上述在进行文件上传时,选择的上传目录 /root,上传完毕后,我们执行指令 cd /root 切换到根目录下,查看上传的安装包。

image-20250310233317191

2). 解压安装包

执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放目录为 /usr/local。

tar -zxvf jdk-17.0.12_linux-x64_bin.tar.gz -C /usr/local/

3). 配置环境变量

使用vim命令修改/etc/profile文件,在文件末尾加入如下配置

export JAVA_HOME=/usr/local/jdk-17.0.12
export PATH=$JAVA_HOME/bin:$PATH

具体操作指令如下:

1). 编辑/etc/profile文件,进入命令模式vim /etc/profile2). 在命令模式中,输入指令 G , 切换到文件最后G3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行i4). 将上述的配置拷贝到文件中export JAVA_HOME=/usr/local/jdk-17.0.12export PATH=$JAVA_HOME/bin:$PATH5). 从插入模式,切换到指令模式ESC6). 按:进入底行模式,然后输入wq,回车保存:wq

4). 重新加载profile文件

为了使更改的配置立即生效,需要重新加载profile文件,执行命令:

source /etc/profile

5). 检查安装是否成功

java -version

输出版本号即为成功~~

安装Nginx

Nginx的安装包,从官方下载下来的是c语言的源码包,我们需要自己编译安装。具体操作步骤如下:

1). 安装Nginx运行时需要的依赖

yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel

安装C语言的编译环境.

yum install gcc-c++

2). 上传Nginx的源码包(指路:nginx: download)

image-20250310231501080

3). 解压源码包到当前目录

tar -zxvf nginx-1.20.2.tar.gz

4). 进入到解压目录后,执行指令

#进入解压目录
cd nginx-1.20.2#执行命令配置, 生成Makefile文件
./configure --prefix=/usr/local/nginx

5). 执行命令进行编译和安装

#编译
make#编译安装
make install
启动Nginx

进入到nginx安装目录/usr/local/nginx,启动nginx服务

cd /usr/local/nginx/
sbin/nginx

启动完毕之后,我们可以通过 ps 指令查询当前系统中的nginx进程,从而确认nginx是否启动 。

image-20250310231658635

然后,我们就可以打开浏览器,访问服务器上的nginx 。

image-20250310231643073

后端项目部署

之前我们讲解Linux操作系统时,就提到,我们服务端开发工程师学习Linux系统的目的就是将来我们开发的项目绝大部分情况下都需要部署在Linux系统中。

环境准备

那现在,项目要上线了,要部署到linux服务器上了,我们也需要使用linux服务器上所安装的mysql数据库。

那此时,我们就可以再准备一份文件 application.yml 将里面的配置的mysql的ip、redis的ip地址及相关配置信息修改一下(配置Linux上安装的MySQL、Redis的信息):

#配置数据库连接信息
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.100.128:3306/tliasusername: rootpassword: 1234servlet:multipart:max-file-size: 10MB #单个文件最大大小限制10MBmax-request-size: 100MB #单个请求最大大小限制100MBredis:host: 192.168.100.128port: 6379database: 0password: 159357timeout: 10s     # 连接超时时间lettuce:pool:# 连接池中的最小空闲连接min-idle: 0# 连接池中的最大空闲连接max-idle: 8# 连接池的最大数据库连接数max-active: 8# #连接池最大阻塞等待时间(使用负值表示没有限制)max-wait: -1ms

改造完毕之后,可以在本地的idea中先启动当前项目,然后访问一下,看看工程是否正常访问。

打包部署

1). 执行 package 指令,进行打包操作,将当前的springboot项目,打成一个jar包。 (跳过测试)

image-20250310232149507

2). 在Linux服务器上创建一个目录,将jar包上传到服务器 。

mkdir -p /usr/local/app

image-20250310232218427

3). 通过java命令,启动项目

#进入目录/usr/local/app 
cd /usr/local/app#运行jar包
java -jar tlias-web-management-0.0.1-SNAPSHOT.jar

image-20250310232243697

项目启动起来之后,就可以打开浏览器测试啦**(使用服务器的ip访问)**。

后台运行

1). 后台运行程序

nohup java -jar tlias-web-management-0.0.1-SNAPSHOT.jar &> tlias.log &

通过上述指令就可以后台运行服务,服务运行之后, 所有的日志信息都会输出到 tlias.log 文件中。

image-20250310232512371

2). 停止服务

#查看服务的进程信息
ps -ef|grep tlias#杀掉进程
kill -9 xxxxx

image-20250310232525532

目前程序运行的问题

  • 线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
  • 线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息

nohup命令:英文全称no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行。

语法格式:nohup Command[Arg...][&]

参数说明:

  • Command:要执行的命令
  • Arg:一些参数,可以指定输出文件
  • &:让命令在后台运行

举例:nohup java -jar hello-0.0.1-SNAPSHOT.jar &> xzy.log &

后台运行java-jar命令,并将日志输出到xzy.log文件

想要停掉项目,先查询项目占用的端口号:ps -ef | grep java 。然后杀掉这个进制即可:kill -9 xxxx

前端项目部署

1). 将nginx的安装目录的html中的静态资源文件先删除掉。

image-20250310231828437

2).将打包好的dist静态资源文件,全部上传到nginx安装目录下的 html 目录中.

image-20250310231840536

3). 修改资料中提供的 nginx.conf 配置文件,将其上传到nginx安装目录下的 conf 目录中.

image-20250310231904149

4). 重新加载nginx服务的配置文件

#重新加载配置文件
sbin/nginx -s reload

5). 再次访问nginx (可能会存在浏览器缓存, 可以按Ctrl+F5,强制刷新清理缓存)

nginx服务常见操作指令:

  • 启动: sbin/nginx
  • 重载: sbin/nginx -s reload
  • 停止: sbin/nginx -s stop

部署项目 Docker

外链图片转存中…(img-kfuwrdbH-1741622394419)]

4). 重新加载nginx服务的配置文件

#重新加载配置文件
sbin/nginx -s reload

5). 再次访问nginx (可能会存在浏览器缓存, 可以按Ctrl+F5,强制刷新清理缓存)

nginx服务常见操作指令:

  • 启动: sbin/nginx
  • 重载: sbin/nginx -s reload
  • 停止: sbin/nginx -s stop

部署项目 Docker

todo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词