- 一: 搭建 Java 部署环境
-
- 1: 安装 JDK
- 2: 安装 Tomcat
-
- 总结
- 3: 安装 MySQL
-
- (1): 依次安装
- (2): 更改配置
- (3): 启动
- (4): 测试连接
- 二: 部署 web 项目
-
- 1: 给服务器准备好依赖的数据
- 2: 微调我们的 Java 代码
- 3: 重新打包
- 4: 上传到服务器上
- 5: 验证
一: 搭建 Java 部署环境
之前说过 yum
这个命令了,是"包管理器",可以理解为他就像是"应用商店",我们需要安装 JDK,Tomcat,还有Mysql
,当然,我们下载需要用 yum install
,必须使用管理员权限(root)
yum list | grep [软件包关键字]
功能:查看软件包列表
yum install [软件包名字]
功能:安装软件包(需要管理员权限)
yum remove [软件包名字]
功能:卸载软件包(需要管理员权限)
1: 安装 JDK
首先,我们先搜索一下,看看 yum 上关于 jdk 有没有,以及叫什么名字,我们可以通过 yum list
命令就能列出来 相应的服务器上所有的软件包的名字(当然不要就这样敲,这样敲会把所有东西都列出来,会非常多,我们搭配 grep 来使用:yum list | grep gdk
),只搜寻jdk的:
这些版本都是不一样的,所以有好多,我们要认准这个标志:
devel(表示开发工具包,也就是 jdk),东西最全,x86_64表示是这个软件包适用于 cpu 是64位的 x86 cpu(我们现在服务器用的cpu主要都是 x86 64位),
上面有个.i686
的是32位的,差别很大
我们把上面那个64位的复制下来(
ctrl+insert
)
yum install java-1.8.0-openjdk-devel.x86_64
我安装过了,第一次记得按y
验证是否安装成功,输入javac
查看
注意
此处我们安装的 jdk 是 OpenJDK ,和我们之前学 Java 用的 JDK 还不是一个,咱之前在 windows 上安装的 JDK 是 Oracle 官方的 JDK,OpenJDK 是 开源组织开发的另一个 JDK,虽然不是同一个,但是问题不大,都是用相同的 JVM Hostspot.(整体差别很小,所以没有必要去安装 Oracle JDK)
2: 安装 Tomcat
我们发现yum上面虽然有 tomcat,但是版本比较老,是 7.0系列的,而我常用的是 8.5系列的,因为我们也知tomcat,JDK,Servlet,mysql
这种版本都要匹配才稳定,所以我们需要进入tomcat官网进行下载:https://tomcat.apache.org/
可能有些拖拽不成功,因为拖拽上传依赖 rz
命令,需要先 yum install lrzsz
来安装依赖命令,才能上传,rz
把 windows 上的文件 传给 Linux 服务器,sz
把 Linux 上的文件传给 Windows
然后我们需要对 这个文件解压缩:unzip [压缩文件]
进入 文件夹查看:
接下来就是启动tomcat了:
要想启动 tomcat,需要用到
startup 脚本
,其中.bat
是给 windows 使用的,.sh
是给 Linux 使用的…
首次启动我们需要先给所有的
.sh
文件设置 可执行权限
先cd 到 bin
目录下,然后执行chmod+x *.sh
(给目录中所有.sh后缀的文件都加上可执行权限),加过之后,后面就不用加了
在输入:sh startup.sh
启动脚本
总结
1: 先在官网下载 .zip 包
2: 把 zip 传到 linux 上,直接拖进去就行,不行就yum install lrzsz
命令先下载
3: 使用unzip
命令进行解压缩,同样可能也需要先下载
4: 切换到 bin 目录给所有.sh
加上可执行权限:chmod+x *.sh
5:sh startup.sh
启动 romcat
(前四步首次使用需要做的,后面就不需要了,且才相关目录里执行命令)
如何验证tomcat是否启动成功?
1: 查看 tomcat 进程:
ps aux | grep tomcat
,ps命令
相当于windows上的任务管理器,会打印出当前主机的所有进程,grep tomcat
按照 tomcat 关键字来进行匹配
2: 查看 tomcat 的端口,默认是 8080
看下端口号是否被绑定:netstat -anp | grep 8080
有这个就是启动成功
如果端口号被占用了,可以自己修改:
找到conf
这个目录的server.xml
vim server.xml
进入编辑
找到这俩端口,改了就行
3: 还可以验证一下看能否访问 tomcat 的欢迎页面
如果能访问,就启动成功外网IP+8080(自己设的端口号)
就行了
可能有些人买了服务器,并没有展示出来,因为云服务器厂商,为了保护咱们的服务器不受黑客的攻击,对于哪些端口能被外部访问进行了严格的限制,绝大部分端口在默认的情况下,无法通过外网来访问的,这就需要我们去官网开启
防火墙/安全组
,在后台页面配置,允许哪个/哪些端口可以对外访问,一定要保证 服务器是可访问的才能访问
再把这个加上就行了:
3: 安装 MySQL
我们自己的电脑和Linux 服务器是两台机器,因此,想要让程序在服务器上运行,我们就要给服务器装上 MySQL,这里我参考了以下安装教程:https://zhuanlan.zhihu.com/p/49046496
这里我们安装的 MySQL 孪生兄弟,MariaDB
,这俩的API 都是兼容的,效果一样.同时安装他都是要以 root 用户
进行操作的.
具体步骤:
(1): 依次安装
安装 mariadb 服务:
yum install -y mariadb-server
安装 mariadb 命令行客户端 :yum install -y mariadb
安装 mariadb C library:yum install -y mariadb-libs
安装 mariadb 开发包:yum install -y mariadb-devel
(2): 更改配置
通过
vim
按下i
进入插入模式更改以下配置,要细心操作,最后按下esc
在按下:wq
保存退出
- 更改:
/etc/my.cnf.d/client.cnf
文件
[client] 下加一行配置default-character-set=utf8
vim /etc/my.cnf.d/client.cnf
效果:
- 更改
/etc/my.cnf.d/mysql-clients.cnf
文件
[mysql] 下加一行配置default-character-set=utf8
vim /etc/my.cnf.d/mysql-clients.cnf
效果:
- 更改
/etc/my.cnf.d/server.cnf
配置
[mysqld] 下加配置
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
sql-mode = TRADITIONAL
vim /etc/my.cnf.d/server.cnf
效果:
(3): 启动
启动服务:
systemctl start mariadb
设置服务开启自启动:systemctl enable mariadb
查看服务状态:systemctl status mariadb
注意到 Active 状态为active (running)
(4): 测试连接
使用命令行客户端尝试连接:mysql -uroot
查看 mariadb 版本号:select version();
查看字符集配置:show variables like '%char%';
好了,到这里就大功告成了
注意:我这里是没有设置密码直接登录的,因为我的数据库啥值钱的都没有,也不怕别人折腾,就懒得设了
二: 部署 web 项目
1: 给服务器准备好依赖的数据
之前的数据库跟这里的数据库是没关系的,我们需要把之前的数据给复制过来
成功导入!!
2: 微调我们的 Java 代码
之前我们在写 java 代码的时候,访问数据库有一个密码,而这里云服务器上的数据库的密码是不一样的,我们云服务器上根本就没有设置密码,是空字符串
3: 重新打包
这里要用我们原始的打包过程,需要基于 maven 的 package 操作来生成 war 包!首先就是先在pom.xml
里面设置成war包,名字就设置为 blogSystem
然后再左侧的target目录下有生成的 war 包
4: 上传到服务器上
一个字: 拖!把刚刚的 war 包拖到我们云服务器的 webapps目录下,tomcat如果在运行中,就会自动对 war 进行解压缩
5: 验证
进行登录查看是否成功:博客系统(用户名:lisi 密码:123)
到这里,web项目就部署完成了!!!(由于背景图有点大,可能加载有点慢,这是正常现象)
我们在遇到问题的时候不要害怕一是我们可以通过抓包来查看问题原因,还有就是要习惯于看 logs 日志文件寻找问题,出错了就找最新的文件日期,最好全都看…