0.前言

主要包括以下四步骤
jdk8的安装
tomcat9的安装
mysql8的安装及配置
项目war包的发布

一、java环境

网上很多教程是在本地下载jdk,然后再在Linux环境下解压的方式进行安装的。实在是有点麻烦。这里可以用ubantu的openjdk进行安装。具体操作如下:

1.1查找合适的openjdk版本:

sudo apt-get update

apt-cache search openjdk

输入以上命令后会列出很多版本, 选择自己需要的即可:

使用Apache CXF 生成java_war包

1.2 选择具体版本安装

sudo apt-get install openjdk-8-jdk

1.3 配置环境变量, 编辑如下文件:

vim ~/.bashrc

在最后一行加:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使用Apache CXF 生成java_使用Apache CXF 生成java_02

1.4测试jdk是否安装成功:

java -version

显示如下结果, 则说明安装成功:

使用Apache CXF 生成java_mysql_03

二、tomcat安装

2.1 安装tomcat9.0

sudo apt-get install tomcat9

2.2 启动tomcat服务

进入tomcat下的bin目录
发现 tomcat started

sudo ./startup.sh

: ./catalina.sh start 和 ./startup.sh 都能启动tomcat。使用 ./catalina.sh stop 或 ./shutdown.sh 停止tomcat。

2.3 设置阿里云服务器开放8080端口

登录阿里云,进入云控制台 -->安全 -->防火墙,添加新规则

顺便把3306端口一起开了吧。后续的mysql需要使用。

使用Apache CXF 生成java_tomcat_04

2.4 测试

在浏览器中输入你主机的ip地址加上8080进行访问,出现如下,则说明tomcat正常

使用Apache CXF 生成java_使用Apache CXF 生成java_05

3.mysql8安装

使用的版本是mysql8

3.1 安装mysql8.0

apt-get install mysql-server

查看mysql版本

mysql --version

使用Apache CXF 生成java_war包_06

3.2 启动并登录mysql

很奇怪在mysql安装的过程中没有进行密码的设置,而且安装完成后自动启动了mysql服务。如果没有的话,使用如下命令开启mysql

启动
service mysql start;
查看启动状态
service mysql status;

在mysql启动后,直接输入mysql就可以进入,因为刚开始是没有密码的。

查看mysql 数据库(use mysql;)中的user表,只看user,host和authentication_string 三个字段,可以看到密码一列(加密过的),root对应的密码是空的。

使用Apache CXF 生成java_war包_07

查看默认的用户名和密码

vim /etc/mysql/debian.cnf

因此我们也可以通过以下两种方式进行登录
1、

mysql -u debian-sys-maint -p
enter passward: CMaDXP97tQCPoTYn

2、

mysql -u root
登录mysql

使用Apache CXF 生成java_mysql_08

3.3 更改mysql root用户密码

具体可参考这个博客:https://www.jianshu.com/p/ecc1f11f76d8

mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';// 123为新密码
flush privileges;
mysql> quit;

使用Apache CXF 生成java_tomcat_09

再次登录,用新的密码

mysql -u root -p

再次查看mysql 数据库下的user表,可以看到root已经有新的密码了

使用Apache CXF 生成java_使用Apache CXF 生成java_10

3.4 开启3306端口
  1. 开放MySQL用户远程访问权限
    网上很多教程是这样做的,但是我不可以。。

grant all privileges on . to ‘root’@’%’ identified by ‘123456’;

我的操作是
update user set host = '%' where user = 'root';flush privileges; 2. 防火墙开放3306端口
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT 查看 3306 端口是否开放

netstat -an|grep 3306

下图这样就是没有打开的情形。可参考这篇博文

使用Apache CXF 生成java_war包_11

  1. 修改MySQL监听
    vim /etc/mysql/mysql.conf.d/mysqld.cnf 添加 port = 3306
  2. 使用Apache CXF 生成java_war包_12


注释掉bind-address = 127.0.0.1

使用Apache CXF 生成java_tomcat_13

重启MySQL后查看3306端口

sudo /etc/init.d/mysql restart
netstat -an | grep 3306

使用Apache CXF 生成java_使用Apache CXF 生成java_14

这一步非常重要!我就是改完之后没有重启,然后就一直没有成功

3.5 navicat 远程连接测试

在navicat中新建连接,输入主机、端口号、用户名和密码,点击连接测试。如果显示连接成功,就表明mysql支持远程连接

使用Apache CXF 生成java_tomcat_15

3.6 创建项目所需的数据库

根据项目的需要自己建立数据库、添加表以及必要的字段。

四、添加war包

4.1 导出

导出eclipse中的项目,以war包的形式

项目右键export-》web-》war file 点击next,选择要保存的路径

使用Apache CXF 生成java_tomcat_16

4.2 相应的 war 导入 tomcat 的/webapps/文件夹下
  1. 找到webapps的路径
    输入命令sudo find / -name *webapps*找到tomcat webapps所在的路径
  2. 使用Apache CXF 生成java_mysql_17

  3. winscp
    利用winscp将本地的war包复制到服务器相应的webapps下
  4. 使用Apache CXF 生成java_使用Apache CXF 生成java_18

  5. 测试
    网站中输入
    ip:8080/war包名称
    如果能够正确显示网页,则配置成功。
  6. 使用Apache CXF 生成java_mysql_19

完结撒花

具体操作过程中还会遇到各种各样的问题,欢迎交流!