Linux 基本入门
目录
Linux 大概了解
搭建 Java 部署环境
apt
JDK
MySQL
部署 Web 项目到 Linux
环境配置
数据准备
程序配置文件修改
构建项目并打包
上传 jar 包到服务器
开放端口号
验证程序
常见问题
杀掉进程
完!
Linux 大概了解
Linux 严格意义上只是一个“操作系统内核”。
一个完整的操作系统 = 操作系统内核 + 配套的应用程序
Linux 是一个完全开源免费的的内核,不同公司 / 开源组织为其提供了不同的配套程序,这就构成了不同的“发行版”。
Linux 自身提供了一些 API,供程序员调用来完成一些复杂的编程任务。但由于 Java 具有跨平台的特性,对相关接口已经进行了封装,我们主要需要学习一些 Linux 的命令。
搭建 Java 部署环境
apt
Linux 软件包管理工具,用于在 Linux 发行版上安装,更新,管理 deb 软件包
大多数 apt 命令必须以具有 sudo 权限的用户身份运行
如果当前用户已经是 root ,可以直接使用命令,而不需要 sudo
apt 是在可用软件包的数据库上进行工作,如果数据库没有更新,系统不知道有何软件包可以使用,在安装任何 Linux 系统之后,首先就是要更新 apt 数据库
JDK
注意:此处安装的 jdk 是 OpenJDK,OpenJDK 是一个开源版本的 jdk,和 Oracle 官方的 jdk 略有差别,此处我们使用 OpenJDK 即可~
安装完成后,可以使用 java -version 命令来检查是否安装成功
MySQL
使用 apt 安装 MySQL
默认是 MySQL 设置是不安全的,MySQL 安装提供了一个安全脚本,用于解决不安全的默认选项
默认下载的 MySQL 是没有密码的,需要连接 mysql 后设置密码
设置密码的时候,因为我们前面设置了 MySQL 的安全设置,所以密码强度必须要符合要求
这里补充一些 MySQL 的常见命令:
部署 Web 项目到 Linux
什么是部署???
首先了解一下“环境”这个概念。
开发环境:开发人员写代码用的机器
测试环境:测试人员测试代码用的机器
生产环境:最终项目发布时候使用的机器,需要极高的稳定性
当我们把程序安装到生产环境的时候,这个过程就称为“部署”,也叫做“上线”。
一旦程序部署成功,那么这个程序就能被所有用户访问到。
环境配置
数据准备
需要按照之前的数据库表脚本,在服务器上运行,建立相同的表结构
此时就使用到了上面补充的 MySQL 相关命令,使用密码进入 Linux 的 MySQL,然后将数据库脚本运行,建立相同的表结构。
程序配置文件修改
实际工作中,开发环境,测试环境,生产环境的配置都是不一样的。
最明显的一点就是 MySQL 数据库密码,我们在开发环境中的数据,都是 mock 的,一点不重要,被黑客窃取了也无所谓,可以设置简单密码 123456。但是开发环境中的 MySQL 密码,这可是关乎用户数据安全滴,一定要设置复杂密码~
我们可以针对不同的环境,设置不同的配置
针对不同平台,创建不同的配置文件,要求名字为:application-XXX.yml
dev 一般表示开发环境,prod 一般表示生产环境,即线上环境
还需要再配置 Maven 中读取环境配置变量
此时 maven 中就会出现对应的环境包
构建项目并打包
在本地使用 maven 进行打包
注意:如果 Test 代码中有与配置环境相关的操作(比如数据库的相关操作),打包会失败,可以点击下图中的图标,跳过测试
2. 点击 clean 后再点击 package
上传 jar 包到服务器
上传 jar 包
还需要在 Linux 中下载一个上传 jar 包的服务
之后找到本地的 jar 包,然后直接拖入到 xshell 窗口即可完成文件的上传
运行程序:
开放端口号
如果外网需要访问该服务,需要先服务器防火墙开放对应的端口号
以阿里云服务器举例:
如果要开放多个端口号,以逗号进行分割
验证程序
此时就可以打开浏览器访问项目:
http://IP:Port/blog_login.html
此时的 IP 就不再是 127.0.0.1 了,而需要改成我们的云服务器的 IP,Port 改为项目的端口号
常见问题
杀掉进程
如果我们需要重启服务,或者重新部署等,都需要先停止之前的服务