草庐IT

部署个人博客系统

YoLo♪ 2023-08-14 原文

目录

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端口开放

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

 

有关部署个人博客系统的更多相关文章

  1. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  2. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  3. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  4. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  5. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

  6. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  7. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  8. ruby - 在没有基准或时间的情况下用 Ruby 测量用户时间或系统时间 - 2

    因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实

  9. Ruby,使用包含 TK GUI 的 ocra 部署一个 exe - 2

    Ocra无法处理需要“tk”的应用程序require'tk'puts'nope'用奥克拉http://github.com/larsch/ocra不起作用(如链接中的一个问题所述)问题:https://github.com/larsch/ocra/issues/29(Ocra是1.9的"new"rubyscript2exe,本质上它用于将rb脚本部署为可执行文件)唯一的问题似乎是缺少tcl的DLL文件我不认为这是一个问题据我所知,问题是缺少tk的DLL文件如果它们是已知的,则可以在执行ocra时将它们包括在内有没有办法知道tk工作所需的DLL依赖项? 最佳答

  10. ruby - 以毫秒为单位获取当前系统时间 - 2

    在Ruby中,以毫秒为单位获取自纪元(1970)以来的当前系统时间的正确方法是什么?我试过了Time.now.to_i,好像不是我想要的结果。我需要结果显示毫秒并且使用long类型,而不是float或double。 最佳答案 (Time.now.to_f*1000).to_iTime.now.to_f显示包含十进制数字的时间。要获得毫秒数,只需将时间乘以1000。 关于ruby-以毫秒为单位获取当前系统时间,我们在StackOverflow上找到一个类似的问题:

随机推荐