阿里云esc服务器上部署java项目

时间:2022-09-08 14:12:57

文章中使用centos(6和7版本)、Xshell、Xftp

因为部署过程直接从操作服务器开始,如果你还没有连接好服务器请参考http://blog.csdn.net/ctrlxv/article/details/79054941,现在就当你已经有自己的服务器了,并且连接好了服务器和可以进行简单的服务器操作了;首先应该明白要想部署java web项目到服务器中,并且可以通过浏览器访问到你部署的java web项目需要安装jdk、tomcat、mysql;下面通过两种安装方法(安装包解压安装、yum源安装)来安装上面三个软件,具体步骤如下:

注:在安装软件之前需要查看下系统中是否已经安装了此软件(如:java --version 判断是否安装java,安装了会输出版本号)

一、安装配置jdk1.8(tomcat的运行依赖jdk,所以先安装)
  0、使用命令“java -version”看系统中是否安装了jdk,如果没有任何输出说面没有安装,否则输出已安装版本;已安装请跳过,或者使用命令“rpm -e 软件名”进行卸载;

  1、点击链接http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html进入官网、下载指定的安装包如下:

    阿里云esc服务器上部署java项目

  2、安装下载到任意目录

  3、将下载的安装包通过Xftp上传到服务器中(也可以是其它可行的方法)

  注:文件上传不清楚的参考http://blog.csdn.net/ctrlxv/article/details/79054941

4、通过Xshell登录到服务器中进入指定压缩包所在目录,使用命令“tar -zxvf 压缩包名”进行解压缩到当前目录,如下:

  阿里云esc服务器上部署java项目

  解压完成出现对应的文件夹,如下:

  阿里云esc服务器上部署java项目

  现在压缩包已经没有用了,可以删除,也可以留着,删除使用rm命令,如下:

  阿里云esc服务器上部署java项目

5、配置jdk环境变量

  使用"vim /etc/profile"进入profile文件按“i”进入插入模式,在文件的最后添加如下信息:

  export JAVA_HOME=/opt/jdk1.8.0_151(jdk的安装目录)

  export CLASSPATH=$JAVA_HOME/jre/ib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  export PATH=$PATH:$JAVA_HOME/bin

  最后按Esc进入命令模式,键入:wq保存并退出文件:

  阿里云esc服务器上部署java项目

  也可以通过xftp下载到本地,然后修改后上传覆盖

6、测试jdk是否安装成功

  使用命令“java -version”查看刚安装的jdk版本;还可以键入:java或javac将输入一串信息说明安装成功。

二、安装配置Tomcat9

  1、点击链接 https://tomcat.apache.org/download-90.cgi 进入Tomcat官网选择版本下载core中的tar.gz包:

    阿里云esc服务器上部署java项目

  2、将下载好的压缩包通过Xftp上传到服务器中,然后进行解压,最后删除压缩包:(具体步骤同jdk的安装)

  3、Tomcat的配置(同jdk,在/etc/profile文件末尾加上下面配置)

    阿里云esc服务器上部署java项目

  4、安装配置完成,现在需要测试Tomcat之前的步骤是否成功:

    进入tomcat的安装目录下的bin目录使用命令“./startup.sh”开启tomcat服务,见如下信息开启成功:

    阿里云esc服务器上部署java项目

    在任意浏览器中访问http://207.148.64.46:8080/,出现Tomcat的主页面说明安装配置成功。

    注:如果服务器正常启动了但不能进行访问,可能是服务器没有将8080(tomcat默认端口)对外公开(默认不公开),需要到服务器管理控制台进行“添加安全组规则”开放8080端口。(具体操作请百度)

三、MySQL的安装配置(使用yum源安装)

  0、安装前准备:

    因为在 centos 6 和 centos 7 中安装使用 mysql 有比较大的不同,所以在安装之前需要清楚系统环境;首先使用 cat /etc/redhat-release 命令查看系统发布版本;使用 rpm -qa | grep maria 命令查看是否安装了 mariadb 软件(类似mysql的数据库软件,完全兼容mysql,在 centos 7 中默认已经安装),如果安装了需要进行卸载再进行安装 mysql,否则会出现安装冲突的错误。(下面实例以 centos 7 为例)

  0-1、卸载 mariadb 软件:(没安装此软件跳过)

    使用命令 yum remove mariadb-libs -y 卸载,完成后再进行查看是否存在,没有进行下一步;

  1、首先需要查看系统中是否存在要安装的 mysql 的rpm包,使用如下命令:

    yum list Mysql*(mysql*不行) ---> 没有返回说明没有安装,否则返回已安装的rpm安装包(存在的话直接跳到第3步)

  2、如果没有就需要下载 mysql 的yum源安装包:

    注:要找到对应系统版本的package(我服务器是centos7的,所以使用el7的mysql安装包)

    点击 https://dev.mysql.com/downloads/repo/yum/ 进入 mysql 的官网,如下图所示:

    阿里云esc服务器上部署java项目

    然后使用 wget 执行如下命令进行yum源安装包的下载:

    wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

  3、安装 mysql 源

    使用 yum localinstall mysql57-community-release-el7-11.noarch.rpm 命令进行安装

    阿里云esc服务器上部署java项目

    阿里云esc服务器上部署java项目

  4、检查是否安装成功

    再次使用 yum repolist enabled | grep "mysql.*-community.*" 命令查看,出现如下界面,安装成功:

    阿里云esc服务器上部署java项目

    注:可以使用 yum info mysql-community-server 查看 mysql 的详细信息

    阿里云esc服务器上部署java项目

  5、安装 mysql

    使用 yum install mysql-community-server -y 命令安装 mysql;

    阿里云esc服务器上部署java项目

  6、检查 mysql 是否安装成功

    可以使用"mysql -V"或“musql --version”命令查看当前的版本;和使用 "systemctl status mysqld" 查看mysql服务的状态;如下图所示:安装成功

    阿里云esc服务器上部署java项目

    注:当系统不是centos7版本时,上面查看状态命令可能不起作用,需要使用 "service mysqld status"命令,如下:(我在这里测试的是 6.9 版本)(开始服务、停止服务的命令同理)

    阿里云esc服务器上部署java项目

  7、登录 mysql 服务

    当首次登录时有一个默认的登录密码,使用 grep ‘temporary password’ /var/log/mysqld.log 命令获取默认密码,(密码为输出结果的最后一串字符)

    默认密码一般比较繁琐,且不安全,可以对密码进行修改,使用如下命令进行修改:

    set password for 'root'@'localhost'=password('NewPassword'); 然后就可以使用 mysql -u root -p 进行登录 mysql 了。

    注:测试系统centos6.9 ,mysql5.1 ;使用上面的命令查找不出默认初始密码,可以使用下面方法:

    首先启动 mysql 服务,然后查看服务的进程信息,使用 ps -ef | grep -i mysql 命令,找到 mysqld_safe 所在目录(如下图所示),然后停止服务;执行 /usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1& 命令,接着执行 /usr/bin/mysql -u root mysql 命令,后会出现 "mysql>" ,进入了 mysql ,现在 使用 update user set password=Password('你的密码') where User='root'; 命令修改密码,然后执行 flush privileges; 命令,然后就OK了,使用 exit 退出账号,现在就可以使用 mysql -u root -p 命令输入之前设置的密码既可以使用了。具体实现如下图:(密码设置格式有具体要求,见下面第9点)

    阿里云esc服务器上部署java项目

    阿里云esc服务器上部署java项目

    阿里云esc服务器上部署java项目

    8、配置默认编码

      修改 /etc/my.cnf 配置文件,在文件中的 [mysqld] 下添加如下编码设置:

      character_set_server=utf8

      init_connect='SET NAMES utf8'

    9、查看密码策略

      使用 show variables like '%password%' 命令,会输出如下密码要求信息:

      阿里云esc服务器上部署java项目

      可以修改策略,进入 /etc/my.cnf 文件,在其中添加 validate_password=off 语句,表示取消密码策略,重启服务再次查询时就不会有了;详细有关策略的设置见:  https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy 。

四、基本软件安装完成,现在可以真正部署项目到服务器中了:

  实现过程其实和在window系统上一样的设置,将编译好的项目直接放到 Tomcat 下的 webapp 文件夹下,然后到浏览器中访问就可以了

  到这一个java web项目就结束了。

  注意:当部署项目到服务器中,在浏览器中能访问 Tomcat 首页但当访问项目时出现404错误时,可以在启动 Tomcat 时使用 ./catalina.sh run 命令(可以查看到具体的服务器启动日志信息),可以很方便的查找出错误。

  备注:可能用到的基础命令(注:软件安装的路径问题,下面命令以我自己的软件安装路径为例)

  sh /opt/apache-tomcat-9.0.2/bin/startup.sh ---> 启动 tomcat 服务

  sh /opt/apache-tomcat-9.0.2/bin/shutdown.sh ---> 关闭 tomcat 服务

  ps -ef | grep tomcat  ---> 判断tomcat是否启动

  sytemctl start mysqld 或 service mysqld start ---> 开启mysql服务

  sytemctl stop mysqld 或 service mysqld stop ---> 关闭服务

  sytemctlstatusmysqld 或 service mysqld status ---> 查看当前服务状态

遇到的问题

  在配置tomcat的时候并没有输入ip加8080出现tomcat界面,是因为服务器端没有释放8080的端口需要你登入阿里云后台去添加安全策略,端口设置8080/8080;

  如果你的ip直接在cmd里进行ping返回的超时,说明你要配置安全组入方向:全部ICMP;

阿里云esc服务器上部署java项目

其次就是安装mysql的登入问题,第一次登入提示

阿里云esc服务器上部署java项目

是提示你需要重置你的密码: SET PASSWORD = PASSWORD('新密码');

但是输入以后又出来问题了 他提示

阿里云esc服务器上部署java项目

这是因为你设置的密码不符合他定义的密码格式或者规则

你可以降低他的校验 set global validate_password_policy=LOW;

阿里云esc服务器上部署java项目

然后再输入 SET PASSWORD = PASSWORD('新密码'); 回车

阿里云esc服务器上部署java项目

即表示成功了,然后就可以任意使用了

最后感谢博主https://blog.csdn.net/ctrlxv/article/details/79057234 指点迷津

阿里云esc服务器上部署java项目的更多相关文章

  1. 阿里云服务器上部署java项目(安装mysql)

    安装mysql步骤如下: 1.安装MySQL官方的yum repository: wget -i -c http://dev.mysql.com/get/mysql57-community-relea ...

  2. 阿里云服务器上部署java项目(安装jdk,tomcat)

    安装JDK a.执行下面的yum指令安装,无线配置环境变量. 1.yum -y update #首先更新一下YUM源2.yum list Java* ---------#列出所有的JDK 3.yum ...

  3. 阿里云ESC服务器centos6.9使用及注意事项

    阿里云ESC服务器,配置低,但是足够新手尝试操作练习. 使用之前,注意事项: 选择操作系统 设置实例快照 安装终端工具 一,选择操作系统. 可以在购买服务器的时候进行选择系统盘,也可以在购买之后在实例 ...

  4. 使用Navicat远程连接阿里云ECS服务器上的MySQL数据库

    一.必须给服务器的安全组规则设置端口放行规则,在管理控制台中设置: 之后填写配置,授权对象是授权的IP,其中0.0.0.0/0为所有IP授权,之后保存; 二.Navicat使用的配置 在编辑连接处,要 ...

  5. 如何在阿里云linux上部署java项目

      前2天把git练了下,敲了很多命令,也借助图形界面增强自己的理解,乘着余热把linux在熟悉下.然后想起以前婷主有让我帮忙搭建的阿里云服务器,所以就想自己试着在阿里云的linux上搭建自己的jav ...

  6. linux服务器上部署springboot项目,并让他持续运行到后台

    我们知道在运行springboot 项目只需要java -jar + 项目的war包(jar包)名. 但是只要终端已停止那么服务就会被关闭,也就无法访问到我们的项目了.所以我们可以使用守护进程的方式来 ...

  7. 一个空行引起的阿里云负载均衡上部署https证书的问题

    今天在阿里云上购买了WoSign的https证书,在证书签发后,在控制台下载证书文件,一共有2个文件,一个是.key文件(私钥文件),一个是.pem文件(证书文件). 然后在阿里云负载均衡“证书管理” ...

  8. 在阿里云ECS CentOS7上部署基于MongoDB+Node.js的博客

    前言:这是一篇教你如何在阿里云的ECS CentOS 7服务器上搭建一个个人博客的教程,教程比较基础,笔者尽可能比较详细的把每一步都罗列下来,包括所需软件的下载安装和域名的绑定,笔者在此之前对Linu ...

  9. windows server服务器上部署java+tomcat网站域名配置

    如果只是部署java项目的话,可以把IIS删除,然后在服务器上安装jdk tomcat 配置好环境变量,就和你在自己计算机上开发一样,把你的项目war包拷到tomcat下的webapps里(任意目录都 ...

随机推荐

  1. javascript移动设备Web开发中对touch事件的封装实例

    在触屏设备上,一些比较基础的手势都需要通过对 touch 事件进行二次封装才能实现.zepto 是移动端上使用率比较高的一个类库,但是其 touch 模块模拟出来的一些事件存在一些兼容性问题,如 ta ...

  2. python中获取上一个月一号的方法

    业务场景: 我们经常会跑一些月级别或者周级别的报表. 周级别的报表还比较好确定,就是七天前的直接用timedelta(days=7)来获取开始日期就可以了; 但是月级别的报表就要麻烦一些,因为time ...

  3. Oracle存储过程中临时表的使用技巧

    一.Oracle临时表知识 在Oracle中,临时表分为SESSION(会话级).TRANSACTION(事务级)两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSIO ...

  4. DedeCMS模板文件不存在,无法解析文档! 问题定位方法

    生成静态的时候,经常会遇到“模板文件不存在,无法解析文 档!”的问题.很多朋友试过论坛里很多方法,都是针对某些人可以解决,某些人的问题依旧,为什么呢?其实问题很可能确实是多种多样的,表现结果却是一样, ...

  5. HackerRank "Vertical Rooks"

    Please note: VROOK cannot go back-ward - that leads to a simple variation to Game of Nim: just XOR. ...

  6. Jenkins 七: 部署到Tomcat

    在build.xml定义了打包target之后,我们可以将打包生成的war文件直接部署到tomcat. 1. 建立Tomcat用户. 打开Tomcat安装路径下的 conf/tomcat-users. ...

  7. [全国首发]Swift视频教程

    我真的很抱歉,每个人,从7带班开始到现在,最后的成品带. 到了最新的版本号,Swift语言一直在更新,非常多写法都变了.大家能够加我私人微信:wanghj29,我会在朋友圈更新swift的最新动态.此 ...

  8. C# 非public的方法和属性的单元测试

    有时候我们写好的类库中,某些类的属性和方法不应该暴露出来,那么如何对这些非public的方法和属性进行单元测试? MS为我们提供了PrivateObject类,可以解决这个问题,可以去MSDN的说明文 ...

  9. angular 1.26 版本 window.history.back() 自动去顶部

    在1.26版本,在url ("www.example.com#xx"),接着按back,会自动调到顶部,这是因为angular的默认设置 只要在config注入$AnchorScr ...

  10. test文件伪装

    该文件属于伪装图片类型.图片另存后把后缀改为rar将看到txt文件. 利用了 cmd cp  /b  命令 命令格式:copy /b 文件1+文件2+......文件N 合并后的文件名<br&g ...