部署 Web 项目
1、获取 Linux 环境
推荐的做法:买一个云服务器。(主要是要有一个外网 IP)
好处:① 方便(如果自己搭建,就比较麻烦)、② 便宜(如果只是为了学习使用,最低配置的服务器完全够用,不到 50 元就能买一年使用权)、③有外网 IP,可以部署项目(有了外网 IP,我们部署的项目,别人就可以访问了)。
1.1、如何去买一个云服务器
由于云服务器提供的厂商很多,例如:华为云、腾讯云、阿里云 … 等等,我们只需要选其中最便宜的就可以了。
以购买华为云为例:
1)由于在淘宝中搜索的比较便宜,官网中搜索的比较贵,我就在淘宝上买了。(29元一年,这是我买过最便宜的一个服务器了)
2)直接询问客服怎么操作(注册账号 -> 实名认证 -> 要账号密码)客服帮我们买。
3)客服会让我们选配置、Linux 操作系统是主要的服务器系统(因为要在服务器上面部署项目,所以我们的服务器要使用 Lunix 操作系统),我选的配置如下。
4)设置云服务器的密码。(浏览器中搜索华为云 -> 登录刚才注册的账号 -> 点击右上角的控制台 -> 搜索自己买的服务器(我买的是云耀云服务器) -> 然后就能看到自己的服务器(点击其中的重置密码,第一次买的云服务器是没有密码的,自己要设置一个密码))。
5)服务器防火墙开放 8080 端口。
为了安全考虑,服务器中的端口并不是所有都是开放的,需要去开通端口。
以华为云为例:
点击安全组 -> 点击配置规则
点击入方向规则 -> 点击添加规则 -> 填写信息
如果要开通其他端口,重复上面操作就可以了
1.2、远程操作云服务器
要想在 Windows 下远程连接 Linux 的 ssh 客户端,就需要借助像Xshell这样的终端模拟器软件。
为什么使用 Xshell 而不使用其他的终端模拟器软件:
Xshell 的优点:① 界面设计简洁、人性,使用方便。② 支持标签,打开多个服务器时候很方便,点击标签切换。③ 有免费的版本。
1)官网中下载 Xshell(点击下载 -> 选择家庭个人免费版 -> 然后点击下载)
2)连接云服务器。(进入下载好的 Xshell -> 点击新建 -> 输入新建会话的名称 -> 输入外网 IP -> 输入账号 -> 输入密码)
外网IP:我们买的云服务器外网 IP 地址。
账号:一般账号为 root
密码:前面我们第一次对服务器设置的密码
1.3、在 Linux 系统中搭建 Java Web 的运行环境。
新买的服务器,就像是新的电脑一样,里面没有软件,需要我们去安装一些重要的软件程序。(JDK + Tomcat + MySQL)
① JDK:运行 Java 程序,安装 JDK 是无可厚非的。(JDK1.8)
② Tomcat: ssm 项目不用安装,ssm 项目自带 Tomcat。(Tomcat8.5)
③ MySQL:如果项目要从数据库拉取数据,就要安装。
1)安装 JDK(使用包管理器 yum 来安装)
# 使用命令 yum install java-1.8.0-openjdk-devel.x86_64 -- 安装 JDK1.8)
# 可以输入 javac 来查看是否安装成功 -- 不报错,提示帮助选项
2) 安装Tomcat
(如果不是 selvet 项目,是 ssm 项目,不用安装Tomcat,因为 ssm 项目中自带了 tomcat)
从官网中下载 Tomcat 8.5 软件包:Tomcat
自己在远程的 Linux 操作系统中创建一个目录,把下载好的 Tomcat 压缩包直接拖拽进去。
如果在拖拽过程中发生报错或者卡住进度条不动,需要下载一个软件包,输入下面的指令。
yum install lrzsz
接下来把 Tomcat 进行解压缩,输入下面命令
unzip 包名
3)安装 MySQL。
我们在这里安装的是 MariaDB,在 MySQL 中能执行的命令在 MariaDB 中都能执行,语法基本没有什么区别。
MariaDB 和 MySQL 就像是双胞胎兄弟,基本没有什么区别。
# 执行下面 4 个命令
# yum install -y mariadb-server -- 安装 mariadb 服务
# yum install -y mariadb -- 安装 mariadb 命令行客户端
# yum install -y mariadb-libs -- 安装 mariadb C library
# yum install -y mariadb-devel -- 安装 mariadb 开发包
启动服务器
# systemctl start mariadb
设置服务开启自动启动
systemctl enable mariadb
查看服务状态
systemctl status mariadb -- 如果启动成功、结果是绿的
使用命令行客户端尝试连接
mysql -uroot -- 如果云服务器中的 数据库 有密码需要在后面加上 -p
创建数据库时为了支持中文,统一使用 utf8mb4 字符集
MariaDB [(none)]> create database 数据库名称 charset utf8mb4;
1.4、在云服务器中创建数据库
根据要部署程序所对应的数据库,创建数据库。这个数据库和本地中项目所需的数据库一样,重新创建一次就可以了。
注意:Linux 操作系统区分大小写。
这个步骤很重要,多花一点时间,数据库容易创建出错,如果数据库出错,数据库连接就会有问题
2、把 ssm 项目部署到云服务器
2.1、打包项目
1)更改配置,更改配置很重要,多花一点时间,如果有一些地方没有更改,部署大概率不会成功。(有一些配置要进行更改,比如:连接数据库所需的账号密码,本地中用到的地址改成服务器中的地址,服务器中的地址需要自己创建)。
2)打包 (双击 package)
打包成功。显示如下:
2.2、在服务器中运行项目
1)把包放到服务器中(使用 Xshell 连接远程服务器,把本地的包直接拖拽到服务器中)。
如果在拖拽过程中发生报错或者卡住进度条不动,需要下载一个软件包,输入下面的指令。
yum install lrzsz
包的位置:
2)运行项目
在云服务器中存放包的目录下输入下面的第一条指令:
# nohup java -jar 包名 >> log.log &
# nohup -- 后台运行项目指令
# java -jar 包名 -- 运行程序
# >> log.log -- 把日志放到 log.log 中
# & -- 表示后台一直运行
运行成功,如下:
通过外网 IP 成功访问到项目的登录页面。
就此,大功告成,项目部署完成 !!!