阿里云服务器部署javaweb

2023-11-18

1.首先购买服务器和域名

服务器类型选择:云服务器ecs(不要选择突发性能型),域名自便(注:域名解析需要备案,此类型服务器要求有效期大于三个月才可以备案)。

服务器设置:安全组规则设置,开放相应端口号,22,23,80,433,1433,3306,3389,8080,嫌麻烦直接把(1,65536)全开放了。

配置操作系统,云服务器配置操作系统非常简单,选择好久就可以,我选用的Ubuntu20 64位。

账户密码,安全对(好像是叫这个),自己设置就可以。

然后可以直接通过阿里云提供的远程连接登录即可,选择好对应的服务器,输入账号密码。

2.服务器环境搭建

执行代码:

//更新软件包列表
//以下两句选择一句即可
sudo apt-get update
sudo apt update


/* javaweb需要三个软件配置 */

//jdk  推荐jdk8
//mysql 推荐mysql8
//Tomcat 推荐Tomcat9



//安装jdk
//open-jdk-8
sudo apt-get install openjdk-8-jdk
//open-jdk-11
sudo apt install openjdk-11-jdk


//测试jdk安装是否成功
java -version


/****************************************************************************/
/* 安装成功将会显示你所安装的jdk版本 */
//例如
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

/* 安装失败将会显示找不到jdk */

/****************************************************************************/



//安装Tomcat

//第一种方式
# 安装tomcat9和tomcat9-admin
sudo apt install tomcat9 tomcat9-admin

# 配置用户名
sudo usermod -a -G tomcat 你的用户名配

# 启动关闭Tomcat进行测试
sudo service tomcat9 start
sudo service tomcat9 stop

# 查看端口号开发情况(Tomcat默认端口号 8080)
ss -ltn

# 若未开放,则进行开发
sudo ufw allow from any to any port 8080 proto tcp

# 启动Tomcat之后,进行测试
curl http://127.0.0.1:8080

# 如果成功将会出现一个网页源代码,有以下这句话代表启动成功
<p>If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!</p>  #########################################

# 理论上来说这个时候你的服务器已经部署完成,只是javaweb项目还未配置,此时可以在非服务器计算机查看网页
http://你的服务器公网IP地址:8080


//第二种方式
VERSION=9.0.35
wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp

sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/

# 这种方法也可以使用第一种方法的测试方法




//安装mysql

sudo apt install mysql-server

# 查看版本以及测试是否成功
mysql --version

# 查看mysql启动情况
service mysql status
# 出现以下文字表示启动
Active: active (running)

# mysql的启动,关闭,重启(若执行有误可在每句话前方加 sudo)
service mysql start
service mysql stop
service mysql restart 

# 默认创建用户root,但是密码是随机的,需要修改密码
# 我查看网上的方法都不行,所以使用了xftp工具直接查看文件夹
# 后面的内容再说这一步

# 现在已经获得了密码

# 登录mysql
mysql -uroot -p
# 输入密码(Linux输入密码默认无任何内容显示) 回车
# 若显示‘mysql>’表示登陆成功

# 创建新的用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';

# 给新的用户新的数据库的所有的权限
GRANT ALL ON *.* TO 'me'@'%';
# 刷新
FLUSH PRIVILEGES;

# 修改密码
# 先进入mysql数据库
use mysql;
# 修改
ALTER USER root'@'localhost' IDENTIFIED WITH mysql_ native_ password BY ' 新密码';
# 刷新
FLUSH PRIVILEGES;
# 重启数据库(上面有代码)

# 到这一步 服务器内部环境设置已经完成,已经可以开始部署javaweb
# 但是想要远程连接本地数据库还需要其他设置,这一步可有可无,但是如果设置好,以后管理服务器数据将会非常方便,后面的内容会提到。



3.以上过程的两步补充

第一步:获取数据库密码,首先安装xftp工具。

xftp下载连接:

Xftp5怎么安装?Xftp5安装破解教程介绍 - 系统之家 (xitongzhijia.net)http://www.xitongzhijia.net/xtjc/20191113/167482.htmlhttp://soft.xitongxz.net/201911/Xftp5_V5.0.1090_XiTongZhiJia.ziphttp://soft.xitongxz.net/201911/Xftp5_V5.0.1090_XiTongZhiJia.zip

xshell下载链接: XShell - Downloadhttps://gsf-fl.softonic.com/7e0/8a6/4c958aa56f705fc1decffc81e8e5f1f6cc/Xshell-7.0.0090.exe?Expires=1642944780&Signature=cf9339f28487d87fabb344527edf664aa6f92704&url=https://xshell.en.softonic.com&Filename=Xshell-7.0.0090.exe

xftp使用方法:文件 -》 新建 -》 (名称自取,主机是服务器公网IP,协议选择sftp,端口22, 账号密码都是服务器的, 然后确定连接)

连接成功后,xftp上有2个窗口,左窗口是本地资源管理器,右窗口是云服务器资源管理器。

找到右窗口的文件 /etc/mysql/dibian.cnf 查看里面的password,这就是密码。

即可

第二步:远程登录数据库设置。

关闭防火墙,找到 /etc/mysql/mysql.conf.d/mysqld.cnf 将 bind-address 设为 0.0.0.0。

即可

# 关闭防火墙(不推荐)

# 若没有防火墙先下载
sudo apt install ufw

# 查看防火墙状态
sudo ufw status verbose

Status: inactive表示关闭 active表示启动

# 启动防火墙(enable-》disable是禁用)
sudo ufw enable

# 开放某些端口
sudo ufw allow 53 允许外部访问53端口(tcp/udp)

保证 3306,8080,80等之前提到的端口号开放

4.部署javaweb

首先导出war包,每个IDE都不同。

这里就不一一赘述了。

获得war包,回到xftp,右窗口进入到  /var/lib/tomcat9/webapps

左窗口进入到war包所在页面,将左窗口war包传输到右侧,然后javaweb项目就已经部署到服务器上了,接下来需要以下操作。

保证Tomcat启动,把javaweb项目所用的数据库文件导出为.sql,服务器登录到mysql,然后一句一句执行.sql文件里的代码(如果已经远程登录到服务器,可以直接将SQL文件导入),项目部署完成。

重点:mysql在Windows与Linux下有一个很大不同,Windows下mysql的数据库名称,表名称不区分大小写,而Linux下严格区分(应该可以设置为不区分,但是我没有成功)。

以上所有过程执行完毕以后理论上来说已经可行,远程登录你的网站进行测试,网址:

http://服务器公网IP地址:8080/war包名称(不包括后缀)

若能登陆成功,则表名服务器部署成功。

5.域名解析

域名解析只需要按照你购买域名服务商的教程来即可,但是注意一点,只要你的服务器内容端口号不是8080,即使配置好了域名依然需要端口号,例:http://域名:8080/war包名称(不带后缀)

域名解析需要备案后才能使用,否则依然要使用  http://服务器公网IP地址:8080/war包名称(不包括后缀)

进行到这里已经可以对你说一声恭喜了,我是从2022年1月22日 19:57:00开通的服务器,那时候啥也不懂,一路麻烦不断,一直到24日下午才完全搞定,后面发现源码有一点小漏洞,懒得改了,大家注意一点,如果你要重新部署war包,一定要把之前的删除干净(包括war包和war包解压出来的文件夹)。

服务器部署javaweb到此就要结束了,因为是做完之后进行的回顾,过程上可能细节有一点问题,还请谅解,毕竟我也是个小白啊。

我的网站地址 :http://121.196.246.4:8080/StudentManager_javaweb__war/

域名未备案:www.karrysong.top:8080/StudentManager_javaweb__war/

6.Tomcat配置默认域名

tomcat配置通过域名访问项目,是修改conf/server.xml里面的配置信息实现。
具体如下:

(1)修改Connector节点的port属性值

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
端口8080改成80

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
(2)修改Engine节点的name属性值

<Engine name="Catalina" defaultHost="localhost">
localhost修改成域名,这里假设为xxx.com

<Engine name="Catalina" defaultHost="xxx.com">
(3)修改Host节点的name属性值

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
localhost修改成域名

<Host name="xxx.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
(4)在<Host name="xxx.com" ...</Host>节点里面最后位置加上节点信息,docBase为项目绝对路径

<Context path="" docBase ="D:\deploy\cm" reloadable="false"></Context>

第六步摘抄自:tomcat配置通过域名访问项目 - gdjlc - 博客园 (cnblogs.com)https://www.cnblogs.com/gdjlc/p/11091181.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿里云服务器部署javaweb 的相关文章

随机推荐

  • QT 在静态函数中发送信号

    今天在使用QT官方提供的函数qInstallMessageHandler输出日志时 因为这个函数的参数需要传的是一个函数 当这个函数是成员函数的时候需要是一个静态函数 但同时当我又需要在这个静态函数中发送消息 这时候就出现问题了 在静态函数
  • ICL8038信号发生器 正弦波 方波 三角波 低频信号发生 波形发生 原理图和PCB

    ICL8038信号发生器 正弦波 方波 三角波 低频信号发生 波形发生 原理图和PCB 目录 ICL8038信号发生器 正弦波 方波 三角波 低频信号发生 波形发生 原理图和PCB 基本原理 芯片选型 原理图 3D PCB 具体讲解 模块原
  • 干货!影视剪辑高清视频素材如何下载?大神精选7大影视网站

    影视剪辑 高清素材这里都有 hi 您好 我是您们的老朋友 覃小龙 您可以称呼我为覃总 今天分享一个主题 干货 影视剪辑高清视频素材如何下载 大神精选10大影视网站 很多账号不想真人出镜 都会选择做影视剪辑 当然作为一名视频剪辑初学者 很多小
  • Cookie 和 Session、实现用户登录逻辑

    Cookie 和 Session 一 回忆 Cookie 二 理解会话机制 Session 三 Cookie 和 Session 的区别 四 核心方法 4 1 HttpServletRequest 类中的相关方法 4 2 HttpServl
  • linux下挂载img方法

    目的 在linux下挂载img文件 以实现对img文件的修改 fdisk lu arch live usb img You must set cylinders You can do this from the extra function
  • 接口测试教程(一看就会)

    前言 掌握了http协议 就掌握了接口测试 笔者在网络上看过不少接口测试教程 一上来就开始讲怎么操作工具 而不告诉读者为什么要这么操作 读者可能照猫画虎成功了 也可能操作失败了但不知为何出错 因此 本文作为接口测试的入门第一课首先会给大家了
  • Jupyter默认存储目录修改 换地址记得换‘/‘

    Jupyter的默认目录修改 Jupyter的默认目录为 C Users MyThinkpad 启动cmd 或Anaconda propt 执行以下命令 查看 jupyter 配置文件路径 jupyter notebook generate
  • Qt学习笔记——对release版本的.exe添加图标 程序发布

    Qt程序发布 1 将 ico图标文件拷贝到工程目录helloworld下 并重命名为Myico ico 2 在此工程目录下新建一个txt文档 输入 IDI ICON1 ICON DISCARDABLE Myico ico 另存为后缀名为pr
  • 起名字老重名?使用这款利器可以快速帮你查询有哪些站点用了你的名字!

    作者 弗拉德 来源 弗拉德 公众号 fulade me 不知道有没有小伙伴跟我一样 常常在注册账号的时候输入了昵称往往会反回一个 用户名已存在 然后尝试了好几个昵称之后才能成功 今天介绍的这款工具可以帮助我们迅速的检索各大网站有没有我们自己
  • selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executable needs to be in P

    selenium在liunx下配置报错解决方式 1 首先 打开浏览器 输入 chrome version 可以看到版本号 2 打开这个链接 http chromedriver storage googleapis com index htm
  • 大数据导论习题_hive SQL基础经典练习题(上)

    练习题改自经典 练习题 原作者用的是MySQL环境 现笔者所写码环境为Hive hive SQL 入门容易 精通很难 基础的巩固相当重要 看起来简单易入门的SQL其实是千变万化的 能一次写正确SQL的工程师 亦然遵守二八法则 编程环境 hi
  • Java虚拟机篇

    1 组成 1 JVM 是由哪几部分组成的 JVM Java virtual machine 是 Java 程序的运行环境 它同时也是一个操作系统的一个应用程序 因此 JVM 也有他自己的运行生命周期 也有自己的代码和数据空间 image p
  • 每一座屎山代码背后,都藏着一堆熟读代码规范的研发

    导读 韩寒在 他的国 中写道 我们懂很多道理 却依然过不好这一生 人们虽然知道很多道理 但并不一定能将这些道理应用到实际生活中 这种现象在生活中很常见 我们听了很多的成功学的道理 但实际上 成功和幸福不是仅仅靠这些道理就能实现的 需要不断地
  • Linux脚本错误:没有那个文件或目录

    linux下执行脚本的时候报错 没有那个文件或目录 ls看一下 是有文件的 原因 文件格式错误 首先 vim filename查看文件 然后用命令 set ff看文件格式 可看到dos或unix的字样 如果的确是dos格式的 需要改成uni
  • 判断是否为二分图的两种算法 dfs/bfs

    判断是否为二分图的两种算法 dfs bfs 判断一个无向图是不是二分图 使用染色法 对每个顶点的相邻顶点染与顶点不同的颜色 如果染过色且与顶点颜色相同 则不是二分图 author 熊谦智 判断该图是否为二分图 1 判断无向图是否有环 如果图
  • MySQL 优化

    一 服务器配置优化 1 增加内存容量 内存容量是影响MySQL性能的重要因素之一 在MySQL中 有一个名为 缓冲池 的内存区域 用于缓存数据和索引 如果缓冲池太小 MySQL将频繁地从磁盘中读取数据 从而导致性能下降 因此 增加内存容量可
  • linux 修改密码命令

    1 passwd命令 脚本中语法 echo password passwd testuser stdin gt dev null 2 gt 1 或 echo newpasswd sleep 1 echo newpasswd passwd g
  • 猿人学做题笔记

    简单记录一下做题的思路步骤 1 第一题说的是无混淆加密 简单 刚开始观察请求 发现链接和请求携带的参数都没有什么异常 然后直接请求会拿不到数据 于是仔细看了一下请求包 发现请求头里面有些东西比较异常 里面有一个safe参数和timestam
  • k近邻算法中k值得选择

    k值得选择会对k近邻的结果产生重大的影响 如果选择较小的K值 就相当于用较小的邻域中的训练实例进行预测 学习 的近似误差会减小 只有输入实例较近的训练实例才会对预测结果起作用 但缺点是 学习 的估计误差会增大 预测结果会对近邻实例点非常敏感
  • 阿里云服务器部署javaweb

    1 首先购买服务器和域名 服务器类型选择 云服务器ecs 不要选择突发性能型 域名自便 注 域名解析需要备案 此类型服务器要求有效期大于三个月才可以备案 服务器设置 安全组规则设置 开放相应端口号 22 23 80 433 1433 330