SpringBoot快速部署(2)—不使用docker的常规方法

一、软件下载和部署前准备

安装软件
获取软件安装包 然后上传到服务器的 /tmp 目录下。
软件:nginx、jdk、mysql 

下载 X-shell 和 Xftp 注意:这个页面下载安装的才可以免费使用。
家庭/学校免费 - NetSarang Website

 安装jdk 1.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# 下面这两行代码放在profile文件的最下面
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATHsource /etc/profile# 验证
java -version

安装 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
./nginx     # 启动ps -ef | grep nginx  # 查看
./nginx -s stop      # 停止
./nginx -s reload    # 重启

 ps -ef | grep nginx 查看

        此时打开浏览器则可以看到NGINX启动的界面 (默认是 80 端口,如果打开不成功,可以查看服务器的安全组中该端口是否已经打开)

nginx 配置

在 /usr/local/nginx/conf  路径中找到该文件

server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   /home/server/honey2024/vue/dist;index  index.html index.htm;try_files $uri $uri/ /index.html;}
}

配置完之后记得重启 nginx
执行命令重启: 先   cd /usr/local/nginx/sbin  
                         然后         ./nginx -s reload  

安装MySQL

linux 系统会自动携带一个数据库,我们需要把它给卸载掉
通过以下代码可以查看 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

不过这种是没有找到匹配的,继续往下就行。

下载 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

记住临时密码 后面要用

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

[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;

部署前准备—前端需要修改的

.env.production

VUE_APP_BASEURL='http://XXXXXXXX:9090'

main.js 设置全局变量$baseUrl

Vue.prototype.$baseUrl=process.env.VUE_APP_BASEURL

request.js

const request = axios.create({baseURL: process.env.VUE_APP_BASEURL,   // 后端的接口地址timeout: 30000
})

文件上传地址修改、导出地址修改,vue 工程全局搜索 localhost:9090 替换成 $baseUrl

:action="𝑏𝑎𝑠𝑒𝑈𝑟𝑙+′/𝑓𝑖𝑙𝑒/𝑢𝑝𝑙𝑜𝑎𝑑′"∗∗∗∗:𝑎𝑐𝑡𝑖𝑜𝑛="baseUrl+′/file/upload′"∗∗∗∗:action="baseUrl + '/user/import'"

:action="$baseUrl + '/file/upload'"

前端修改好之后将dist包放在对应的目录下,然后启动NGINX即可

二、部署 Java

创建文件夹:mkdir -p /home/server/honey2024
上传 jar 包到服务器 /home/server/honey2024/java 目录
设置 application.yml 覆盖

添加 启动和停止脚本
cd /home/server/honey2024/java
vi start.sh

NAME=springboot-0.0.1-SNAPSHOT.jar
nohup java -jar $NAME > server.log 2>&1 &
echo 'start success'
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

去除脚本文件里的特殊符号(可选)

sed -i 's/\r//' start.sh
sed -i 's/\r//' stop.sh

 

启动后台程序

修改 application.yml 里面的 ip 为服务器的公网 IP
启动程序:

cd /home/server/honey2024/java
./start.sh

实时查看日志:tail -100f server.log 

输入网址后可以查看:(记得在安全组中将后端端口加上打开,否则访问不了)

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

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

相关文章

徐州服务器租用的费用如何?

对于租用徐州服务器大概需要多少费用呢?服务器租用的价格会根据多种因素而不断变化,其中包括服务器的硬件配置、租用所在地区的数据中心和IDC服务商所提供的服务器等级,所以服务器租用的费用是不固定的,那么小万来详细谈一谈这个问…

服务器数据恢复—热备盘未完全启用导致raid5阵列崩溃的数据恢复案例

服务器存储故障: 一台EMC某型号存储由于存储中raid5阵列出现故障导致服务器崩溃,由于数据涉密,需要工程师到现场恢复数据。 服务器数据恢复工程师到现场后对数据进行检测,经过检测发现服务器崩溃是由于raid中某些硬盘掉线所导致。…

云端之上的边缘:解读云计算与边缘计算的战略融合

目录 一、引言 二、云计算的详细解释 云计算的概念 云计算的特点 一、引言 二、虚拟化技术 (一)虚拟化技术的原理 (二)虚拟化技术的优势 三、动态可扩展 (一)动态可扩展的原理 (二&a…

Web前端开发学习资料:深度探索与开发实践

Web前端开发学习资料:深度探索与开发实践 Web前端开发作为互联网时代的核心技能之一,日益受到广泛关注。本文将从四个方面、五个方面、六个方面和七个方面,对Web前端开发的学习资料进行详细解析,旨在帮助初学者和进阶者更好地掌握…

Web前端开发交流群:深度探索、实践与创新的集结地

Web前端开发交流群:深度探索、实践与创新的集结地 在数字时代的浪潮中,Web前端开发扮演着举足轻重的角色。为了促进前端技术的交流与发展,Web前端开发交流群应运而生,成为众多开发者学习、分享、创新的集结地。本文将从四个方面、…

使用 actor-critic 方法来控制 CartPole-V0 游戏

CartPole 介绍 在一个光滑的轨道上有个推车,杆子垂直微置在推车上,随时有倒的风险。系统每次对推车施加向左或者向右的力,但我们的目标是让杆子保持直立。杆子保持直立的每个时间单位都会获得 1 的奖励。但是当杆子与垂直方向成 15 度以上的…

C#自定义类的属性名并且通过反射获取属性名

一般情况下我们的返回实体都为英文命名,某些时候我们想自定义返回的属性名称。在C#中,不能直接通过内置的反射API来获取属性的“自定义名字”,因为属性本身在元数据中并没有这样的概念。但是,可以使用自定义属性(Attri…

qt Json操作

说明 该例子说明了字符串转Json对象&#xff0c;再从Json对象转字符串 代码 #include <QCoreApplication> #include <QTextCodec> #include <iostream> #include <QDebug> #include <QJsonDocument> #include <QJsonObject>using names…

安装torch报cannot uninstall TBB,its a distutils installed project

pycahrm的设置-解释器安装torch&#xff0c;去anaconda文件夹的Lib下site-packages里找&#xff0c;TBB名称的egg.info的文件删掉即可&#xff0c;然后再次安装torch成功

SQLynx荣登Web SQL工具榜首,中国软件快速崛起

近年来&#xff0c;随着互联网技术的迅猛发展&#xff0c;数据库管理工具也在不断进步和创新。 作为一种便捷且高效的数据库管理方式&#xff0c;Web SQL IDE工具逐渐成为开发者和数据库管理员的首选。在众多Web SQL工具中&#xff0c;SQLynx凭借其卓越的功能和用户体验&#x…

随便写写之——CSDN个人主页布局

最近一直在看题&#xff0c;真的好无聊&#xff0c;晚上睡觉前脑子里想的都是JS&#xff0c;不会是焦虑症犯了吧&#xff0c;赶紧写点东西&#xff0c;现在是上午9点38分&#xff0c;想着写个csdn的布局练练手吧。 现在是11点半&#xff0c;写个将近两个小时就写了那么点&#…

web前端教育机构:深度剖析与选择指南

web前端教育机构&#xff1a;深度剖析与选择指南 在数字化时代&#xff0c;web前端技术已成为互联网行业的核心驱动力。为了培养更多优秀的前端开发者&#xff0c;web前端教育机构如雨后春笋般涌现。然而&#xff0c;面对众多的教育机构&#xff0c;如何选择一家适合自己的机构…

如何有效处理服务器后台密码暴露

服务器后台密码的暴露是信息安全领域中的严重事件&#xff0c;它可能引发未经授权的数据访问、恶意软件植入或系统功能滥用等一系列问题。本文将探讨几种处理服务器后台密码暴露的有效策略&#xff0c;包括紧急响应步骤、密码安全增强措施及长期预防机制&#xff0c;并提供实际…

开关电源RCD吸收电路解析与设计

开关电源RCD吸收电路解析与设计 引言 在电源设计中,RCD电路以其出色的能量吸收能力,有效降低电阻损耗,从而被广泛应用。然而,对于新手来说,理解和掌握开关电源中的RCD吸收电路可能是一个挑战。本文旨在深入剖析RCD吸收电路的设计原理和步骤,帮助读者更好地理解和应用这…

Oracle考证对我们有什么帮助?

提升专业技能&#xff1a; Oracle认证考试要求考生掌握Oracle数据库管理的核心知识和技能&#xff0c;通过学习和考试&#xff0c;考生能够系统地掌握Oracle数据库的管理、优化、备份恢复等关键技术&#xff0c;从而显著提升个人在Oracle数据库领域的专业技能。增强职业竞争力&…

流媒体传输基本原理-RTSP

一、相关的基本概念 媒体&#xff1a;信息的载体 多媒体&#xff1a;多种媒体的组合体。 传媒&#xff1a;全称是“传播媒体”&#xff0c;媒体概念中偏重于传播方面的技术组织体系行业。 流媒体&#xff1a;流式地传输媒体&#xff0c;是传播媒体的一种技术&#xff0c;将媒体…

硬件开发笔记(十七):RK3568底板电路串口、485、usb原理图详解

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/139589308 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

ROS IMU航向锁定(Python实现)

ROS IMU航向锁定&#xff08;Python实现&#xff09; 实现思路 让大管家rospy发布速度控制话题/cmd_vel设定一个目标朝向角&#xff0c;当姿态信息中的朝向角和目标朝向角不一致时&#xff0c;控制机器人转向目标朝向角 代码示例 要使用Python实现IMU航向锁定的功能&#x…

爬虫案例:建设库JS逆向

爬虫流程 1. 确定目标网址和所需内容 https://www.jiansheku.com/search/enterprise/ 只是个学习案例&#xff0c;所以目标就有我自己来选择&#xff0c;企业名称&#xff0c;法定代表人&#xff0c;注册资本&#xff0c;成立日期 2. 对目标网站&#xff0c;进行分析 动态…

认识Spring 中的BeanPostProcessor

关于BeanPostProcessor和BeanFactoryPostProcessors&#xff0c;将分2篇文章来写&#xff0c;这篇文章是对Spring 中BeanPostProcessor进行了总结 先看下大模型对这个类的介绍&#xff0c;随后再看下这两个类的示例&#xff0c;最后看下这两个类的实现。 这两个类从名字看都很类…