Linux(在 Linux 上搭建 java 部署环境(安装jdk/tomcat/mysql) + 将程序部署到云服务器上的操作)
目录
🦄 2.1 先在云服务器上,创建和之前 windows 上一样的数据库
🦄 2.3 进入webapp目录下,然后把刚刚打包好的 war 直接拖拽过去
🐲 1. 在 Linux 上搭建 java 部署环境
为了部署 Java web 程序,需要
1. jdk 2. tomcat 3. mysql
🦄 1.1 安装 jdk
- 在 "应用商店" 中搜索 jdk yum list | grep jdk
- 开始下载安装 yum install java-11-openjdk-devel.x86_64
- 输入 javac 验证 jdk 是否安装成功
安装 jdk 的方法有很多,但这里使用 yum(相当于应用商店/软件源) 直接安装 openjdk
之前在 Windows 上用的是 oracle 官方的 jdk
openjdk 是开源社区维护的开源版本 (虽然不同,但功能都是兼容的,差别不大)
Linux 虽然也能安装官方 jdk, 但是比较麻烦
(1) 在 "应用商店" 中搜索 jdk
yum list | grep jdk
可以看到搜索出很多版本的 jdk
里面有很多版本的jdk,现在安装 这个版本的jdk(1.8版本 -- devel(软件开发包) -- X86_64位系统)
然后 ctrl + insert 复制
(2) 开始下载安装 (注意必须是管理员的权限)
需要注意:Linux 上面安装软件会专门有指定的路径
不是你手动指定目录下载,会有自动安装位置进行安排
把刚刚复制的东西粘贴(shift+insert)在 yum install 后面
yum install java-11-openjdk-devel.x86_64
然后他就会自动从网络上下载,下载好后会问你是否需要安装,输入y就可以
(3) 输入 javac 验证 jdk 是否安装成功
🦄 1.2 安装 tomcat
- 下载压缩包
- 上传压缩包给Linux (rz 命令,直接拖拽个过去)
- 解压缩压缩波 (需要使用 unzip)
- 进入 bin 目录
- 给启动脚本增加可执行权限 chmod +x *.sh(这个权限要在 bin 目录下进行)
- 启动 tomcat
验证一下 tomcat 启动成功(ps aux | grep tomcat netstat -anp | grep 8080)
(1) 在 "应用商店" 中搜索 tomcat
yum list | grep tomcat
但是可以看到这个 tomcat.noarch 版本是 7.0 的,版本太老了
之前使用的都是 8.5 系列的,所以这里还是希望安装 tomcat.noarch 8.5 版本的
(2) 直接拖拽 tomcat 8.5 版本的压缩包(zip格式)到 Linux 上
具体安装位置就是,放到你的工作目录中就可以
先搞一个 tomcat 8.5 版本的 格式为 zip 的压缩包
tomcat 8.5 安装包下载
(1) 直接搜 tomcat 官网就可以(Apache Tomcat® - Welcome!)
(2) 找到 tomcat 8 版本的
(3) 下载 zip 格式的(因为 Linux 上默认不支持 rar,最好用 zip)
因为我这里之前是自己在 Windows 上下载了 tomcat 8.5 版本的压缩包,所以现在可以直接把这个压缩包拖到 Linux 上就可以(拖拽到工作目录中)
然后可能就会出现,这拖过去一直没反应,一直传不过去
(3) 如果没有安装成功,那就是没有安装 rz 命令
所以要使用 (输入这行代码进行安装,再输入 y 确认安装)
yum install lrzsz
安装 rz 命令后,就可以直接拖拽了
用 ll 查看当前工作目录中 是否有 tomcat
(4) 使用 unzip 命令进行 解压缩
显示这个找不到 unzip 命令,那就下载这个
yum install unzip
安装好后,就可以 unzip 文件压缩包名 进行解压缩了
出现这个说明解压缩成功
(5) 在bin目录中,需要给这些 .sh 文件加上 可执行权限
chmod +x *.sh
(6) 启动 tomcat
sh startup.sh
(7) 验证一下 tomcat 启动成功
- 通过 ps 验证 (ps aux | grep tomcat)
- 通过 netstat 验证 (netstat -anp | grep 8080)
- 直接通过浏览器访问 tomcat 的欢迎页面
也直接通过浏览器访问 tomcat 的欢迎页面
但是需要打开 防火墙 或者 安全组(这个防火墙是云服务器的)
(1) 如果是 轻量应用服务器, 需要打开 防火墙
(2) 如果是 ECS服务器, 需要打开 安全组
我用的是 阿里云的轻量应用服务器,找到这里的 防火墙
然后新建一个防火墙
输入你的服务器的公网ip然后加上 :8080 如果可以访问到这个页面就说明启动成功了
🦄 1.3 安装 mysql
Linux 安装 mysql 有很多种方式,下面就使用最简单的一种安装方式
使用 yum 安装 mariadb(是 mysql 的同胞兄弟)
(1) 安装
直接复制这四个命令分别执行就可以了,有的命令是有依赖关系的
比如我执行(1)时,(2)和(3)就自动包含在(1)中自己执行了,不管怎么样,4条都复制执行一次就可以了
//(1) 安装 mariadb 服务
yum install -y mariadb-server
//(2) 安装 mariadb 命令行客户端
yum install -y mariadb
//(3) 安装 mariadb C library
yum install -y mariadb-libs
//(4) 安装 mariadb 开发包
yum install -y mariadb-devel
(2) 启动
//(1) 启动服务
systemctl start mariadb
//(2) 设置服务开启自启动
systemctl enable mariadb
//(3) 查看服务状态
systemctl status mariadb
(3) 测试连接
使用命令行客户端尝试连接
mysql -uroot
默认密码是 ""
创建数据库时为了支持中文,统一使用 utf8mb4 字符集
MariaDB [(none)]> create database demo_db charset utf8mb4;
🐲 2. 将[博客系统]部署到云服务器上
前面安装 jdk tomcat mysql 都是为了把我们自己写的页面程序部署到服务器上,下面就进行部署
进入 mysql 直接输入 mysql 就可以; 退出 输入 ctrl + d
- 先在云服务器上,创建和之前 windows 上一样的数据库
- 将博客系统程序代码进行打包(war包)
- 进入webapp目录下,然后把刚刚打包好的 war 直接拖拽过去
🦄 2.1 先在云服务器上,创建和之前 windows 上一样的数据库
博客系统部署到云服务器,此时就要让部署的程序访问云服务器上的数据库了
而之前在 windows 上搞的数据库都是本地数据库的数据, 云服务器上的数据库还啥都没有
那就要构造数据给云服务器上的数据库(复制粘贴 db.sql 的内容,在云服务器的数据库中执行)
需要注意的一点时,在这个 Linux 上创建数据库要指定字符编码格式,
这里创建好后,user表 和 blog表 中放入数据
🦄 2.2 将博客系统程序代码进行打包(war包)
a. 修改 pom.xml, 把打包的类型改为 war,同时设定 war 包名
b. 修改一下连接数据库的代码
c. 进行打包
🦄 2.3 进入webapp目录下,然后把刚刚打包好的 war 直接拖拽过去
war 包拖拽过去后, tomcat 就会自动检测到 war 包,就会自动解压 war 包
相关文章
- Linux下修改Mysql的用户(root)的密码
- Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端
- linux mysql root密码忘记后重置
- linux - mysql 异常:MySQL Daemon failed to start.
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了
- Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
- Linux + apache + php + mysql
- Ruby on Rails 3 Can't connect to local MySQL server through socket '/tmp/mysql.sock' on linux
- MySQL字符数据类型char与varchar的区别
- linux系统部署Java程序获取ip时报Caused by: java.net.UnknownHostException: XXXXXXXXXX: XXXXXXXXXX: Name or service not known
- mysql问题解决SELECT list is not in GROUP BY clause and contains nonaggregated column
- 【Linux基础】linux下修改ls显示的时间格式
- 数据库基础之Mysql(3)mysql删除历史binlog
- MySQL内核月报 2014.09-TokuDB· HA方案·TokuDB热备
- MySQL事务隔离级别理解_解读MYSQL的可重复读、幻读及实现原理
- Mysql索引数据结构有多个选择,为什么一定要是B+树呢?_面试 (MySQL 索引为啥要选择 B+ 树)
- mysql索引类型 normal, unique, full text
- MySQL导入与导出备份详解
- Linux下MySQL源码编译安装(eg:mysql-5.6.27.tar.gz )
- 【实施工程师之家】linux安装mysql(yum安装mysql)
- MySQL保存或更新 saveOrUpdate
- MySQL Study之--Mysql无法启动“mysql.host”
- 亲测linux上安装mysql
- (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记
- Mysql报错:Can't connect to local MySQL server through socket '/tmp/mysql.sock'
- 【Mysql异构实时同步Oracle】OGG12异构同步mysql到oracle(windows mysql实时同步数据到linux oracle)详细文档