论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
主机系统
›
linux
›
前后端分离项目部署服务器教程--实践成功 ...
前后端分离项目部署服务器教程--实践成功
杀鸡焉用牛刀
金牌会员
|
2024-6-14 12:52:58
|
显示全部楼层
|
阅读模式
楼主
主题
668
|
帖子
668
|
积分
2004
花了快要一天部署前后端的项目,写一个日志纪录一下,话说孰能生巧。明天把服务器恢复初始在部署一下。
项目介绍
我部署的是前后端分离的项目,前端是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} ]; then
kill -9 $pid
echo "kill $PORT"
else
echo '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/nginx
cd /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/mysql
cd /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链接服务器上面的数据库。
还必要设计服务器的防火墙,运行对应的后端请求端口通过。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
杀鸡焉用牛刀
金牌会员
这个人很懒什么都没写!
楼主热帖
手把手带你通过API创建一个loT边缘应用 ...
Ajax+WCF+MySQL实现数据库部署并调用 ...
Apache Hudi 在袋鼠云数据湖平台的设计 ...
揭秘 ChunJun:如何实现 e2e&session ...
第4章 复合类型
开源轻量级工作流WorkflowCore介绍 ...
Maven打包遇到No compiler is provided ...
背八股文的都是什么水平
Java 根据模板导出PDF
算法学习-1 算法复杂度
标签云
挺好的
服务器
快速回复
返回顶部
返回列表