侧边栏壁纸
博主头像
快乐江湖的博客博主等级

更多内容请点击CSDN关注“快乐江湖”

  • 累计撰写 127 篇文章
  • 累计创建 33 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

第五章Linux使用和程序部署-第四节:JavaWeb程序部署

快乐江湖
2023-11-11 / 0 评论 / 0 点赞 / 9 阅读 / 18230 字

一:环境搭建

(1)Jdk安装

yum上的JDK 是 OpenJDK, 是一个开源版本的 JDK, 和 Oracle 官方的 JDK 略有差别。为了减少麻烦,这里我们使用 OpenJDK 即可

yum install java-1.8.0-openjdk-devel.x86_64

安装完成后输入javac,如果出现以下提示信息,则证明安装成功

(2)Tomcat安装

由于yum最高支持到Tomcat7,为了避免一些bug,这里需要安装Tomcat8.5系列】。只需要在Tomcat官网上下载zip压缩包即可

  • 解压缩后进入Tomcat目录

  • 进入bin目录后,需要为所有的sh文件加上可执行权限才能运行,输入chmod +x *.sh即可,此时文件将会变为绿色

  • Linux下启动脚本名为startup.sh,输入命令sh startup.sh启动Tomcat

  • 可以通过以下几种方式验证是否启动成功

    • 方法一:ps aux | grep tomcat

    • 方法二:netstat -anp | grep 8080

    • 方法三:最为直观,在你的浏览器地址栏中输入http://[服务器外网ip]:8080/但要注意,外网访问时需要开放8080端口,否则无法访问

(3)MySQL安装

MariaDB是一个开源的关系型数据库管理系统(RDBMS),它是广泛使用的MySQL数据库技术的一个兼容的替代品,由MariaDB基金会开发。这里为了简单起见安装它即可

如下

# 安装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

然后启动服务

# 启动服务
systemctl start mariadb
# 设置服务器开启自启动(可选)
systemctl enable mariadb
# 查看服务状态
systemctl status mariadb

连接

mysql -uroot

查看版本号

select version();

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

alter database [你的数据库名] character set = utf8mb4;

二:部署博客系统

(1)程序部署

程序部署:是将开发完成的软件应用或程序放置到目标环境中,以便用户可以访问和使用它。部署是软件开发生命周期中的一个关键阶段,它涉及将程序从开发环境转移到生产环境,以确保它能够稳定地运行,并且对用户和系统产生预期的效果。以下是程序部署的一些关键方面和步骤

  • 目标环境选择: 在部署之前,需要确定目标环境,这可能是一个Web服务器、云服务器、移动设备、桌面计算机等。目标环境的选择会影响到部署的方式和工具
  • 安装依赖: 程序通常依赖于各种库、框架和运行时环境。在部署之前,必须确保目标环境上已经安装了这些依赖项
  • 配置设置: 部署过程中需要配置各种设置,包括数据库连接、安全设置、环境变量等。这些设置通常在部署之前进行
  • 文件复制: 将程序的文件和资源从开发环境复制到目标环境。这可能涉及将文件上传到服务器、安装应用程序包等。
  • 数据库迁移: 如果程序使用数据库,那么数据库结构和数据也需要进行迁移,以确保与生产环境兼容
  • 测试: 在生产环境中进行测试,以确保程序能够正常运行。这包括功能测试、性能测试、安全性测试等
  • 监控和维护: 部署后,需要建立监控系统,以监视程序的运行情况,及时发现并解决问题。还需要定期维护程序,包括修复漏洞、更新依赖项等
  • 文档和培训: 编写文档以记录程序的配置和维护过程,同时对操作人员进行培训,以确保他们知道如何管理和维护程序

(2)手动部署博客系统

  • 为了防止部署出错,一般公司内部都有一些自动化部署工具(例如Jenkins)。 但在这里我们为了了解部署过程,采用手动部署

首先将db.sql中的内容复制到Linux中的数据库

-- 创建数据库  
create database if not exists BlogSystem2;  
  
-- 使用数据库  
use BlogSystem2;  
  
  
drop table if exists blog;  
  
-- 创建博客表blog  
create table blog (  
    blogId int primary key auto_increment,  
    title varchar(256),  
    content text,  
    postTime datetime,  
    userId int  
);  
  
-- 创建用户表user  
drop table if exists user;  
create table user (  
    userId int primary key  auto_increment,  
    userName varchar(50) unique,  
    passWord varchar(50)  
);  
  
-- 插入数据测试  
insert into blog values(null, "第一篇博客", "今天我们介绍博客系统的实现", now(), 1);  
insert into blog values(null, "第二篇博客", "今天我们再次介绍博客系统的实现", now(), 2);  
insert into blog values(null, "第三篇博客", "今天我们第三次次介绍博客系统的实现", now(), 1);  
insert into blog values(null, "第四篇博客", "### 第一:任务内容 - asd1", now(), 2);  
  
insert into user values(1, "张三", "123");  
insert into user values(2, "李四", "123");

然后修改pom.xml,将打包类型更改为war包,同时设定war包名

<?xml version="1.0" encoding="UTF-8"?>  
<project xmlns="http://maven.apache.org/POM/4.0.0"  
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
    <modelVersion>4.0.0</modelVersion>  
  
    <groupId>org.example</groupId>  
    <artifactId>BlogSystem2</artifactId>  
    <version>1.0-SNAPSHOT</version>  
  
    <properties>  
        <maven.compiler.source>8</maven.compiler.source>  
        <maven.compiler.target>8</maven.compiler.target>  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
    </properties>  
  
    <dependencies>  
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->  
        <dependency>  
            <groupId>javax.servlet</groupId>  
            <artifactId>javax.servlet-api</artifactId>  
            <version>3.1.0</version>  
            <scope>provided</scope>  
        </dependency>  
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->  
        <dependency>  
            <groupId>com.fasterxml.jackson.core</groupId>  
            <artifactId>jackson-databind</artifactId>  
            <version>2.13.4.1</version>  
        </dependency>  
  
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
            <version>5.1.49</version>  
        </dependency>  
    </dependencies>  
  
    <packaging>war</packaging>  
    <build>  
        <finalName>BlogSystem2</finalName>  
    </build>  
  
</project>

修改DBUtil.java中的连接数据库操作,将密码修改为云服务器数据库密码

然后对程序打包(在IDEA中店家Maven面板,然后点击packing),打包完成后将war包拖动到服务器Tomcat的webapps目录下,Tomcat就会自动解压缩

最后通过网络访问,验证程序是否正常运行

0

评论区