目录

1.安装jdk

2.安装tomcat

3.数据库

4.部署博客系统

1.建库建表

2.微调代码

3.打包

4.拷贝

5.访问博客系统


为了能将我们写的项目部署到云服务器上

首先需要将部署时所依赖的环境搭建好

需要安装jdk,tomcat,mysql

1.安装jdk

直接使用包管理器进行安装,基于yum安装

yum就相当于一个应用商店

yum list | grep 关键词 来找到要安装的包名 | 叫做管道,将第一个命令的输出作为第二个命令的输入

yum list 包名 来进行安装

grep是用来是筛选的,因为yum list 列出的太多了.需要通过关键字进行筛选

这个过程是需要联网的,云服务器提供的yum源的速度很快

java-1.8.0-openjdk-devel.x86_64 1:1.8.0.362.b09-2.al8
就是我们需要的

devel是 开发,64位系统的1.8.0版本的jdk

接下来复制软件包的名字,粘贴到目录

输入命令,输入y

完成

然后输入javac,如果是这样,就成功了

2.安装tomcat

步骤:

1.下载压缩包,得到zip

2.将zip上传到linux中,可能需要yum install lrzsz

3.解压缩, unzip 包名 可能需要yum install unzip

4.进入bin目录中,赋予.sh文件权限.chmod + x*.sh

5.使用sh startup.sh启动tomcat

同样的方法寻找

我们可以发现这写tomcat都是老版本的,我们写的servlet代码是要和8版本的tomcat匹配的.因此只能手动安装了

我们可以直接从官网下载然后将zip传到linux服务器上

直接拽到要存放的目录下

如果你拖完是这个样子,那你需要先取消,然后在命令行中输入yumlrzsz

拖拽是用到了rz命令,有的自带,有的没有,没有的需要先手动装一下

再拖拽

传上去了

然后用命令解压缩

命令: unzip

还需要装一个解压命令

解压成功

进入目录看看,和win中的一模一样

这些是bin中的内容,一些启动脚本

现在还没有执行权限

进入bin 目录,通过chmod +x *.sh

给所有的.sh文件赋予可执行权限

我们发现这些文件都变绿色了.已经可执行了

sh startup.sh就能启动tomcat了

3.数据库

数据库的安装过程比较简单,网上也有很多教程

服务状态

[root@iZ0jl8d8r83kkgjbl45z4nZ java1]# mysql -urootWelcome to the MariaDB monitor.  Commands end with ; or \g.Your MariaDB connection id is 3Server version: 10.5.16-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> select version();+-----------------+| version()       |+-----------------+| 10.5.16-MariaDB |+-----------------+1 row in set (0.000 sec)

连接成功并查看mariadb 版本号

MariaDB [(none)]> create database demo_db charset utf8mb4;Query OK, 1 row affected (0.000 sec)

创建数据库时为了支持中文,统一使用 utf8mb4 字符集

MariaDB [(none)]> show databases;+--------------------+| Database           |+--------------------+| demo_db            || information_schema || mysql              || performance_schema |+--------------------+4 rows in set (0.000 sec)

环境搭建好之后,就可以进行部署了

4.部署博客系统

1.建库建表

云服务器访问的是云服务器上的数据库,而不是本地的,本地的云服务器是访问不了的

将我们之前写的db.sql文件的代码直接复制粘贴,建库建表

注意设置字符集

MariaDB [java_blog_system]> show tables;+----------------------------+| Tables_in_java_blog_system |+----------------------------+| blog                       || user                       |+----------------------------+2 rows in set (0.000 sec)
MariaDB [java_blog_system]> select *from blog;+--------+--------------+--------------------------------------+---------------------+--------+| blogId | title        | content                              | postTime            | userId |+--------+--------------+--------------------------------------+---------------------+--------+|      1 | 二分查找     | 二分查找又叫折半查找......           | 2023-04-09 20:42:05 |      1 ||      2 | 二分查找     | 二分查找又叫折半查找......           | 2023-04-09 20:42:05 |      2 ||      3 | 二分查找     | 二分查找又叫折半查找......           | 2023-04-09 20:42:05 |      3 |+--------+--------------+--------------------------------------+---------------------+--------+3 rows in set (0.000 sec)MariaDB [java_blog_system]> select * from user;+--------+----------+----------+| userId | username | password |+--------+----------+----------+|      1 | zhangsan | 123      ||      2 | lisi     | 123      ||      3 | wangwu   | 123      |+--------+----------+----------+3 rows in set (0.000 sec)

退出

MariaDB [java_blog_system]> ^DBye

进入

[root@iZ0jl8d8r83kkgjbl45z4nZ java1]# mysql -uroot

有密码: mysql -root -p

输入密码即可

2.微调代码

本地的数据库,端口号,用户名密码和云服务器可能是不同的

例如,本地数据库密码是设置的,云服务器数据库默认没有密码,可以给设置一个密码,本地代码密码改成相同的!!

查看一下mysql的端口号,注意要和代码的端口号相同

netstat -anp | grep mysql

使用netstat -anp | grep XXX查看某个进程占用了啥端口.某个端口被哪个进程占用了

grep后面加的就hi要查的进程或端口

[root@iZ0jl8d8r83kkgjbl45z4nZ ~]# netstat -anp | grep mysqltcp6       0      0 :::3306                 :::*                    LISTEN      18956/mysqld        unix  2      [ ACC ]     STREAM     LISTENING     60117    18956/mysqld         /var/lib/mysql/mysql.sock[root@iZ0jl8d8r83kkgjbl45z4nZ ~]# 

打包之前还要微调pom.xml

3.打包

使用maven打成war包

双击package进行打包

4.拷贝

把war包拷贝到云服务器上的webapps目录

然后启动服务器

执行启动之前,文件必须是绿色,不然是没用的

检查是否启动成功,如果是TIME_WATING就没启动成功,LISTEN才是成功.那么失败了可以看日志信息,是否是需要的端口被其他进程所占用了.如果占用了,可以在配置文件中将端口号修改

至此,就部署成功了!

5.访问博客系统

如果在浏览器输入地址不能访问,并提示响应过久,检查防火墙

此时大概率是因为服务器的防火墙/安全组没有正确打开!

云服务器厂商为了保证机器的安全,引入的安全机制,默认情况下只有你的机器这个22端口(ssh)可以对外访问.要想让其他端口也能被外面访问,就需要手动添加

轻量应用服务器对应的是防火墙

ESC服务器对应的是安全组

这里我使用的是阿里云服务器,需要设置安全组

点击配置规则

手动添加安全组,将8080端口开放

设置成功后,就可以正常访问了