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

安装虚拟机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服务器:

c 复制代码
sudo apt update
sudo apt install mysql-server

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

c 复制代码
sudo mysql_secure_installation

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

c 复制代码
sudo systemctl start mysql
sudo systemctl enable mysql

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

c 复制代码
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服务(如果未启动):

bash 复制代码
sudo systemctl start mysql

2.登录MySQL:

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

bash 复制代码
sudo mysql -u root

3.设置root用户密码:

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

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
FLUSH PRIVILEGES;

4.移除匿名用户:

bash 复制代码
DELETE FROM mysql.user WHERE User='';
FLUSH PRIVILEGES;

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

bash 复制代码
UPDATE mysql.user SET Host='localhost' WHERE User='root' AND Host='%';
FLUSH PRIVILEGES;

这块建议不要禁止

6.移除测试数据库:

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

7.退出MySQL:

bash 复制代码
EXIT;

2. 安装JDK

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

c 复制代码
sudo apt update
sudo apt install openjdk-11-jdk

2.验证JDK安装:

c 复制代码
java -version

3.安装Tomcat

1.下载并安装Tomcat:

bash 复制代码
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文件,添加以下行:

bash 复制代码
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:

bash 复制代码
$CATALINA_HOME/bin/startup.sh

4.访问Tomcat管理界面:

在浏览器中打开 http://localhost:8080 查看Tomcat是否成功启动。

可以通过下方指令查看本机ip

bash 复制代码
ip addr show

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

bash 复制代码
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项目根目录下运行:

bash 复制代码
./mvnw clean package

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

bash 复制代码
sudo cp target/myapp.war /opt/tomcat/webapps/

3.重启Tomcat:

bash 复制代码
$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的方式有空再补充上。

相关推荐
V1ncent Chen15 分钟前
MySQL 插入更新语句(insert…on duplicate key update语句 )
数据库·sql·mysql
蛊明36 分钟前
下载CentOS 10
linux·运维·centos
北京-宏哥40 分钟前
Linux系统安装MySQL5.7(其他版本类似)避坑指南
linux·运维·服务器
Aphelios3801 小时前
Linux 下 VIM 编辑器学习记录:从基础到进阶(下)
java·linux·学习·编辑器·vim
Dreams°1231 小时前
【透过 C++ 实现数据结构:链表、数组、树和图蕴含的逻辑深度解析】
开发语言·数据结构·c++·mysql
qw9491 小时前
Linux 高级篇 日志管理、定制自己的Linux系统、备份与恢复
linux·运维·服务器
丶只有影子1 小时前
【Nacos】从零开始启动Nacos服务(windows/linux)
linux·运维·windows·微服务·springcloud
计算机学姐1 小时前
基于SpringBoot的校园消费点评管理系统
java·vue.js·spring boot·后端·mysql·spring·java-ee
青年vs阳光1 小时前
win10把c盘docker虚拟硬盘映射迁移到别的磁盘
运维·docker·容器
代号:猿a1 小时前
【mysql中mvcc的含义和作用及原理】
mysql