阿里云轻量级服务器部署网站 安装java+tomcat+Mysql

2023-11-12

网上关于部署服务器的教程已经是数不胜数,按理来说不应该重复造轮子,但是网上的教程没有很好的整合文章,于是乎笔者本着写一篇整合性、参考性比较强的角度出发写了这篇文章,本文详细写了阿里云轻量级服务器的安装jdk、tomcat、mysql部署简单网站过程。


我所使用的服务器是阿里云的轻量级服务器。

  • 先下载Xshel和Xftp用来传输文件到云服务器上,官网下载

Xshell:能在Windows界面下访问远端不同系统下的服务器。简单来说,你可以通过这款软件控制云服务器ECS。Xftp:基于 MS windows平台的功能强大的SFTPFTP文件传输软件。简单来说,通过这款软件你可以在你的电脑和云服务器之间传输文件。

使用Xshell和Xftp:

打开Xshell--文件--新建:

     

​​​​​填好了点确定然后输入用户名和密码连接:

           

           

成功连接界面如下图

         

登录Xpft,这里介绍两种方法:a.点击Xshell上方导航栏的窗口-传输新建文件即可快速免密运行Xpft软件。b.直接运行Xpft,输入用户名和密码后即可连接服务器。

           

           

          

         

  • 用Xftp把安装包传到服务器
  • 用tar -xzvf 文件名 -C 目录 解压到相应位置
    tar-zxvf jdk-8u201-linux-x64.tar.gz -C/usr/java/jdk/
    tar-zxvf apache-tomcat-8.5.37.tar.gz -C/usr/java/tomcat/

    如果提示路径不存在,则需先mkdir新建目录

  • 配置环境变量

      用vi打开/etc/profile,添加如下;编辑完内容后,按下Esc键,并输入“:wq”,然后回车可以保存退出。

      

export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=/usr/java/jdk1.8.0_201/jre
export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH

保存完毕后输入下面指令:

source /etc/profile

验证是否成功,在终端输入:

java -version

有如图的显示则表示配置成功。

进入tomcat解压文件夹下的bin文件夹

cd /usr/tomcat/apache-tomcat-8.5.37.tar.gz/bin/

编辑setclasspath.sh 脚本

vi setclasspath.sh

添写如下内容
 

export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=/usr/java/jdk1.8.0_201/jre

启动tomcat:

./startup.sh
  • 设置服务器的防火墙

可以顺便把mysql的端口一起添加了

  • 现在输入http://云服务器的ip:8080就能访问网站啦~

     

  • 接下来是部署自己的项目

         我们这里使用netbeans,打开它然后新建一个javaweb项目,右键项目名--构建,然后会生成一个war文件

            

          

接下来我们把war文件用Xftp传到服务器

现在就完成了项目的部署啦~

  • Tomcat如何配置通过域名直接访问项目首页呢?

  1. 打开hosts文件
    vim /etc/hosts 

    在hosts文件最后一行添加:127.0.0.1 www.firstlins.xyz(你的域名)

    127.0.0.1 www.firstlins.xyz

     

  2. 打开tomcat根目录下/config/web.xml,将index.html设置项目的默认首页
    <welcome-file-list>
    	<welcome-file>index.html</welcome-file>
    </welcome-file-list>
    

     

  3. 打开/config/server.xml,将tomcat访问端口号更改为 80

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

     

  4. 将Engine标签下的defaultHost更改为你设置的域名

    <Engine name="Catalina" defaultHost="www.firstlins.xyz">
    

     

  5. 更改<Host></Host>标签下的name值为访问的域名

    <Host name="www.firstlins.xyz"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
    

     

  6. 在</Host>标签前添加<Context docBase="TestAliyun" path="" reloadable="true" />。其中docBase为需要访问的项目名称

    <Context docBase="TestAliyun" path="" reloadable="true" />

     

  • Tomcat常见错误 

  • shutdown.sh关闭命令报错Could not contact localhost:8005. Tomcat may not be running.

              解决方法:https://blog.csdn.net/qq_34693599/article/details/81115977

                                https://blog.csdn.net/qq_25283709/article/details/55061251

安装Mysql

  • 依次输入以下几条命令,安装的时候会提示要设置root密码
apt-get install mysql-server
apt install mysql-client
apt install libmysqlclient-dev

弄完一条再弄一条。在安装过程需要设置数据库密码(在键盘输入数字时最好不要在右边的1234567890上按数字)

输入如下命令进行检验是否安装mysql成功。

netstat -tap | grep mysql

  • 开启mysql设置旅程

    实现远程控制mysql. 现在设置mysql允许远程访问,首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:编辑配置文件就输入命令 

    vi /etc/mysql/mysql.conf.d/mysqld.cnf

    进入配置文件后,注释掉bind-address = 127.0.0.1:

        

      :wq保存退出

  终端输入mysql-u root-p  再输正确的密码

mysql-u root-p 

 

出现上图表示安装mysql成功,接下来就、开启远程连接数据库服务

输入下面的命令进行开启

grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option;

回车之后继续输入刷新配置命名

flush privileges;

然后输入exit命令退出mysql服务,

执行如下命令重启mysql:

service mysql restart

最后就可以通过navicat连接上我们的数据库了。其他的操作就是跟我们之前操作本地数据库一样了。

 

到此就可以畅玩你的服务器啦~~

 

附上mysql的一些操作命令:

  • 彻底卸载mysql并且重新安装

      首先删除mysql:

sudo apt-get remove mysql-*

然后清理残留的数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

然后安装mysql

sudo apt-get install mysql-client mysql-server

Mysql常用命令行

注意回车执行命令之前要用 ; 作为命令结尾

 use <数据库名>  连接数据库

create database <数据库名>      创建数据库

show databases (注意:最后有个s) 显示数据库

drop database <数据库名>  删除数据库

select version()    显示MYSQL的版本

更多Mysql常用命令行大全参考:https://www.cnblogs.com/bluealine/p/7832219.html

 

 

Apache2安装 :https://www.jianshu.com/p/c5db66973c6d

Linux服务器部署vue项目:https://blog.csdn.net/dya110699/article/details/82561531

使用Eclipse插件部署Java Web:https://help.aliyun.com/document_detail/96088.html?spm=a2c4g.11186623.6.894.66243110XofiNW

 

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

阿里云轻量级服务器部署网站 安装java+tomcat+Mysql 的相关文章

  • Laravel Schema Builder 改变存储引擎

    我正在尝试更改表并将其存储引擎更改为InnoDb 当我跑步时php artisan migrate它完成且没有错误 然而 当我检查 Sequel Pro 中的存储引擎时 没有任何变化 public function up Schema ta
  • 使用 Elastic Beanstalk 进行 Logback

    我在使用 Elastic Beanstalk 记录应用程序日志时遇到问题 我正在 AWS Elastic Beanstalk 上的 Tomcat 8 5 with Corretto 11 running on 64bit Amazon Li
  • 通过Java从MySQL中获取大量记录

    有一个 MySQL 表 服务器上的用户 它有 28 行和 100 万条记录 也可能会增加 我想从这个表中获取所有行 对它们进行一些操作 然后将它们添加到 MongoDB 中 我知道通过简单的 从用户中选择 操作来检索这些记录将花费大量时间
  • 如何根据条件删除结果以计算平均值

    我有下面的架构 对其的快速解释是 鲍勃评分为 5 5 詹姆斯评分 1 5 梅西百货评分高达 5 5 逻辑 如果我是 A 请查找我屏蔽的所有人 查阅所有电影评论 任何留下电影评论且 personA 已屏蔽的人 请将其从计算中删除 计算电影的平
  • 如何根据同一个表中的先前数据更新 SQL 表

    我有一张衡量学生表现的表格student在我的数据库中如下 ID TestDate PerformanceStatus PS 1 15 03 2016 0 1 01 04 2016 2 1 05 05 2016 1 1 07 06 2016
  • 拉拉维尔; “SQLSTATE[HY000] [2002] 连接被拒绝”

    我在 OSX 主机上设置了 homestead 2 0 并使用 Sequel Pro 我可以进行迁移并确认数据已在Sequel Pro中迁移 因此看起来数据库连接没有问题 但是 一旦我尝试从 Laravel 4 2 应用程序获取数据 它就无
  • 为 java 项目创建安装

    我创建了一个 java 项目 它使用数据库来检索 编辑和保存数据 我使用 Netbeans 完成了该项目 现在我想在该项目之外创建一个安装 为此 我想包含与项目一起安装的数据库 我用来连接数据库的代码是 Class forName com
  • 在 Laravel 中按数据透视表 create_at 排序

    在我的数据库中 我有以下表格 courses id 名称 创建时间 更新时间 students id 名称 创建时间 更新时间 课程 学生 id course id student id created at updated at 我正在尝
  • 合并两个具有相同列名称的 MYSQL 表

    我有两张桌子 表一是计划时间 id edition time 1 1 9 23am 2 2 10 23am 表二为实际时间 id edition time 1 1 10 23am 2 2 11 23am 我想要的结果是 Caption Ed
  • 如何比较行内的重叠值?

    我似乎对这个 SQL 查询有问题 SELECT FROM appts WHERE timeStart gt timeStart AND timeEnd lt timeEnd AND dayappt boatdate 时间格式为军用时间 物流
  • 我需要启用哪些权限才能使 Docker 卷正常工作?

    假设我有一个保存一些数据的 Docker 容器 我希望这些数据能够持续存在 如果容器被停止 删除 升级等 我仍然希望数据位于主机操作系统文件系统上的可访问位置 目前 我的解决方案是创建一个目录 srv service name在我的主机上
  • 选择前 n 个字符相等的行(MySQL)

    我有一张带有玩家句柄的桌子 如下所示 1 N Laka 2 N James 3 nor Brian 4 nor John 5 Player 2 6 Spectator 7 N Joe 从那里我想选择第一个 n 字符匹配的所有玩家 但我不知道
  • MySQL LIKE %string% 不够宽容。我还有什么可以用的吗?

    我有一位客户询问他们的搜索是否可以搜索公司名称 这些名称可以根据用户输入以多种格式进行搜索 例如数据库中存储的公司是 A J R Kelly Ltd 如果用户搜索 一个 J R Kelly 被发现 使用
  • 私人聊天系统MYSQL查询显示发送者/接收者的最后一条消息

    在这里我延伸一下我之前的问题 私人聊天系统MYSQL查询ORDERBY和GROUPBY https stackoverflow com questions 10929366 private chat system mysql query o
  • org.apache.derby.jdbc.ClientDriver 在哪里?

    我下载了jar包核心 Apache Derby 数据库引擎 还包括嵌入式 JDBC 驱动程序 10 9 1 0 http mvnrepository com artifact org apache derby derby 但那个罐子不包括
  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • MySQL:如何获取每个分组的x个结果数[重复]

    这个问题在这里已经有答案了 可能的重复 mysql 在 GROUP BY 中使用 LIMIT 来获取每组 N 个结果 https stackoverflow com questions 2129693 mysql using limit w
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq

随机推荐

  • C++_tuple, tie, std::get<>

    catalog std get lt gt tuple源码 tie 用处 简化比较 std get lt gt 要么返回的是 引用 要么返回的是 const 常量引用 即 std get lt 0 gt t 他返回的 一定是 t这个tupl
  • Linux新手入门教程

    下面给你讲解新手第一次接触Linux操作系统 一 学习Linux 1 Linux系统 Linux命令 ssh websever apache MySQL 缓存 PHP Python java 必备服务 2 Linux能做什么 企业服务器 嵌
  • 开发者营地

    本文聚焦于Glide的源码 基于Glide4 11 0 一 简介 Glide的GitHub Glide是一个快速高效的Android图片加载库 注重于平滑的滚动 Glide提供了易用的API 高性能 可扩展的图片解码管道 decode pi
  • WebSocket学习

    从搜索引擎搜索资料 https www runoob com html html5 websocket html WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议 WebSocket 使得客户端和
  • ISO/OSI七层模型

    想要让两台PC进行通信 必须使用相同的信息交换规则 我们把计算机网络中用于规定信息的格式 以及如何发送和接受信息的一套规则称谓网络协议或者通信协议 我们为了减少网络设计的复杂 人们按功能将计算机网络划分为多个不同功能的层 网络体系结构就是网
  • 游戏的基础—三消-1

    三消 简单的理解就是3个在一起就消喽 这里我们就最简单的操作的三消为例 就是你触屏按下去 然后以当前的位置像周围4个方向寻找是否有相同类型的游戏实体 如果有的话 把它存进一个list的里面 这里要强调一下c 里面数组一般用list因为lis
  • 字节(飞书)暑期实习面试记录

    字节一面 2022 05 07 20 00 21 20 前导 面试官简单介绍字节和面试注意点 1 自我介绍 问实习能多久 2 项目介绍部分 问 实习了多久 介绍项目 项目收获 项目难点 怎样轮询日志的 因为我项目介绍时候有提到 3 正片开始
  • 软考-信息管理——学习笔记_证

    前言 学习方法 应该达到 按照一级标题进行默写罗列 再默写二级标题默写罗列 最后按三级标题及知识点进行罗列 合同和法律篇 中标通知书发送30天内需签订合同 标底保密 招标文件发布起到截止日不得少于20天 不用招标的场景 需要采用不可代替的专
  • Eolink 旗下网关产品各版本功能及性能对比

    GoKu 网关提供企业版 EE 与开源版 CE 两个版本 满足不同阶段用户对于微服务的需求 两个版本均支持 私有云部署 开源版 CE 目前已停止维护 Apinto 开源版本是 Goku 开源版 CE 的一次架构升级 经过前面几年的网关架构和
  • 图像识别技术

    目录 1 什么是图像识别 2 图像识别的发展过程 3 图像识别的原理 4 图像识别的应用领域 5 图像识别未来的发展趋势 1 什么是图像识别 图像识别 又称为计算机视觉 是指利用计算机和人工智能技术对图像进行分析和理解 以自动识别和分类图像
  • Java并发之锁

    Java并发之锁 一 临界区 二 线程安全 三 解决临界区线程安全问题 四 Java对象头 五 重量级锁 Monitor 5 1 synchronized 5 1 1 synchronized加锁流程 六 轻量级锁 6 1 轻量级锁加锁流程
  • 信息收集的一些文件泄露

    1 robots txt文件泄露 放在网站的跟目录下 用于限制浏览器的访问 哪些可以抓取 哪些不能抓取 用于防止黑客 但是任何人可在url中直接通过 robots txt访问 导致网站结构被泄露 可对admin等重要文件设置密保保护 或者采
  • 【Python打包成exe方法】——已解决导入第三方包无法打包的问题​

    前言 在我们写代码的过程中 我们开发的脚本一般都会用到一些第三方包 可能别人也需要用到我们的脚本 如果我们将我们的xx py文件发给他 他是不能直接用的 他还需要安装python解释器 甚至还要安装我们用的那些第三方包 是不是有点小麻烦 但
  • Openmmlab(一)

    计算机视觉为研究如何自动理解图像和视频中的内容 运用于图像识别 人脸识别 计算机视觉应用 动漫特效 图像生成 风格迁移 虚拟主播 视频自动剪辑等 今日的计算机视觉 文字描述生成图片 视觉大模型 神经渲染CityNeRF 开源成为人工智能领域
  • js逆向webpack

    扣代码会遇到的基本2种形式 1 webpack function x 这里的x是存放模块1 模块2那个数组 function xx yy yy是存放模块1 模块2的数组下标 x yy call 模块参数1 模块参数2 模块参数3 必有一个加
  • 双系统ubuntu20.04(neotic版本)从0实现Gazebo仿真slam建图

    双系统ubuntu20 04 neotic版本 从0实现Gazebo仿真slam建图 昨晚完成了ROS的多机通讯 还没来得及整理相关操作步骤 在进行实际小车的实验之前 还是先打算在仿真环境中进行测试 熟悉相关的操作步骤 计划通过虚拟机 笔记
  • 【实验分享】CCIE—BGP反射器实验

    实验目的 l掌握BGP反射器的运行原理 l理解反射器的用途以及好处 实验说明 l通过此实验练习 可以灵活的使用BGP反射器 实验环境 l三台支持SPSERVICES的IOS的路由器 l直通线 实验拓扑 实验步骤 R1 config inte
  • alibaba fastjson jsonarray转list

    String avatar teacherEntity getAvatar if StringUtils isEmpty avatar List
  • Python——元类

    作者 小明 链接 https zhuanlan zhihu com p 30861351 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 什么是元类 理解元类 metaclass 之前 我们先了解下Pytho
  • 阿里云轻量级服务器部署网站 安装java+tomcat+Mysql

    网上关于部署服务器的教程已经是数不胜数 按理来说不应该重复造轮子 但是网上的教程没有很好的整合文章 于是乎笔者本着写一篇整合性 参考性比较强的角度出发写了这篇文章 本文详细写了阿里云轻量级服务器的安装jdk tomcat mysql部署简单