前后端分离项目部署服务器教程--实践成功

文章目录

    • 项目介绍
    • 流程
      • 1租界云服务
      • 2通过远程软件连接服务器
      • 3部署前后端代码
      • 停止功能文件
    • 环境配置
      • 1.安装jdk
      • 2.安装Nginx
      • 3.安装mysql数据库

花了将近一天部署前后端的项目,写一个日志记录一下,话说孰能生巧。明天把服务器恢复初始在部署一下。

项目介绍

我部署的是前后端分离的项目,前端是vue写的,后端是基于springboot工程。
这是我的项目架构。
没有采用Redis来缓存。
在这里插入图片描述

流程

1租界云服务

首先需要租借一个云服务器。阿里云、腾讯云都是可以的,学生还有一定的优惠价格。

2通过远程软件连接服务器

通过X-shell 和 Xftp 远程操作服务器,X-shell是和服务器进行连接控制的,Xftp是文件上传,可以用可视化界面来上传文件。

X-shell和Xftp可以申请学生认证免费使用。

3部署前后端代码

首先创建x-shell连接。

前端工程通过bulid命令打包,后端springboot通过maven命令打包。
在这里插入图片描述
后端工程
在这里插入图片描述
在这里插入图片描述

在xshell里面:
创建文件夹:mkdir -p /home/server/honey2024
上传 jar 包到服务器 /home/server/honey2024/java 目录

设置 application.yml 覆盖,项目启动后会使用这个yml里面的配置。
在这里插入图片描述

添加 启动和停止脚本

cd /home/server/honey2024/java
vi start.sh
输入下面的命令,先点击a进入插入模式,在粘贴过去,按下esc和:,输入wq!保存文件。也可以通过可视化直接操作。

NAME=springboot-0.0.1-SNAPSHOT.jar
nohup java -jar $NAME > server.log 2>&1 &
echo 'start success'

停止功能文件

vi stop.sh

PORT=9090
pid=`netstat -tnlp | grep $PORT | grep -v grep | awk '{print $7}' | awk -F/ '{print $1}'`
if [ ${pid} ]; thenkill -9 $pidecho "kill $PORT"
elseecho 'stop sucess!'
fi

再讲所有文件都加上权限

chmod +x *
这是一个 Unix/Linux 系统中的命令,用于给当前目录下的所有文件添加可执行权限。通常情况下,chmod 是用来改变文件或目录的权限设置的命令,而 +x 则是表示添加可执行权限。 * 通配符表示所有文件。因此,这个命令的作用是将当前目录下的所有文件设置为可执行的。

部署vue文件
将打包后的dist文件上传到vue文件夹,这个时候项目以及部署完毕了,下面需要哦配置项目所需要的环境

在这里插入图片描述

环境配置

项目用的是jdk1.8,mysql5.7,还有nginx。
安装包链接:
链接:https://pan.baidu.com/s/1OuoOwQQmZ8xxq91LQuTZ8w?pwd=trdp
提取码:trdp
–来自百度网盘超级会员V3的分享

1.安装jdk

tar -zxvf /tmp/jdk-8u371-linux-x64.tar.gz -C /usr/local/ 
#解压文件 到local文件夹
mv /usr/local/jdk1.8.0_371 /usr/local/java
# 修改文件名
vi /etc/profile
#配置环境
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
#这两行设置了 JAVA_HOME 环境变量为 JDK 的安装路径,以及将 JDK 的 bin 目录添加到#系统的 PATH 环境变量中,使得系统可以找到 Java 可执行文件。source /etc/profile
source /etc/profile
#这个命令用于使更改后的环境变量立即生效,而不需要重新启动系统。
# 验证
java -version

在这里插入图片描述

2.安装Nginx

安装库文件

#安装gcc
yum install gcc-c++#安装PCRE pcre-devel
yum install -y pcre pcre-devel#安装zlib
yum install -y zlib zlib-devel#安装Open SSL
yum install -y openssl openssl-devel

解压编译nginx,并安装

mkdir /usr/local/nginx
tar -zxvf /tmp/nginx-1.24.0.tar.gz -C /usr/local/nginxcd /usr/local/nginx/nginx-1.24.0./configure --with-http_stub_status_module --with-http_ssl_module
make && make install

nginx的命令

cd /usr/local/nginx/sbin
./nginx     # 启动ps -ef | grep nginx  # 查看
./nginx -s stop      # 停止
./nginx -s reload    # 重启

3.安装mysql数据库

linux会自带一个数据库,需要将原来的数据库删除。

rpm -qa | grep mariadb
yum remove -y mariadb-connector-c-3.1.11-2.oc8.1.x86_64
yum remove -y mariadb-connector-c-config-3.1.11-2.oc8.1.noarch

下载 mysql 并 上传到 /tmp 目录
安装 mysql 命令:

mkdir /data/mysql
tar -zxvf /tmp/mysql-5.7.42-el7-x86_64.tar.gz -C /usr/local
mv /usr/local/mysql-5.7.42-el7-x86_64 /usr/local/mysql# 添加用户组
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysqlcd /usr/local/mysql
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql --initialize#  将mysql加入到服务中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql# mysql快捷方式
ln -s  /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

在这里插入图片描述

记住临时密码:osGMitUO<56. 每个人的密码不一样

配置 mysql 配置文件 my.cnf
vi /etc/my.cnf

mysql的一些配置文件

[mysqld]
datadir=/data/mysql
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
# skip-grant-tables
# # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

启动 mysql: service mysql start
在这里插入图片描述

开机启动: chkconfig mysql on

登录 mysql:mysql -uroot -p
输入临时密码进入 mysql

修改密码并设计权限

SET PASSWORD = PASSWORD('123456');use mysql;
update user set host ='%'where user ='root' and host ='localhost';
flush privileges;
exit;
这些命令是在 MySQL 数据库中重置 root 用户的密码并允许远程访问的一系列操作。让我逐步解释:SET PASSWORD = PASSWORD('123456');: 这个命令用于将 root 用户的密码设置为 123456。SET PASSWORD 是 MySQL 中用于设置用户密码的命令。use mysql;: 这个命令用于切换到 mysql 数据库,mysql 是 MySQL 中存储用户权限信息的系统数据库。update user set host ='%'where user ='root' and host ='localhost';: 这个命令用于更新 user 表中 root 用户的主机信息,将其从 localhost 改为 %,表示允许 root 用户从任何主机访问 MySQL。flush privileges;: 这个命令用于刷新 MySQL 的权限,使修改立即生效。exit;: 这个命令用于退出 MySQL 客户端。

用datagrip链接服务器上面的数据库。

还需要设计服务器的防火墙,运行对应的后端请求端口通过。

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

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

相关文章

网络安全防御策略

网络安全防御策略 引言 在这个数字化的世界里&#xff0c;网络安全是每个个人和组织都需要关注的重要议题。了解如何保护自己免受网络攻击是至关重要的。 保持软件更新 重要性 防止已知漏洞被利用减少恶意软件感染的风险 操作建议 定期检查操作系统和应用程序的更新启用…

大模型-Prompt

一、prompt是什么 在大型语言模型集成中&#xff0c;"prompt" 是指您向模型提供的输入文本或指令&#xff0c;以引导模型生成特定类型的响应。这个 prompt 可以是一个问题、一段描述、一个任务说明&#xff0c;甚至是一部分对话历史记录等。通过设计和优化 prompt&a…

【已解决】在pycharm终端无法激活conda环境,但在cmd命令行中可以

一、问题描述 在windows下winr启动cmd命令行&#xff0c;可以成功运行conda命令并且激活环境在pycharm中打开Terminal终端&#xff0c;发现无法运行conda和pip命令&#xff0c;报错环境无法激活 无法在管道中间运行文档: D:\software\Anaconda3\condabin\conda.bat。 所在位置…

fedora RTL8821CE 无线网卡驱动安装

更新 fedora38 后&#xff0c;demsg 中会报大量的日志: rtw_8821ce 0000:02:00.0: unhandled firmware c2h interrupt如果遇到上面的信息&#xff0c;需要更新无线网卡驱动&#xff0c;方法参考: https://github.com/tomaspinho/rtl8821ce 1. 安装编译工具及依赖 sudo dnf i…

Matlab|基于改进粒子群算法的混合储能系统容量优化

目录 主要内容 部分程序 下载链接 主要内容 为了调高风光互补发电储能系统的经济性&#xff0c;减少其运行费用&#xff0c;研究风光互补发电储能系统的容量优化配置模型&#xff0c;探讨粒子群算法的改进及混合储能容量优化方法。首先通过对全生命周期费用静态模型…

全身动作捕捉设备Dreamscap X1,赋予影视、游戏动画全新创作体验

在影视动画、游戏动画制作领域&#xff0c;全身动作捕捉设备具有完整的动作捕捉性能捕获&#xff0c;无需关键帧动画技能&#xff0c;也可以捕捉真人全范围的运动姿态&#xff0c;通过全身动作捕捉设备系统将动作捕捉数据直接流式传输到3D模型上&#xff0c;辅助动画师制作出逼…

【DataWhale学习笔记-蝴蝶书共读】大语言模型背后

从图灵测试到ChatGPT 1950年&#xff0c;艾伦•图灵(Alan Turing)发表论文《计算机器与智能》&#xff08; Computing Machinery and Intelligence&#xff09;&#xff0c;提出并尝试回答“机器能否思考”这一关键问题。在论文中&#xff0c;图灵提出了“模仿游戏”&#xff…

超越标签的探索:K-means与DBSCAN在数据分析中的新视角

最近在苦恼为我的数据决定分组问题&#xff0c;在查找资料时&#xff0c;恰好看到机器学习中的无监督学习的聚类分析&#xff0c;正好适用于我的问题&#xff0c;但是我之前学机器学习时。正好没有学习无监督部分&#xff0c;因为我认为绝大多数问题都是有标签的监督学习&#…

部署Zabbix Agents添加使能监测服务器_Windows平台_MSI/Archive模式

Windows平台 一、从MSI安装Windows代理,添加Windows Servers/PC 概述 可以从Windows MSI安装包(32位或64位) 安装Zabbix agent 32位包不能安装在64位Windows中 所有软件包都支持TLS,配置TLS可选 支持UI和命令行的安装。 1、下载Agent代理程序,使用Agent2升级版,官网链接如…

前端安全——最新:lodash原型漏洞从发现到修复全过程

人生的精彩就在于你永远不知道惊喜和意外谁先来&#xff0c;又是一个平平无奇的早晨&#xff0c;我收到了一份意外的惊喜——前端某项目出现lodash依赖原型污染漏洞。咋一听&#xff0c;很新奇。再仔细一看&#xff0c;呕吼&#xff0c;更加好奇了~然后就是了解和修补漏洞之旅。…

Java基础-泛型

泛型 基本概念为什么我们需要泛型泛型类型泛型类简单泛型类多元泛型类 泛型接口泛型方法为什么要使用泛型方法呢?使用方法 泛型的上下限上限下限加点难度的例子例子一例子二例子三 泛型数组深入理解泛型什么是泛型擦除后保留的原始类型泛型类型擦除原则如何进行擦除的?怎么证…

鸿蒙开发中闭包的使用

闭包的使用要分成三个部分&#xff0c;闭包的声明&#xff0c;闭包的实现&#xff0c;闭包的调用 第一中写法 闭包的声名 callSurfaceId:(surfaceid: string) >void (surfaceid:string) > {}闭包的实现 VideoDetail({ screenHeight: this.videoHeight, avPlayerUtil: …

汽车超级充电桩

在2023国际数字能源展主论坛上&#xff0c;深圳官宣建设“超充之城”&#xff0c;提出到2025年&#xff0c;深圳市将建设超充站300座&#xff0c;“超充/加油”数量比在国内率先达到1:1&#xff1b;2030年&#xff0c;超充站将增至1000座&#xff0c;完成超充骨干网建设&#x…

理论学习:使用early stopping解决神经网络过拟合问题,early stopping是什么?

Early stopping 是一种用来防止神经网络过拟合的正则化技术&#xff0c;其核心思想非常直接&#xff1a;在训练过程中定期检查模型在一个或多个验证集上的性能&#xff0c;并在性能不再显著提升时停止训练。这种方法既简单又有效&#xff0c;因为它利用了一个观察&#xff1a;训…

Linux课程四课---Linux第一个小程序(进度条)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

openxml对worksheet数值化

如果您想要将单元格中的公式直接替换为其计算后的数值&#xff0c;可以使用 OpenXML SDK 的 CellValue 属性来获取计算后的数值。以下是修改后的代码&#xff1a; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Spreadsheet; using System;public cl…

【Docker】常用命令 docker build

文章目录 基本用法常用选项-t&#xff1a;指定镜像名称和标签--build-arg&#xff1a;设置构建参数-f&#xff1a;指定Dockerfile文件名 实际示例构建一个基于Node.js的Web应用镜像构建一个基于Python的API应用镜像 总结 在深入探讨 docker build命令之前&#xff0c;我们首先…

从入门到精通:深入解析IO流之FileWriter类的使用技巧!

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

微服务篇-C 深入理解第一代微服务(SpringCloud)_III 深入理解Ribbon负载均衡和Feign远程服务调用

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;引用请注明原作者&#xff0c;严禁复制转载 Part 1 理论部分 1 什么是客户端负载均衡&#xff1f; 在SpringCloud中&#xff0c;使用Ribbon作为负载均衡客户端实现客户端负载均衡。 …

前端面试拼图-知识广度

摘要&#xff1a;最近&#xff0c;看了下慕课2周刷完n道面试题&#xff0c;记录并添加部分可参考的文档&#xff0c;如下... 1. 移动端H5 click有300ms延迟&#xff0c; 如何解决&#xff1f; 背景&#xff1a;double tap to zoom 移动端H5中的300ms点击延迟问题通常是由浏览…