【超详细】前后端项目部署(原始Nginx+SpringBoot)

embedded/2025/1/8 4:12:32/
前后端项目部署原始[Nginx+SpringBoot]
  • 一、前端部署
    • 安装Nginx
      • 下载源代码安装包并解压
      • 进入nginx目录并设置系统配置参数
      • 编译安装
      • 加环境变量
      • 查看nginx运行状态
      • 修改nginx配置文件
    • 上传前端项目
      • 解压
    • 修改nginx配置
    • 公网访问
  • 二、后端部署
    • 安装Java
    • 安装Maven
    • 上传后端项目
      • Maven打包
      • 运行jar包
  • 部署完成

一、前端部署

使用Xshell远程连接服务器

安装Nginx

使用源代码编译安装nginx
nginx官网找稳定版本,复制链接地址
在这里插入图片描述

下载源代码安装包并解压
#创建目录services用来存放
[root@VM-24-5-centos ~]# mkdir services
[root@VM-24-5-centos ~]# cd services/
#下载
[root@VM-24-5-centos services]# curl -o nginx-1.26.1.tar.gz https://nginx.org/download/nginx-1.26.1.tar.gz

在这里插入图片描述

#解压
[root@VM-24-5-centos services]# tar -zxvf nginx-1.26.1.tar.gz 

在这里插入图片描述

nginx_54">进入nginx目录并设置系统配置参数
[root@VM-24-5-centos services]# cd nginx-1.26.1/
[root@VM-24-5-centos nginx-1.26.1]# ./configure

在这里插入图片描述

#安装相关依赖
[root@VM-24-5-centos nginx-1.26.1]# yum install pcre pcre-devel -y
[root@VM-24-5-centos nginx-1.26.1]# yum install openssl openssl-devel -y
#设置系统配置参数
[root@VM-24-5-centos nginx-1.26.1]# ./configure --with-http_ssl_module --with-http_v2_module --with-stream

在这里插入图片描述

编译安装
#开始编译
[root@VM-24-5-centos nginx-1.26.1]# make
#安装
[root@VM-24-5-centos nginx-1.26.1]# make install
加环境变量
[root@VM-24-5-centos nginx-1.26.1]# vim /etc/profile
#shift+g 跳到最后一行加入
export PATH=$PATH:/usr/local/nginx/sbin

在这里插入图片描述

#使文件生效
[root@VM-24-5-centos nginx-1.26.1]# source /etc/profile
nginx_92">查看nginx运行状态
[root@VM-24-5-centos nginx-1.26.1]# nginx
[root@VM-24-5-centos nginx-1.26.1]# netstat -ntlp

在这里插入图片描述

nginx_100">修改nginx配置文件
#进入conf配置文件
ls
cd conf
#复制一份配置文件当备份
cp nginx.conf nginx.default.conf
#查看配置文件
cat nginx.conf

在这里插入图片描述

80表示nginx访问的端口,root表示根目录对应的html文件,index表示默认主页的名称
在这里插入图片描述

上传前端项目

将前端打包好的文件压缩上传,直接拖进黑框
在这里插入图片描述

在这里插入图片描述

解压
[root@VM-24-5-centos services]# unzip dist.zip -d UserSphere-front

在这里插入图片描述

查看解压结果
在这里插入图片描述

nginx_133">修改nginx配置

[root@VM-24-5-centos UserSphere-front]# cd /usr/local/nginx
[root@VM-24-5-centos nginx]# cd conf
[root@VM-24-5-centos conf]# vim nginx.conf

修改成与启动用户一致
在这里插入图片描述

修改访问页面地址
在这里插入图片描述

重新加载配置

[root@VM-24-5-centos conf]# nginx -s reload

公网访问

访问成功
在这里插入图片描述

二、后端部署

安装Java

[root@VM-24-5-centos local]# yum install -y java-1.8.0-openjdk*
#yum安装不需要再配置环境变量

在这里插入图片描述
检查是否安装成功

[root@VM-24-5-centos services]# java -version

在这里插入图片描述

安装Maven

下载

[root@VM-24-5-centos services]# curl -o apache-maven-3.9.8-bin.tar.gz https://dlcdn.apache.org/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz

在这里插入图片描述
解压

[root@VM-24-5-centos services]# tar -zxvf apache-maven-3.9.8-bin.tar.gz 

在这里插入图片描述
在这里插入图片描述

配置环境变量

[root@VM-24-5-centos bin]# vim etc/profile
#在最后一行加上路径
#更新配置
[root@VM-24-5-centos bin]# source /etc/profile

在这里插入图片描述
检查环境变量是否生效

[root@VM-24-5-centos services]# mvn -v

在这里插入图片描述

上传后端项目

使用git远程拉取代码

#安装git
[root@VM-24-5-centos services]# yum install -y git
#拉取代码
[root@VM-24-5-centos services]# git clone https://github.com/xxxxxxxxx/UserSphere-backend.git

在这里插入图片描述

Maven打包
#使用maven打包 并跳过测试,可以直接本地编译然后拖进去会快一些
[root@VM-24-5-centos services]# mvn package -DskipTests

编译出来一个jar包
在这里插入图片描述

运行jar包
#给所有用户增加执行权限,让jar包可执行
[root@VM-24-5-centos UserSphere-backend]# chmod a+x UserSphere-backend-0.0.1-SNAPSHOT.jar 

在这里插入图片描述

#以生产模式运行
[root@VM-24-5-centos UserSphere-backend]# java -jar UserSphere-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

在这里插入图片描述

#以后台形式运行
[root@VM-24-5-centos UserSphere-backend]# nohup java -jar UserSphere-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &
#查看执行
[root@VM-24-5-centos UserSphere-backend]# jobs
[root@VM-24-5-centos UserSphere-backend]# netstat -ntlp

在这里插入图片描述

部署完成


http://www.ppmy.cn/embedded/152180.html

相关文章

CDN SSLTLS以及安全

随着互联网的发展,内容分发网络(CDN)在提升网站访问速度和安全性方面发挥了重要作用。然而,CDN在带来便利的同时也面临一些安全挑战。本文将探讨CDN的安全风险,并深入解析SSL/TLS加密技术及其在CDN中的应用。 CDN的安全…

Android折叠屏适配(权宜之计)

现在折叠屏手机出了也有一段时间了,但是除了大厂app,其他app适配折叠屏还是比较少,如果真的想做好折叠屏完全适配,那这个文章可能并不适合,这里只是一个简单适配的思路。 如果原先你的app已经适配了平板,那…

四种线程池的创建及任务提交

1. 线程池概述 1.1 线程池的定义 线程池是管理和控制线程使用的一种手段。它通过提前创建一定数量的线程,并将任务提交给这些线程执行,来实现资源的合理分配和任务的高效处理。 关键点: 线程复用:线程池在任务执行完毕后&#…

【数据结构】树链刨分

1 u v k,修改路径上节点权值,将节点 uu 和节点 vv 之间路径上的所有节点(包括这两个节点)的权值增加 kk。2 u k,修改子树上节点权值,将以节点 uu 为根的子树上的所有节点的权值增加 kk。3 u v,询…

DjangoORM字段参数、常用字段类型及参数、模型和表单验证器详解

由于项目原因必须使用DjangoORM模型,所以今天整理了一下关于DjangoORM模型里的详细内容。包含字段参数、常用字段类型及参数、模型和表单验证器。 一、通用字段参数 这些参数可以应用于多种字段类型: (1)null:如果为 …

云原生周刊:K8s 生态系统的五大趋势预测

开源项目推荐 Burrito Burrito 是一款 TACoS(Terraform Automation and Collaboration Software)Kubernetes Operator,旨在提供类似 Argo CD 的体验,用于管理和自动化 Terraform 工作流。通过 Burrito,用户可以在 Ku…

USB 驱动开发 --- Gadget 驱动框架梳理

编译链接 #----》 linux_5.10/drivers/usb/gadget/Makefileobj-$(CONFIG_USB_LIBCOMPOSITE) libcomposite.o libcomposite-y : usbstring.o config.o epautoconf.o libcomposite-y composite.o functions.o configfs.o u_f.oobj-$(CONFIG_USB_GADG…

基于SQL注入的攻击与预防

基于SQL注入的攻击与预防 摘要:信息,作为一种对当下社会发展起到越来越重要作用的资源,在信息化时代来临之际,已经具备了战略上的重要意义,而如何对这种资源进行收集、占有和有效利用,也已成为当下社会和国…