首页 > 系统相关 >分享记录在使用ubuntu部署项目(api接口项目)的步骤+自己踩过的坑(亲身经历,坑挺多的)

分享记录在使用ubuntu部署项目(api接口项目)的步骤+自己踩过的坑(亲身经历,坑挺多的)

时间:2024-06-22 21:00:58浏览次数:21  
标签:tomcat mysql 亲身经历 sudo api MySQL 安装 虚拟机 ubuntu

安装虚拟机VMware Workstation Player/Pro

优点:
高性能:VMware的虚拟机通常具有更好的性能和稳定性。 丰富的功能:特别是Pro版本,支持快照、多级别快照、克隆虚拟机等高级功能。
商业支持:有商业支持选项,适合企业用户。
缺点:
费用:Workstation Player是免费的,但功能有限。Workstation
Pro是收费软件。 复杂性:功能强大,但可能对初学者来说稍微复杂一些。

大家可以自行选择虚拟机安装

下载Ubuntu及安装

安装Ubuntu虚拟机
1、下载Ubuntu镜像:从Ubuntu官方页面https://ubuntu.com/download/desktop下载Ubuntu的ISO镜像。
2、安装虚拟机软件:例如,VirtualBox或VMware。
3、创建新虚拟机: 打开虚拟机软件,选择“新建虚拟机”。
选择Linux操作系统,并选择Ubuntu。 分配适当的内存(至少2GB)。 创建一个新的虚拟硬盘(至少20GB)。
4、安装Ubuntu:
启动虚拟机,选择刚才下载的ISO镜像。 按照屏幕上的提示完成Ubuntu的安装。

这块没什么坑,安装也比较傻瓜式安装,所以就粗略过,有没安装过虚拟机的小伙伴不熟悉这块遇到什么问题可以留言。

在Ubuntu系统内安装必要的环境如mysql、jdk、tomcat、ssh

1. 安装MySQL

1、更新包列表并安装MySQL服务器:

sudo apt update
sudo apt install mysql-server

2、安装完成后,运行MySQL安全脚本:

sudo mysql_secure_installation

3、启动MySQL服务并设置开机启动:

sudo systemctl start mysql
sudo systemctl enable mysql

4、登录MySQL并创建数据库和用户:

sudo mysql -u root -p
CREATE DATABASE my_database;
CREATE USER 'my_user'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

注意:这块有个坑,自MySQL
8.0以来,默认的安装过程已经简化了很多安全设置步骤。如果需要手动设置root密码和进行其他安全配置,可以使用MySQL命令行。

手动设置MySQL root密码和进行安全配置
1.启动MySQL服务(如果未启动):

sudo systemctl start mysql

2.登录MySQL:
使用以下命令以root身份登录MySQL(如果未设置密码,可以直接回车):

sudo mysql -u root

3.设置root用户密码:
在MySQL命令行中,执行以下命令来设置root用户密码(替换your_new_password为你想设置的密码):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
FLUSH PRIVILEGES;

4.移除匿名用户:

DELETE FROM mysql.user WHERE User='';
FLUSH PRIVILEGES;

5.禁止root用户远程登录:

UPDATE mysql.user SET Host='localhost' WHERE User='root' AND Host='%';
FLUSH PRIVILEGES;

这块建议不要禁止

6.移除测试数据库:

DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
FLUSH PRIVILEGES;

7.退出MySQL:

EXIT;

2. 安装JDK

1.安装OpenJDK 11(或你需要的JDK版本):

sudo apt update
sudo apt install openjdk-11-jdk

2.验证JDK安装:

java -version

3.安装Tomcat

1.下载并安装Tomcat:

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.60/bin/apache-tomcat-9.0.60.tar.gz
tar xzf apache-tomcat-9.0.60.tar.gz
sudo mv apache-tomcat-9.0.60 /opt/tomcat

这块地址可以自行去tomcat官网查看,因为这个地址不能确保你们安装时该地址还存在。
2.配置Tomcat环境变量:
编辑~/.bashrc文件,添加以下行:

export CATALINA_HOME=/opt/tomcat

修改文件可能会遇到权限问题
要修改.bashrc文件的权限问题,你需要确保当前用户对其具有写权限。
1.检查文件权限:在终端中运行以下命令查看文件权限:ls -l /home/username/.bashrc
2.如果权限不正确,请更改权限:如果文件权限不正确,可能需要使用chmod命令来更改文件权限,或者使用chown命令来更改文件所有者:
确保文件属于当前用户:sudo chown username:username/home/username/.bashrc
确保当前用户对文件有写权限:chmod u+w /home/username/.bashrc
3.编辑.bashrc文件:使用文本编辑器(如nano或vim)打开并编辑.bashrc文件:nano /home/username/.bashrc
4.使更改生效:
运行以下命令使更改生效:source ~/.bashrc

注意: username 改为你电脑的用户名

通过以上步骤,你应该能够成功设置MySQL root用户密码并修改.bashrc文件。

3.启动Tomcat:

$CATALINA_HOME/bin/startup.sh

4.访问Tomcat管理界面:
在浏览器中打开 http://localhost:8080 查看Tomcat是否成功启动。
可以通过下方指令查看本机ip

ip addr show

你会看到类似以下的输出:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:4c:19:0c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic enp0s3
       valid_lft 86338sec preferred_lft 86338sec
    inet6 fe80::a00:27ff:fe4c:190c/64 scope link 
       valid_lft forever preferred_lft forever

在上面的输出中,inet 192.168.1.100/24 表示你的IP地址是 192.168.1.100。

然后在你本地电脑通过ip来访问,如:http://192.168.1.100:8080如果访问到说明tomcat已经部署成功。

4. 部署Spring Boot + MyBatis项目

1.打包Spring Boot项目为WAR文件:
在Spring Boot项目根目录下运行:

./mvnw clean package

在target目录下会生成一个WAR文件(假设为myapp.war)。
2.部署WAR文件到Tomcat:
将生成的WAR文件复制到Tomcat的webapps目录:

sudo cp target/myapp.war /opt/tomcat/webapps/

3.重启Tomcat:

$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh

4.访问部署的应用:

在浏览器中打开 http://localhost:8080/myapp 查看Spring Boot应用是否成功启动。

外网访问localhost可以改为ubuntu服务ip地址

将你项目打包好的war包部署到tomcat

可以通过命令行部署或者通过文件管理工具FileZilla连接ubuntu服务器部署
将你的war包上传到tomcat目录下的webapps目录
上面已经有命令行的方式,通过FileZilla的方式有空再补充上。

标签:tomcat,mysql,亲身经历,sudo,api,MySQL,安装,虚拟机,ubuntu
From: https://blog.csdn.net/qq_43158726/article/details/139886904

相关文章

  • 关于pulp.solve()的报错,pulp.apis.core.PulpSolverError: Pulp: Error while executin
     File"E:\python\建模\.venv\Lib\site-packages\pulp\apis\coin_api.py",line112,inactualSolve  returnself.solve_CBC(lp,**kwargs)      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File"E:\python\建模\.venv\Lib\site-packages\pulp\a......
  • P10538 [APIO2024] 星际列车 题解
    题意:有\(n\)个行星,编号为\(0\simn-1\)。有\(m\)辆星际列车,第\(i\)辆列车在时刻\(a_i\)从行星\(x_i\)出发,在时刻\(b_i\)到达行星\(y_i\),代价为\(c_i\)。换乘条件为上一辆车的终点和下一辆车的起点相同,且上一辆车到达时刻\(\le\)下一辆车出发时刻。你需要吃......
  • Vue3的Composition API:Composition API是Vue3的一大新特性,它提供了一种更灵活的方式来
    1.介绍1.什么是CompositionAPI CompositionAPI是Vue.js3.0中引入的一项新特性,提供了一种新的、更灵活的方式来组织Vue组件的代码。CompositionAPI是基于函数的,并允许在组件的setup函数中直接处理响应式数据和生命周期钩子,使得代码更加清晰,更便于维护和测......
  • 架构师必知的11种API性能优化方法
    前言接口性能优化是后端开发人员经常碰到的一道面试题,因为它是一个跟开发语言无关的公共问题。这个问题既可以很简单,也可以相当复杂。有时候,只需要添加一个索引就能解决。有时候,代码需要进行重构。有时候,必须增加缓存。有时候,需要引入一些中间件,例如消息队列(MQ)。有时候,需......
  • [本科项目实训] 行动模拟实现 与 FastAPI 对应交互-V0
    to2024/06/01行动模拟该项目拟通过大语言模型分析拆解人类描述的任务,自动的调用行动库进行执行并完成内容的汇报。因而需要针对任务对大模型进行微调(比如本项目使用的p-tuningv2),行动模拟即针对微调结果将大模型与行动库进行对接,模拟实际场景下的函数输入输出。第一步,即加......
  • 使用 Web Share API 分享内容
    WebShareAPI是一个新的标准,允许网页向操作系统的原生分享功能发起请求。这使得用户可以更方便地分享网页上的内容到其他应用或者社交媒体上。什么是WebShareAPI?WebShareAPI是一个JavaScriptAPI,允许网页开发者通过调用浏览器原生分享功能,让用户分享内容到其他应......
  • Ubuntu系统下修改网卡IP地址
    Ubuntu系统下修改网卡IP地址一、Ubuntu系统介绍1.1Ubuntu简介1.2Ubuntu网络配置方式二、本地环境介绍2.1本地环境规划2.2本次实践介绍三、检查本地环境3.1检查本地操作系统版本3.2检查系统内核版本四、配置网卡IP地址4.1备份网卡配置文件4.2查看当前IP地址4.3......
  • ubuntu修改root密码以及开启root ssh远程连接
    root密码ubuntu默认的root用户是没有固定密码的,它的密码是随机产生并且动态改变的,即每次开机都有一个新的root密码,所以拿到一台新的Ubuntu系统服务器后,我们需要设置一个固定的root密码。修改root用户密码sudopasswd然后它会提示你输入安装操作系统时初始用户的密......
  • mach(zig):从webGPU api了解渲染通道&shader
    学opengl3.3教程,你将了解通用图形渲染api。学vulkan,你将用1000+行代码画一个三角形。学webGPUapi,你将获得跨平台的图形api设计规范。reddit上有人说:OpenGL只是与3D硬件连接的几个应用程序接口之一。所有这些应用程序接口的基本概念都是一样的,即使应用程序本身的方式略有不......
  • 314 API Versions 01(UrlSegmentApiVersionReader)
    示例1、准备两个版本的CitiesController.cs删除不在需要的TestController.csControllers文件夹下新建v1文件夹,将CitiesController.cs移动到v1中,弹出的对话框点击OK和Yes;新建v2文件夹,拷贝一份CitiesController.cs,命名空间改成v2;v2CitiesController.cs如下usingSyste......