前后端分离项目服务器部署

文章目录

  • 前言
  • 准备工作
  • 安装jdk1.8
  • 安装nginx
    • 安装库
    • 解压、编译nginx并安装
    • nginx 命令
    • 测试nginx
  • 安装mysql
    • 卸载mariadb
    • 用root用户登录系统,增加mysql用户和组
    • 准备数据目录
    • 初始化MySQL
    • 将mysql加入到服务中
    • 编辑配置文件,保存退出
    • 启动mysql
    • 配置环境变量
    • 设置开机启动
    • 测试登录成功
    • 修改初始密码
  • Vue项目部署
    • 设置vue项目结构中的文件
    • 打包vue项目
    • 上传dist包到服务器项目目录
    • 修改nginx配置文件
    • 执行命令重启
  • Java部署
    • idea打包
    • 上传到服务器
    • 编写脚本
  • 导入数据库
  • 测试
  • 其他

前言

本文介绍了前后端分离项目在服务器上的部署流程,包括环境准备、项目部署、配置和测试等步骤。

准备工作

https://www.xshell.com/zh/
在这里插入图片描述
准备好下面这些软件,上传到tmp中
在这里插入图片描述

安装jdk1.8

tar -zxvf /tmp/jdk-8u371-linux-x64.tar.gz -C /usr/local/
mv /usr/local/jdk1.8.0_371 /usr/local/javavi /etc/profile# 按shift + G 快速到达文件末尾   再按下键盘的a键 进入 insert 模式export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH# 按下 esc 退出insert模式  再输入 :wqsource /etc/profile# 验证
java -version

在这里插入图片描述

安装nginx

安装库

yum install gcc-c++ -y
yum install -y pcre pcre-devel -y
yum install -y zlib zlib-devel -y
yum install -y openssl openssl-devel -y

解压、编译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 命令

#创建软连接,让系统识别Nginx命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/#检查文件是否正确
nginx -t# 启动
nginx    ps -ef | grep nginx  # 查看
./nginx -s stop      # 停止
./nginx -s reload    # 重启

测试nginx

在这里插入图片描述

安装mysql

卸载mariadb

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

用root用户登录系统,增加mysql用户和组

# 添加用户组
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysql

准备数据目录

mkdir -p /app/data
chown mysql.mysql /app/data/
chmod 750 /app/data

初始化MySQL

    
cd /usr/local/mysql    
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/app/data --initialize

在这里插入图片描述

将mysql加入到服务中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

编辑配置文件,保存退出

[mysqld]
datadir=/app/data
basedir=/usr/local/mysql
socket=/app/data/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=/app/data/mysqld.log
pid-file=/app/data/mysqld/mysqld.pid
[client]
socket=/app/data/mysql.sock

启动mysql

bin/mysqld_safe --user=mysql &

配置环境变量

 vim /etc/profile
#添加下面一行
export PATH=$PATH:/usr/local/mysql/binsource /etc/profile

设置开机启动

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql.server
[root@localhost mysql]# chkconfig --add mysql.server

测试登录成功

在这里插入图片描述

修改初始密码

SET PASSWORD = PASSWORD('123456'); use mysql;
update user set host ='%' where user ='root' and host ='localhost';
flush privileges;
exit;

Vue项目部署

设置vue项目结构中的文件

在这里插入图片描述

打包vue项目

在控制台中输入打包命令

npm run build

在这里插入图片描述

上传dist包到服务器项目目录

在这里插入图片描述

修改nginx配置文件

vi /usr/local/nginx/conf/nginx.conf

配置文件修改内容

server {listen       80;server_name  localhost;location / {root   /home/server/honey2024/vue/dist;index  index.html index.htm;try_files $uri $uri/ /index.html;}
}

执行命令重启

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

Java部署

idea打包

在这里插入图片描述

上传到服务器

在这里插入图片描述

编写脚本

start.sh

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

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

导入数据库

新建数据库,比如 manager,导入对应的sql脚本
在这里插入图片描述
服务器上可以外置application.yml 覆盖配置
在这里插入图片描述
赋予权限

在这里插入图片描述

测试

启动后端:./start
查看日志: tail -f server.log
后端启动成功
在这里插入图片描述
最后,不要忘记打开防火墙端口 9090
在这里插入图片描述

打开 http://服务器ip 访问项目,输入账号密码,如果正常登录即表示部署成功

其他

如果你项目本地有图片文档,加载不出来
解决:拷贝本地的 files文件夹 到服务器上 即可。
在这里插入图片描述

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

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

相关文章

linux安全--DNS欺骗,钓鱼网站搭建

目录 一,实验准备 首先让client能上网 1)实现全网互通,实现全网互通过程请看 2)SNAT源地址转换 3)部署DHCP服务 4)配置DHCP服务 5)启动服务 6)安装DNS服务 7)DNS配置 8)启动DNS…

软考证书=职称证书?

官方的回答 根据《计算机技术与软件专业技术资格(水平)考试暂行规定》(国人部发〔2003〕39号)规定,通过考试并获得相应级别计算机专业技术资格(水平)证书的人员,表明其已具备从事相…

redis06 redis事务

思维草图 redis事务认识 redis事务是一个单独的隔离操作,事务中的所有命令都会序列化、按顺序地执行,事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 redis事务的主要作用就是串联多个命令防止别的命令插队。 Multi、Exec、…

【小白学机器学习5】MSE, RMSE,MAE, MAPE, WMAPE

目录 1 评价误差的各种度量指标 2 从误差的评价开始捋这个问题 2.1 误差问题的由来:回归模型预测值和真实值的差距 2.2 如何评价某函数的预测值是否足够好? 如何比较不同的预测函数的预测值的好坏呢? 2.3 最小二乘法:应该叫最…

vue实现图片上传至oss,返回url插入数据库,最后在前端页面上回显图片

vue前端上传图像 上传图片 使用上传图片的upload组件 <el-form-item label"设备图像"><el-upload//设置class样式class"avatar-uploader"//绑定上传路径:action"uploadUrl"//携带token值:headers"tokenInfo":show-file-lis…

信息系统安全与对抗-作业2

目录 1、使用自己姓名拼音创建一个账户&#xff0c; 并使用命令和图形化查看 2、使用自己拼音打头字母创建一个隐藏账户 &#xff0c;并使用命令和图形化查看 3、使用命令启动 telnet 服务 4、使用命令打开防火墙 23 端口 5、熟悉LINUX系统&#xff0c;使用命令行创建用户…

中国古风字体精挑细选,超赞古风字体素材合集

一、素材描述 古风字体给人一种逍遥洒脱&#xff0c;纯粹自然飘逸的感觉&#xff0c;一般人是没有抵抗力的。本套古风字体资源包&#xff0c;包含了将近100款古风字体&#xff0c;字体是很不错的&#xff0c;可以不需要你发挥想象力&#xff0c;也能弄出极品的手写书法字体来&…

Linux文本处理三剑客:awk(常用匹配模式)

在Linux操作系统中&#xff0c;grep、sed、awk被称为文本操作“三剑客”&#xff0c;上三期中&#xff0c;我们将详细介绍grep、sed、awk的基本使用方法&#xff0c;希望能够帮助到有需要的朋友。 1、前言 awk作为一门编程语言还有很多内容&#xff0c;我们继续学习awk。 网…

PackagingTool_x64_v2.0.1.0图片转档打包二进制文件合并字库生成图片软件介绍

继去年12月份发布的打包软件PackagingTool v1.4.0.2之后&#xff0c;今年再度投入精力&#xff0c;完善了软件功能&#xff0c;同时开发了几个更加实用的工具&#xff0c;可助力UI界面的设计开发。当前最新版本为PackagingTool_x64_v2.0.1.0&#xff0c;该版本主界面如下&#…

Vue之监测数据的原理(对象)

大家有没有想过&#xff0c;为什么vue可以监测到数据发生改变&#xff1f;其实底层借助了Object.defineProperty&#xff0c;底层有一个Observer的构造函数 让我为大家简单的介绍一下吧&#xff01; 我用对象为大家演示一下 const vm new Vue({el: "#app",data: {ob…

力扣hot6---双指针

题目&#xff1a; TLE做法&#xff08;哈希两重for循环&#xff09; 标签虽然说是用双指针&#xff0c;但是第一个想法真就不是双指针呀。。。就感觉这道题很像&#xff1a; 力扣hot1--哈希-CSDN博客 于是就用了类似的想法&#xff1a; 首先要排个序&#xff0c;至于为什么要…

守护数据安全:文件备份的终极指南

文件备份&#xff1a;数据安全的重要基石 在数字化时代&#xff0c;数据已成为我们生活和工作中不可或缺的一部分。然而&#xff0c;数据的价值往往伴随着风险。电脑故障、病毒感染、误操作或自然灾害等意外情况都可能导致数据丢失或损坏。一旦这些宝贵的数据丢失&#xff0c;…