华为云云耀云服务器L实例评测|部署war格式的web项目

news2025/7/14 3:28:17

目录

  • 准备服务器
  • 安装java
  • 安装tomcat
  • 配置tomcat
  • 部署Web Adaptor
  • 总结

对于很多刚开始接触编程的朋友,通常都期待自己能部署一个网站,并可以在公网上访问。这就需要一台云服务器。最近发现华为云 推出了 云耀云服务器L实例,使用后,体验不错,感觉这是一个非常好的选择。本文就演示下如何在这上面部署一个war格式的web项目。

准备服务器

如下图所示,我们在购买服务器后,首先要设置密码,并修改安全组,以方便可以通过ssh终端登录服务器,并通过scp传输文件。

在这里插入图片描述
做完上述操作后,就可以进入远程登录我们的服务器。本文演示,使用的是完全免费的SmarTTY。

在这里插入图片描述

安装java

初始状态下,云耀云服务器L实例 是没有安装Java 环境的,这需要我们手动安装。不过安装很方便,甚至都有提示。
在这里插入图片描述
apt install openjdk-11-jre-headless -y即可一键安装。下载速度也很快,能达到你购买服务器时,选购网速的极值。这是因为 云耀云服务器L实例 在初始化时,就已经给apt设置好了华为的镜像源。你查看/etc/apt/sources.list 文件就可以发现其中全部的镜像源都已经指向了http://repo.huaweicloud.com/ubuntu 。

30秒内就会安装完成,完成后可以看到java的版本是openjdk 11.0.20.1 。
在这里插入图片描述

安装tomcat

tomcat也可以通过apt安装。搜索当前源,发现tomcat9被拆分成了tomcat9,tomcat9-admin,tomcat9-common,tomcat9-docs,tomcat9-examples,tomcat9-user。其中,tomcat9是必须安装的,其他几个是可选的,建议至少再装上tomcat9-admin。
在这里插入图片描述
输入apt install tomcat9 tomcat9-admin -y安装tomcat9。
在这里插入图片描述
实际上 在安装 tomcat9 时,apt也会自动安装相关依赖,比如 java 和 tomcat9-common 。所以说上一步安装java的操作实际上是可以省略的。

安装完成后tomcat9就会启动,如下图所示,在安装结束后,通过netstat -tupln |grep 8080可以查询到tomcat默认端口已经被占用,这样可以快速检查到tomcat是否正常安装和启动。
在这里插入图片描述当然,更直接的是访问tomcat的首页。如果出现下面的画面,那就是正常的。

在这里插入图片描述相对于我们用tar.gz压缩包释放的tomcat,在云耀云服务器L实例 Ubuntu 操作系统中,通过apt部署的tomcat9的文件夹位置略微不同。有两个目录需要最重要:

  • /usr/share/tomcat9 是tomcat的家目录,启动、停止脚本在这个目录下。
  • /var/lib/tomcat9 是tomcat的用户目录,web项目,日志,配置文件在这个目录下。

在这里插入图片描述
打开用户目录下的web项目文件夹webapps,我们可以发现其下只有一个ROOT文件夹。貌似是没有任何应用。那我们下载的tomcat-admin在哪里呢?我们通过配置文件可以看到admin应用在/usr/share/tomcat9-admin文件夹下。

在这里插入图片描述

配置tomcat

本文所演示是ArcGIS Enterprise 中的组件Web Adaptor,这是GIS领域现在常用到的一个web应用。不过这个应用要求所部属的tomcat的端口必须是443 和 80 。那就就要对tomcat进行配置。

首先运行下面的命令生成https协议所需的秘钥文件。其中,密码和 dname 的值应该根据你的实际需要进行修改。

keytool -genkey \
 -alias tomcat \
 -keyalg RSA \
 -storetype pkcs12 \
 -validity 3650 \
 -keystore /var/lib/tomcat9/conf/tomcat.keystore \
 -keysize 2048 \
 -keypass 123456 \
 -storepass 123456 \
 -dname "CN=wja, OU=freedom, O=science, L=chendu, ST=sichuan, C=cn"

命令执行完后,会在/var/lib/tomcat9/conf 下生成 tomcat.keystore 文件。

然后修改/var/lib/tomcat9/conf/server.xml。

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

将上面的文本,替换为下面的内容:

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" URIEncoding="UTF-8"/>
               
    <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"  
               maxThreads="150" scheme="https" secure="true"    
               clientAuth="false" sslProtocol="TLS"
	           keystoreFile="conf/tomcat.keystore" 
	           keystorePass="123456"  URIEncoding="UTF-8" 
	           relaxedPathChars="|{}[],%"  relaxedQueryChars="|{}[],%" 
	           maxPostSize="-1" /> 

systemctl restart tomcat9重启tomcat后,新的配置就会生效。

现在就可以通过https://${ip address}进行访问。
在这里插入图片描述

部署Web Adaptor

通过WinSCP将argis.war传输到服务器中的 /var/lib/tomcat9webapps文件夹中。
在这里插入图片描述
复制完成后,tomcat会自动解压,完成部署。

输入https://${ip address}/arcgis/webadaptor即可访问相关页面。

请添加图片描述

总结

本文通过Web Adaptor的部署,演示了 在云耀云服务器L实例 中,如何将war包部署在 tomcat9中,并修改tomcat的配置信息,以满足目标软件的运行要求。

在这个过程,可以看出 在云耀云服务器L实例 中的 Ubuntu操作系统,已经做了一些预先的优化,比如 事先安装了ssh服务,将更快的国内镜像站设置为apt源,修改了root不能登录的Ubuntu默认安全设置。这些设置让我们使用起来更加便捷。而且整个安装部署过程中,网络响应 和 服务器速度 也很迅速。总之 华为云云耀云服务器L实例 是一个非常好的云服务器,非常适合 企业 和个人开发者。


如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn.net/monarch91 。

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

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

相关文章

R语言进度条:txtProgressBar功能使用方法

R语言进度条使用攻略 在数据处理、建模或其他计算密集型任务中&#xff0c;我们常常会执行一些可能需要很长时间的操作。 在这些情况下&#xff0c;展示一个进度条可以帮助我们了解当前任务的进度&#xff0c;以及大约还需要多长时间来完成&#xff0c;R语言提供了几种简单且灵…

多模态论文串讲

多模态论文串讲 近几年&#xff0c;尤其是 CLIP 出现以来&#xff0c;多模态学习的发展异常火爆。除了传统的VQA、图文检索、图像描述等&#xff0c;还有受启发于 CLIP 的新任务 Language Guided Detection/Segmentation、文本图像生成、文本视频生成等。本次串讲主要还是围绕…

MATLAB——概率神经网络分类问题程序

欢迎关注“电击小子程高兴的MATLAB小屋” %% 概率神经网络 %% 解决分类问题 clear all; close all; P[1:8]; Tc[2 3 1 2 3 2 1 1]; Tind2vec(Tc) %数据类型的转换 netnewpnn(P,T); Ysim(net,P); Ycvec2ind(Y) %转换回来

机器人力控制构架

在交互过程中&#xff0c;环境会对末端执行器可以遵循的几何路径设置约束。这种情况通常被称为约束运动。在这种情况下&#xff0c;使用纯运动控制策略来控制交互是失败的&#xff01;&#xff01; 只有任务准确规划&#xff0c;使用运动控制才能成功执行与环境的交互任务。但…

10.17数电第二次实验

就是数码管有4个&#xff0c;前两个来表示分钟&#xff0c;后两个表示秒钟 然后下面十六个led灯来记录时间&#xff0c;小时以十六进制&#xff0c;就是说4个二进制&#xff0c;4个灯为一组&#xff0c;一共可以显示四位小时 首先是要接收信号&#xff0c;应该是要无信号&…

任务调度器

题目链接 任务调度器 题目描述 注意点 tasks[i] 是大写英文字母任务可以以任意顺序执行两个 相同种类 的任务之间必须有长度为整数 n 的冷却时间 解答思路 利用桶思想&#xff0c;将不同的字母放进同一个桶中&#xff0c;桶的数量为tasks中字母出现频率最高的次数&#xf…

保序回归与金融时序数据

保序回归在回归问题中的作用是通过拟合一个单调递增或递减的函数&#xff0c;来保持数据点的相对顺序特性。 一、保序回归的作用 主要用于以下情况&#xff1a; 1. 有序数据&#xff1a;当输入数据具有特定的顺序关系时&#xff0c;保序回归可以帮助保持这种顺序关系。例如&…

ai配音怎么弄?推荐一款免费好用的ai配音软件

你们做短视频卡在了哪&#xff1f;剪辑&#xff1f;文案&#xff1f;还是配音&#xff1f;我身边很多朋友都卡在了配音&#xff0c;因为他们都觉得自己的声音不好听&#xff0c;普通话不标准&#xff0c;不够自信&#xff0c;那我们到底该如何解决短视频配音难题呢&#xff1f;…

动态规划:11分割等和子集

动态规划&#xff1a;11分割等和子集 416. 分割等和子集 这道题目初步看&#xff0c;和如下两题几乎是一样的&#xff0c;大家可以用回溯法&#xff0c;解决如下两题 698.划分为k个相等的子集473.火柴拼正方形 这道题目是要找是否可以将这个数组分割成两个子集&#xff0c;使…

C++:继承的概念和用法

文章目录 继承的定义基类和派生类的对象赋值转换继承中的作用域派生类的默认成员函数几个继承小点继承理论的演示 菱形继承和菱形虚拟继承虚拟继承 本篇主要总结的内容有 什么是继承继承的一些概念菱形继承和虚拟继承继承的优缺点对比 继承的定义 继承是代码复用的一种重要手…

Redis 主从复制,哨兵,集群——(1)主从复制篇

目录 1. Redis 主从复制是什么&#xff1f; 2. Redis 主动复制能干嘛&#xff1f; 2.1 读写分离 2.2 容灾恢复 2.3 数据备份 2.4 水平扩展支撑高并发 3. Redis 主从复制配置项 3.1 配从库不配主库 3.2 权限密码配置 3.3 基本操作命令 4. 案例演示 4.1 案例说明 4.…

leetCode 647.回文子串 动态规划 + 优化空间 / 中心扩展法 + 双指针

647. 回文子串 - 力扣&#xff08;LeetCode&#xff09; 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串&#x…

Springboot-MyBatisPlus-01

一 创建项目&#xff0c;选择spring boot 初始化&#xff0c;配置相关信息 第五步创建实体类 二 快速开发实体类的jar包--lombok <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12<…

Pycharm中终端不显示虚拟环境名解决方法

文章目录 一、问题说明&#xff1a;二、解决方法&#xff1a;三、重启Pycharm 一、问题说明&#xff1a; Pycharm中打开项目配置完需要的虚拟环境后&#xff0c;在Terminal&#xff08;终端&#xff09;中无法切换及显示当前需要运行代码的虚拟环境。 比如以下一种情况&#…

TOUGH2软件教程、CO2地质封存

TOUGH系列软件是由美国劳伦斯伯克利实验室开发的&#xff0c;旨在解决非饱和带中地下水、热运移的通用模拟软件。和传统地下水模拟软件Feflow和Modflow不同&#xff0c;TOUGH系列软件采用模块化设计和有限积分差网格剖分方法&#xff0c;通过配合不同状态方程&#xff08;EOS模…

人体分割模型ACE2P与M2FP,解析人脸人体各部件属性,语义化分析

前言 在做某任务的时候&#xff0c;需要对人物图片进行预处理。 预处理的要求就是要将图片中的人物各部件分割出来&#xff0c;标识为各种不同颜色&#xff0c;比如脸部为蓝色&#xff0c;脖颈部位绿色&#xff0c;其他地方为红色 最初任务使用的PaddleSeg中基于CelebAMask-HQ…

C# RestoreFormer 图像(人脸面部)修复

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms;namespace 图像修复 {pu…

优维低代码实践:片段

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 优维…

Unity3D 基础——使用 Vector3.Distance 计算两个物体之间的距离

Vector3-Distance - Unity 脚本 APIhttps://docs.unity.cn/cn/current/ScriptReference/Vector3.Distance.html 1.在场景中新建两个 Cube 立方体&#xff0c;在 Scene 视图中将两个 Cude的位置错开。 2.新建 C# 脚本 Distance.cs&#xff08;写完记得保存&#xff09; using …

PS 学习笔记

书籍&#xff1a;Photoshop 2022从入门到精通-敬伟-微信读书 1. PS 常用快捷键 复位右侧基本工作栏&#xff1a;【窗口】-【工作区】- 【复位基本功能】 Ctrl 鼠标滚轮&#xff1a;主界面图片左右滚动Shift 鼠标滚轮&#xff1a;主界面图片上下滚动Alt 鼠标滚轮&#xff1…