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

时间:2022-09-17 13:35:29

文章中使用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 指点迷津