zoukankan      html  css  js  c++  java
  • 阿里云CentOS下部署JavaWeb项目完整教程

    准备工作

    所需工具

    • jdk

      可以去官网根据实际需求选择。在这里,提供1.8版本的网盘地址:jdk8 (访问码:bvt5)

    • Xshell

      这一个是收费软件,但是有个人版本,可以免费使用。我们可以使用它通过ssh对主机进行远程。对于安装与使用,这里推荐一个博客,记录的比较全面,可以参考一下:Xshell使用教程

    • Xftp

      这一个软件用来管理远程主机的文件,同时也可以用它传输文件,操作很方便。安装以及使用和Xshell类似,可以参考上面的链接给出的地址进行下载安装。

    • apache tomcat

      可以去根据需求去官网下载。这里给出Tomcat8版本的网盘地址:tomcat8 (访问码:5tcq)

    Linux常用命令行操作

    • 查找某个文件所在位置

      find / -name 要查找的文件名称
      
    • vim基本操作

      • 进入

        vim 要编辑的文件路径
        

        vim /etc/profile

      • 编辑模式

        一般按 i I 进入编辑模式

      • 退出

        编辑完成后首先按esc,退出当前操作,然后按下面的命令进行相应的操作

        • :wq 保存并退出
        • :wq! 强制保存并退出
        • :q! 强制退出,并放弃当前更改
        • q 不保存文件,退出

        输入命令后回车即可。

      • 使配置文件生效

        source 你所编辑配置文件的目录
        

        source /etc/profile

    • 跳转目录

      cd 你要跳转的目录
      

      cd /usr/local/Java

    • 重启服务

       service mysqld restart
      

      实际使用将mysqlld换成其它服务即可。

    • 解压安装包

      tar –zxvf 安装包名称
      

      tar –zxvf jdk-8u131-linux-x64.tar.gz

    • 移动文件

      mv 要移动的文件名称  目标目录
      

    修改阿里云实例密码

    在这里插入图片描述

    在这里插入图片描述

    准备文件

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    登录成功后在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    然后将之前下载好的jdk安装包,以及tomcat安装包分别放到指定的目录下面。(可以直接拖拽文件传输)

    安装JDK

    • 打开Xshell并连接到主机

    • 切换到jdk安装包所在目录 cd /usr/java/jdk/

    • 使用解压命令进行解压 tar –zxvf jdk-8u161-linux-x64.tar.gz

      注意:文件名称需要根据实际情况而定

    • 删除安装包 rm -f jdk-8u161-linux-x64.tar.gz

      注意:可选操作,也可以使用Xftp进行删除

    • 编辑全局配置文件 vim /etc/profile

      注意:vim的基本操作可以参考前面的linux常用命令,进入后按iI键进入编辑模式,编辑完成后,先按ESC键,然后按:wq保存并退出

    • 在文本最后添加

      export JAVA_HOME=/usr/develop/java/jdk1.8.0_161
      export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$PATH:$JAVA_HOME/bin
      

      注意:也能是在第一次出现export语句下面添加,或者在第一段代码结束的地方添加。根据实际情况而定,后面有方法判断是否配置成功,如果不成功,可能是添加的位置错了,多尝试几个位置试试。

    • 使配置文件生效 source /etc/profile

    • 检查是否成功 java -version

      注意:如果出现java版本信息,则说明配置成功,否则失败。如果失败,请检查在文本中添加的命令的位置。

    安装tomcat

    • 切换到tomcat安装包所在目录 cd /usr/java/tomcat/

    • 使用解压命令进行解压 tar -zxvf apache-tomcat-8.5.56.tar.gz

      注意:文件以及目录名称需要根据实际情况而定

    • 删除安装包 rm -f apache-tomcat-8.5.56.tar.gz

    • 切换到tomcat的bin目录下 cd /usr/java/tomcat/apache-tomcat-8.5.56/bin/

    • 编辑 setclasspath.sh 脚本 vim setclasspath.sh

      注意:vim的基本操作参考上文

    • 添加以下内容

      export JAVA_HOME=/usr/java/jdk/jdk1.8.0_161
      export JRE_HOME=/usr/java/jdk/jdk1.8.0_161/jre
      
    • 启动tomcat进行测试

      注意:此时目录应仍在tomcat的bin目录下

      ./startup

    • 如果出现

      在这里插入图片描述

      则说明已经启动成功。

    • 测试

      在浏览器中输入 服务器ip:8080/进行测试,如果可以跳转到tomcat官网,说明成功。

    访问出现404

    在配置完tomcat后,可以正常启动,但是访问出现404。出现这种情况是因为阿里云没有将8080端口添加到安全组,需要我们自己手动添加。

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    配置完成后可以重新在浏览器发起请求,如果可以进入tomcat官网,说明成功。

    配置mysql

    mysql的配置,我参考了简书的一位同学的博客,写的很清晰,按照步骤一步一步来就行了。这里给出博客地址:mysql配置

    部署war包

    IDEA将web应用打包成war包

    File ——> Project Structure ——> Artifacts

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    war包生成的位置,可以根据第一张图,被打码那个路径的位置进行查找。

    部署

    打开Xftp,找到tomcat下的webapps

    在这里插入图片描述

    将要部署的war包复制到该目录下,开启tomcat后,tomcat会自动将war包解压,至此,就完成了部署。

    测试

    在浏览器中输入下面格式的url进行测试

    服务器ip:8080/war包的名称/xx

    注意:默认将war包的名称作为项目名称。

    mysql查询异常

    乱码

    如果是查询出来的结果为乱码请先检查IDEA项目编码,文件编码,mysql默认编码。

    如果Java将中文参数传递给mysql时出现乱码请按照以下格式填写url:

    jdbc:mysql://localhost:3306/pet?useUnicode=true&characterEncoding=UTF-8

    版本不同出现的错误

    本人在使用时遇到的一个异常:

    Expression #12 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘pet.a.id’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    

    出现的原因

    这个和mysql的版本有关,我之前用的是mysql5.6以前版本,对group by语句的使用没有太多限制,但是更新版本后就出现了这个问题。

    解决方案

    • 首先查找mysql配置文件 my.cnf find / -name my.cnf

    • 使用vim对配置文件进行编辑 vim 查找到的目录 例如我的是:vim /etc/my.cnf

    • 动到文件底部赋值如下内容,然后保存并退出输入模式

      sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
      
    • 重启mysql服务

      service mysqld restart

  • 相关阅读:
    hibernate框架的搭建与简单实现增删改
    $.ajax();详解
    利用json实现数据传输
    利用ajax实现数据传输
    错误:Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp;的解决
    简单使用jstl实现敏感字替换
    实用jstl实现未登录时不能绕过登录界面的效果
    简单实用jstl实现“登录|注册”
    简单实用jstl实现代码编写
    简单使用EL进行标签的替换
  • 原文地址:https://www.cnblogs.com/zwscode/p/14243942.html
Copyright © 2011-2022 走看看