Java Web程序的部署

news2025/1/13 10:03:20

写在前:要想将我们写好的项目让其他人可以访问,仅仅完成代码是不能直接运行的。这就需要在Linux系统上搭建Java web程序的运行环境。这里以我所做的博客系统为例,进行搭建。

1. 准备依赖

(1)JVM(JDK) 虚拟机

(2)Tomcat 运行在Tomcat上

(3)Mysql数据库

在Linux上是通过命令的方式进行安装的,这里使用最简单的方式 -- 包管理器 进行安装。

Linux会把一些软件包,放到对应的服务器上,通过包管理器这样的程序,来吧这些软件包下载安装。ubuntu -- apt,centos -- yum(这里我使用的是ubuntu)。

1.1 jdk安装

(1)使用 apt 命令来查看服务器上有哪些软件包。(搭配grep使用)

apt list | grep jdk

自己电脑上的jdk和云服务上的jdk一致,这里我使用的是jdk8。

 在安装的时候要确保是出于root用户下,如果不是管理员,需要使用 sudo su 切换到管理员。

sudu su

复制:ctrl+insert

粘贴:shift+insert 将选择的版本名字粘贴到后面

输入安装命令

确认

等待

安装成功确认-javac

1.2 tomcat安装

1.2.1 命令安装

输入命令查找tomcat

apt list | grep tomcat

但是这里的tomcat是9版本的,我电脑中使用的是tomcat8.5

tomcat8.5 搭配的是servlet3.1,如果是tomcat9 就需要搭配servlet4.0

1.2.2 手动安装tomcat

(1)将之前电脑上的Tomcat上传到Linux上

A. 需要先安装 lrzsz 这样的软件包

apt install lrzsz

lrzsz包含两个命令:

sz -- 把linux上的文件传到windows上。

rz -- 把windows上的文件传到linux上。

B. 新建目录

将tomcat的拖进目录,一次只能拖动一个文件(打成压缩包)

(2)解压缩

unzip命令:需要在ubuntu上安装unzip。

unzip +包名进行解压缩

查看解压后的文件

可以看到展示出来的文件和windows上是相同的,下面进行启动tomcat -- 进入 bin/ 目录

(3)修改 .sh文件的执行权限

让.sh文件可执行。操作:进入bin目录中

chmod +x *.sh

执行完没有报错,说明执行成功,这时再次查看bin目录下的文件,发现所有的.sh文件都变绿了。

(4)启动tomcat

进入bin目录下 输入命令 sh startup.sh

但是当我输入此命令后系统报错了:

touch: cannot touch '/home/ubuntu/javaproject/apache-tomcat-8.5.97/logs/catalina.out': Permission denied

报错原因:logs目录没有创建修改权限

解决办法:所有人可操作logs文件

进入到tomat的目录中,找到有logs文件夹的目录,执行下面命令。意思就是改变logs文件夹的权限,使tomcat可以有权限访问此文件夹。执行下面的命令:

sudo chmod a+rwx -R logs 

再次执行,正常启动。

(5)验证成功

使用ps 查看java进程有没有;使用netstat查看8080是否被绑定;访问tomcat欢迎界面。

ps aux | grep tomcat

netstat  -anp |grep 8080

补充:关闭某个进程 --  kill 进程id

从浏览器访问欢迎页面:

直接输入ip+端口,很有可能访问失败,原因是没有打开云服务器的防火墙/安全组。

如何打开云服务器的防火墙/安全组

打开云服务器--添加规则

再次打开,就可以正常访问啦~

1.3 mysql安装

通过apt安装

apt list | grep mysql

apt install mysql-server-8.0

输入安装mysql的命令,即可点击完成安装。安装完毕之后mysql的服务器九自动启动了。

查看mysql的运行状态:

service mysql status

2. 程序部署

2.1 构建数据库数据表

将我们创建的数据库表的语句粘贴到终端。

退出mysql ctrl + d

2.2  将程序打包

需要先确认一下配置是否需要进行修改。注意本地的数据库的密码和云服务器中的密码是否相同,没有设置就是无密码。

打成war包,找到pom.xml添加配置。

    <packaging>war</packaging>
    <build>
        <finalName>java109_blog_system</finalName>
    </build>

进行打包

2.3 部署程序

将war上传到Linux的tomcat的webapps目录中。通过浏览器来访问页面。

此时可能会遇到登陆不上去的问题,可能原因是没有设置数据库的密码,关于mysql8密码设置的命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';

这里我将它设置成了空字符串,最后网页是可以进行访问的。

《我的博客》系统链接:

http://49.232.51.45:8080/java109_blog_system/blog_list.html

账号密码:



以上就是完成了一个简单的程序部署的内容,也是完成了一个很简陋的项目搭建,关于功能并没有进行完善,后续在进行相应的完善~加油加油。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1516285.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows中的出站和入站规则

一、规则介绍   规则生效的前提是防火墙处于开启状态。 windows系统默认的规则&#xff1a;默认阻止入站连接&#xff0c;默认允许出站连接。也就是说&#xff0c;凡是入站连接&#xff0c;任何程序和端口都要在防火墙上配置入站规则&#xff0c;否则都会被禁止。 查看方式&a…

非光滑非凸规划

目录 一&#xff0c;非凸函数的近端梯度下降 1&#xff0c;凸函数的近端梯度下降 2&#xff0c;非凸函数的近端梯度下降 一&#xff0c;非凸函数的近端梯度下降 1&#xff0c;凸函数的近端梯度下降 参考近端梯度下降 2&#xff0c;非凸函数的近端梯度下降

Docker/Linux Mysql 远程连接不上,user 的host为localhost

如果 alter user root% identified with mysql_native_password by 123456; 返回的是&#xff1a;Query OK, 0 rows affected (0.00 sec) 而不是&#xff1a;ERROR 1396 (HY000): Operation ALTER USER failed for root% 那么你只要在执行 flush privileges; 就可以了。 …

数字化经济的前沿:深入了解 Web3 的商业模式

随着区块链技术的迅速发展&#xff0c;Web3作为一种新型的互联网范式&#xff0c;正逐渐引起人们的关注。它不仅仅是一种技术革新&#xff0c;更是一种商业模式和价值观的转变。本文将深入探讨Web3的商业模式&#xff0c;以及它对数字化经济的影响。 1. 理解Web3的商业模式 We…

Docker 安装部署 ORACLE 11g数据库

Docker 安装部署 ORACLE 11g数据库 背景&#xff1a; ​ 最新在开发数据中台数据接入模块&#xff0c;其中设计很多数据类型&#xff0c;包括ORACLE &#xff0c;因为是测试使用&#xff0c;想着快速部署测试&#xff0c;于是使用Docker 部署 Oracle , 生产环境不建议使用Doc…

网络工程师笔记14

VLAN原理与配置 VLAN 的功能 划分广播域&#xff0c;隔离广播域 VLAN的应用划分 VLAN配置命令

在 Android 上恢复已删除文件的 5 种简单方法

您可能会因为意外删除、未完成的 Android 更新、手机意外关机等原因而丢失 Android 上的重要数据。新技术的发展使许多手机功能或程序能够从内部恢复丢失的数据。 在 Android 上恢复已删除文件的 5 种简单方法 然而恢复成功率的不确定性也成为人们克服数据丢失困境的重要考虑因…

海思3516将BT1120改BT656输出大小为720*576

sample_comm_vi.c结构体 VI_DEV_ATTR_S DEV_ATTR_BT656D1_1MUX VI_DEV_ATTR_S DEV_ATTR_BT656D1_1MUX {/* interface mode */VI_MODE_BT656,/* multiplex mode */VI_WORK_MODE_1Multiplex,/* r_mask g_mask b_mask*/{0xFF0000, 0x0},//掩码根据自己实际写/* progess…

C++ //练习 10.35 使用普通迭代器逆序打印一个vector。

C Primer&#xff08;第5版&#xff09; 练习 10.35 练习 10.35 使用普通迭代器逆序打印一个vector。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /********************************************************************…

完美解决 RabbitMQ可视化界面Overview不显示折线图和队列不显示Messages

问题场景&#xff1a; 今天使用docker部署了一个RabbitMQ&#xff0c;浏览器打开15672可视化页面发送消息后不显示Overview中的折线图&#xff0c;还有队列中的Messages&#xff0c;因为我要看队列中的消息数量。 解决方案&#xff1a; 进入容器内部 docker exec -it 容器id…

自动从Android上拉取指定文件

需求场景 利用Mac中的脚本编辑器实现从连接的Android设备中获取指定的文件。 环境 macOS Monterey 版本 12.7.1脚本编辑器adb环境&#xff08;如果没有的话&#xff0c;可以网上搜下Mac配置adb&#xff09; 实现方案 1、打开脚本编辑器&#xff1b; 2、新建一个脚本文件&…

Git之版本回退

文章转载于&#xff1a;https://www.jianshu.com/p/3020740561a8 以前&#xff0c;如果是要去除某一块功能&#xff0c;我都是选择性删除&#xff0c;选择性注释&#xff0c;然后前后逻辑各种查看&#xff0c;各种比较。每一次&#xff0c;改完这些我总感觉心好累啊&#xff01…

300m的视频如何制作二维码?扫码点击播放视频的在线技巧

如何快速将几十M或者几百M的视频文件做成二维码呢&#xff1f;用二维码来展示视频是现在很流行的一种方式&#xff0c;比如产品说明、自拍录像、企业介绍、使用教程等方面的内容&#xff0c;都可以通过这种方式来完成视频内容的传递。 其实视频生成二维码的方法没有想象中的那…

【数学】【位运算】LeetCoce810. 黑板异或游戏

作者推荐 视频算法专题 本文涉及知识点 数学 位运算 LeetCoce810. 黑板异或游戏 黑板上写着一个非负整数数组 nums[i] 。 Alice 和 Bob 轮流从黑板上擦掉一个数字&#xff0c;Alice 先手。如果擦除一个数字后&#xff0c;剩余的所有数字按位异或运算得出的结果等于 0 的话…

【词云图绘制实战】——数据准备、清洗、多形式展示

文章目录 1 手动输入文本1.1 加载包1.2 分词处理1.2.1 普通分词方式1.2.2 hmm分词 1.2 词云图绘制1.2.1 wordcloud词云图1.2.2 wordcloud2词云图 2 读取文本数据2.1 读取文本数据2.2 分词处理2.3 词云图绘制2.3.1 wordcloud词云图2.3.2 wordcloud2词云图2.3.3 letterCloud词云图…

windows中如何将已安装的node.js版本进行更换

第一步&#xff1a;先清除已经安装好的node.js版本 1.按健winR弹出窗口&#xff0c;键盘输入cmd,然后敲回车&#xff08;或者鼠标直接点击电脑桌面最左下角的win窗口图标弹出&#xff0c;输入cmd再点击回车键&#xff09; 然后进入命令控制行窗口&#xff0c;并输入where node…

【个人博客项目】使用Jenkins简单的搭建一下

目录标题 前言安装JDK1.8、Git、Maven安装Tomcat修改tomcat8相关配置 安装Jenkins 前言 为了学习一下工作中常用到的jenkins&#xff0c;于是挑了个最简单的模式动手操作了一遍。 环境->阿里云服务器:CentOS7.0 https://promotion.aliyun.com/ntms/yunparter/invite.html?…

【Oracle之DataGuard的初步学习】

** 以下所有均是基于11G版本的 ** 一、DataGuard的部署方式 DG的部署最常用的方式就是直接在备库端部署一个空库然后再设置参数&#xff0c;但是这样做在初始同步时如果数据量过大会耗费较长的时间&#xff1b;相对来说这中方式比较简单不易出错。 还有一种方式就是通过rman的备…

如何打开EDI文件?

使用EDI系统传输文件的过程中&#xff0c;用户可能会遇到这样的问题&#xff1a;如何打开EDI文件&#xff1f;电脑不在身边如何查看EDI文件&#xff1f;EDI文件未按照标准格式呈现如何梳理&#xff1f;为了解决上述问题&#xff0c;方便用户查看文件&#xff0c;知行之桥EDI系统…

Linux启动流程

Linux启动流程总的来说可以分成三个阶段 Linux启动流程图 第一步&#xff1a;上电 在 x86 系统中&#xff0c;将 1M 空间最上面的 0xF0000 到 0xFFFFF 这 64K 映射给 ROM。 当电脑刚加电的时候&#xff0c;会做一些重置的工作&#xff0c;将 CS 设置为 0xFFFF&#xff0c;将 …