锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 软件开发
  3. 部署个人博客系统

部署个人博客系统

0
  • 软件开发
  • 发布于 2024-09-19
  • 0 次阅读
黄健
黄健

目录

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服务器上

直接拽到要存放的目录下

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

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

再拖拽

传上去了

然后用命令解压缩

命令: unzip

还需要装一个解压命令

解压成功

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

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

现在还没有执行权限

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

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

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

sh startup.sh就能启动tomcat了

3.数据库

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

服务状态

[root@iZ0jl8d8r83kkgjbl45z4nZ java1]# mysql -uroot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.5.16-MariaDB MariaDB Server

Copyright (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 mysql
tcp6       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端口开放

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




原文链接: https://blog.csdn.net/chenchenchencl/article/details/130051810

标签: #软件开发 1171
相关文章

万字:支付“核心系统”详解 2024-11-02 15:33

专栏作者:隐墨星辰 \| 主编:陈天宇宙 这篇文章也尝试化繁为简,探寻支付系统的本质,讲清楚在线支付系统最核心的一些概念和设计理念。 虽然支付行业已经过了风头最劲的时光,但跨境支付仍然在蓬勃发展,每年依然有很多新人进入这个行业,这篇文章尝试为这些刚入行的新人提供一点帮助。 文章只介绍一些支付行业十几

资深支付架构师视角:实战从问题定义到代码落地的完整套路 2024-11-02 15:33

前言 今天从一个实际案例入手,介绍站在架构师的角度,如何识别并定义问题,提炼需求,技术方案选型,再到详细设计,最后利用AI的能力协助写出核心的代码,验证与调优。 解决问题存在一定的模式,也可以称之为框架,总结出自己的思考和解题框架,以后再碰到同类型的问题就可以如庖丁解牛一样容易。 很多年前,我写代码

Spring 实现 3 种异步接口 2024-10-18 09:07

大家好,我是苏三~ 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable、WebAsyncTask 和 DeferredResult、CompletableFuture等均可实现。 但这些方法有局限性,处理结果仅返回单个值。在某些场景下,如果需要接口异步处理的同时,还持续不断地

重学SpringBoot3-集成Redis(五)之布隆过滤器 2024-10-08 11:24

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(五)之布隆过滤器 1. 什么是布隆过滤器? * 基本概念 适用场景 2. 使用 Redis 实现布隆过滤器 * 项目依赖 Redis 配置

设计模式第16讲——迭代器模式(Iterator) 2024-10-08 11:24

一、什么是迭代器模式 迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 二、角色组成 抽象迭代器(Iterator):定义了遍历聚合对象所需的方法

vue2路由和vue3路由区别及原理 2024-10-08 11:24

一、Vue2 与 Vue3 路由的区别 1. 创建路由实例方式的不同 Vue 2 中,通过 Vue.use() 注册路由插件,并通过 new VueRouter() 来创建路由实例。 import Vue from 'vue';import VueRouter from 'vue-router';i

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.