JavaWeb项目部署到云端服务器

1. 导语

  本文和大家一起, 尝试把一个JavaWeb项目部署到云服务器上, 让我们一同感受其中的欢乐吧~

2. 开工前的准备

  : ) 万事具备, 只欠东风~

3. 本文主要内容

Created with Raphaël 2.2.0 开始 (1) 自己的电脑上安装XShell (2) 开一个云服务器,CentOS7系统 (3) 在CentOS7的云服务器上安装 配置MySQL57 (4) 在CentOS7的云服务器上安装 文件上传和下载工具lrzsz (5) 在CentOS7的云服务器上安装 和配置Oracle的jdk1.8 (6) 在CentOS7的云服务器上安装 和配置tomcat 8 (7) 把项目根路径为/的 JavaWeb项目打成的 ROOT.war包部署到 云服务器 (8) 测试部署 是否成功? 结束 yes no

4. (1)~(2)XShell和云服务器

  XShell的安装和使用教程,请点击查阅⇒ 博主 “Zuckerbery” 的博文《Xshell 6安装与使用教程》https://www.cnblogs.com/Hijack-you/p/10501136.html
  至于云服务器, 到各大云服务器厂商注册一个账号, 便可以免费试用1个月左右, 或者可以买一台最低配的云服务器用于开发测试.

5. (3) 在CentOS7的云服务器上安装配置MySQL57

  MySQL57的安装配置, 请点击查阅⇒ 我之前写的的博文《IDEA的JavaWeb项目用云端服务器的SVN进行版本控制》https://blog.csdn.net/ShiJunzhiCome/article/details/101899323 的第5项 云服务器安装配置MySQL.

6. (4) 在CentOS7的云服务器上安装文件上传和下载工具lrzsz

  这部分内容,请点击查阅⇒ 博主 “形如陌人” 的博文《centos 7文件的上传下载》https://blog.csdn.net/qq_26741767/article/details/94435029

7. (5) 在CentOS7的云服务器上安装和配置Oracle的jdk1.8

7.1 流程图
Created with Raphaël 2.2.0 开始 (1) 从Oracle官网上下载jdk1.8 到自己的电脑上, 如 jdk-8u231-linux-x64.tar.gz (2) 在自己的电脑上使用XShell 远程登陆云服务器 (3) 使用文件上传和下载工具lrzsz 的rz命令上传jdk1.8到云服务器的 /home目录下 (4) 解压缩jdk-8u231-linux-x64.tar.gz 到/usr/lib/jvm目录下 (5) 配置jdk1.8的环境变量JAVA_HOME 和PATH (6) 使用alternatives命令安装jdk1.8 的java和javac, 并把CentOS7从使用 OpenJDK切换到使用刚刚配置的 Oracle jdk1.8 结束
7.2 (1)~(2) 太简单, 略过…
7.3 (3) 上传jdk1.8到云服务器

  用XShell远程登陆到云服务器后, cd /home到达/home目录下. 然后使用rz命令将jdk-8u231-linux-x64.tar.gz上传到此目录.

7.4 (4) 解压缩

  使用tar -xf jdk-8u231-linux-x64.tar.gz命令, 将jdk1.8解压缩. 然后得到目录jdk1.8.0_231, 并把它移动到/usr/lib/jvm目录下. 如下代码块所示:

[root@xxx ~]# cd /home
[root@xxx home]# rz
(把自己电脑下载的jdk-8u231-linux-x64.tar.gz上传上去)
[root@xxx home]# ls
jdk-8u231-linux-x64.tar.gz
[root@xxx home]# tar -xf jdk-8u231-linux-x64.tar.gz
[root@xxx home]# ls
jdk1.8.0_231  jdk-8u231-linux-x64.tar.gz
[root@xxx home]# mv jdk1.8.0_231 /usr/lib/jvm
[root@xxx home]# cd /usr/lib/jvm
[root@xxx jvm]# ls
java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64  jdk1.8.0_231 及其它一些文件
[root@xxx jvm]#
7.5 (5) 配置jdk1.8的环境变量

  直接上代码块:

[root@xxx jvm]# cd /etc
[root@xxx etc]# vim bashrc
输入i, 开始插入
(在此文件的末尾追加)
# java config
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_231
export CLASSPATH=$JAVA_HOME/lib
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$JAVA_HOME/bin
按下ESC键, 输入:wq
[root@xxx etc]# source /etc/bashrc (这行命令的含义是编译刚刚修改的文件, 让永久环境变量生效)
[root@xxx etc]# java -version
(这里可以看到, 用的仍然是OpenJDK, 所以有了下一步)
7.6 (6) 切换OpenJDK为Oracle jdk1.8

  这部分的拓展内容,请点击查阅⇒ 博主 “devalone” 的博文《CentOS 7 软件安装 —— 用 alternatives 命令安装多个版本的 JDK》https://blog.csdn.net/devalone/article/details/80564493
  我们使用博主 “devalone” 所写文章的部分内容, 代码块如下:

[root@xxx etc]# alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_231/bin/java 100
(上面一行的含义是安装Oracle jdk1.8 的 java命令)
[root@xxx etc]# alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_231/bin/javac 100
(上面一行的含义是安装Oracle jdk1.8 的 javac命令)
[root@xxx etc]# alternatives --config java  (含义是配置默认java)
There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*  1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin/java)
 + 2           /usr/lib/jvm/jdk1.8.0_231/bin/java

Enter to keep the current selection[+], or type selection number:(键盘输入2)
[root@xxx etc]# alternatives --config javac  (含义是配置默认javac)
There is 1 program that provides 'javac'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jdk1.8.0_231/bin/javac

Enter to keep the current selection[+], or type selection number: (直接回车就好)
[root@xxx etc]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
[root@xxx etc]# (配置成功)

8. (6) 在CentOS7的云服务器上安装和配置tomcat 8

8.1 流程图
Created with Raphaël 2.2.0 开始 (1) 从Apache官网下载 apache-tomcat-8.5.47.tar.gz 到自己电脑 (2) 使用rz命令将压缩包上传 到云服务器的/home目录下 (3) 解压缩并移动到/opt目录下 (4) 配置环境变量CATALINA_BASE 和PATH (5) 在/etc/systemd/system目录下 编写tomcat8.service文件 (6) 启动tomcat8服务, 设置开机自启 结束
8.2 (1)~(2) 太简单, 略过…
8.3 (3) 解压缩

  直接上代码块:

[root@xxx etc]# cd /home
[root@xxx home]# rz
(上传apache-tomcat-8.5.47.tar.gz)
[root@xxx home]# ls
apache-tomcat-8.5.47.tar.gz  jdk-8u231-linux-x64.tar.gz
[root@xxx home]# tar -xf apache-tomcat-8.5.47.tar.gz
[root@xxx home]# ls
apache-tomcat-8.5.47  apache-tomcat-8.5.47.tar.gz  jdk-8u231-linux-x64.tar.gz
[root@xxx home]# mv apache-tomcat-8.5.47 /opt
[root@xxx home]# cd /opt
[root@xxx opt]# ls
apache-tomcat-8.5.47
[root@xxx opt]#
8.4 (4) 配置环境变量CATALINA_BASE和PATH

  直接上代码块:

[root@xxx opt]# vim /etc/bashrc
输入i, 开始插入
(在此文件的末尾追加)
# java config
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_231
export CLASSPATH=$JAVA_HOME/lib
# tomcat confg
export CATALINA_BASE=/opt/apache-tomcat-8.5.47
# 注意下面的PATH追加了:$CATALINA_BASE/bin
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$JAVA_HOME/bin:$CATALINA_BASE/bin
按下ESC键, 输入:wq
[root@xxx opt]# source /etc/bashrc (这行命令的含义是编译刚刚修改的文件, 让永久环境变量生效)
[root@xxx opt]#
8.5 (5) 在/etc/systemd/system目录下编写tomcat8.service文件

  直接上代码块:

[root@xxx opt]# cd /etc/systemd/system
[root@xxx system]# ls
aliyun.service      default.target        getty.target.wants     multi-user.target.wants  system-update.target.wants
basic.target.wants  default.target.wants  local-fs.target.wants  sysinit.target.wants
[root@xxx system]# touch tomcat8.service
[root@xxx system]# vim tomcat8.service
输入i, 开始插入
(在此文件的末尾追加)
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=oneshot
# 注意下面这两个路径的配置, 一个启动的路径, 一个是关闭的路径
ExecStart=/opt/apache-tomcat-8.5.47/bin/startup.sh
ExecStop=/opt/apache-tomcat-8.5.47/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
按下ESC键, 输入:wq
8.6 (6) 启动tomcat8服务, 设置开机自启

  直接上代码块:

[root@xxx system]# systemctl status tomcat8
● tomcat8.service - Tomcat
   Loaded: loaded (/etc/systemd/system/tomcat8.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Sun 2019-11-10 21:30:41 CST; 1s ago
  Process: 2501 ExecStop=/opt/apache-tomcat-8.5.47/bin/shutdown.sh (code=exited, status=0/SUCCESS)
  Process: 1861 ExecStart=/opt/apache-tomcat-8.5.47/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 1861 (code=exited, status=0/SUCCESS)
[root@xxx system]# systemctl start tomcat8
 ● tomcat8.service - Tomcat
   Loaded: loaded (/etc/systemd/system/tomcat8.service; enabled; vendor preset: disabled)
   Active: active (exited) since Sun 2019-11-10 13:53:41 CST; 7h ago
  Process: 1805 ExecStop=/opt/apache-tomcat-8.5.47/bin/shutdown.sh (code=exited, status=0/SUCCESS)
  Process: 1861 ExecStart=/opt/apache-tomcat-8.5.47/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 1861 (code=exited, status=0/SUCCESS)
[root@xxx system]# systemctl enable tomcat8  (含义是设置开机自启)
[root@xxx system]# systemctl restart tomcat8

9. (7) 部署JavaWeb项目

9.1 流程图
Created with Raphaël 2.2.0 开始 (1) 更改JavaWeb项目中的一些配置 如jdbc.properties文件, pom.xml文件 (注意此Web项目的根路径为/) (2) 把JavaWeb项目打成war包, 修改 包名为ROOT (3) 上传ROOT.war到云服务器的/home 目录下 (4) 上传本地数据库备份xxx.sql到云服务器 的/home目录下, 并导入到云端数据库 (5) 把/opt/apache-tomcat-8.5.47/webapps 目录下的ROOT目录移动到/home目录下 (6) 把/home/ROOT.war文件拷贝到 /opt/apache-tomcat-8.5.47/webapps目录下 (7) 云服务器安全组规则放行 出和入的8080端口 (8) 测试: 访问Web项目 http://云服务器的公网IP:8080/ 稍等一会儿, 等tomcat解压ROOT.war 结束
9.2 (1) 更改JavaWeb项目配置
  1. 把jdbc.properties里的数据库名称, 账户和密码 改为云服务器上MySQL57对应的数据库名称, 账户和密码;
  2. pom.xml文件里, 注释掉mybatis逆向工程用到的插件.
9.3 (2)~(3) 太简单, 略过…
9.4 (4) 上传本地数据库备份, 并导入云端数据库

  直接上代码块:

[root@xxx system]# cd /home
[root@xxx home]# rz
(上传xxx.sql文件)
[root@xxx home]# mysql -uroot -p对应的密码 数据库名称</home/xxx.sql
9.5 (5) 把/opt/apache-tomcat-8.5.47/webapps目录下的ROOT目录移动到/home目录下

  直接上代码块:

[root@xxx home]# cd /opt/apache-tomcat-8.5.47/webapps
[root@xxx webapps]# mv ROOT /home
9.6 (6) 把/home/ROOT.war文件拷贝到/opt/apache-tomcat-8.5.47/webapps目录下

  直接上代码块:

[root@xxx webapps]# cd /home
[root@xxx home]# cp ROOT.war /opt/apache-tomcat-8.5.47/webapps
9.7 (7)~(8) 略过… , 自己测试就好

10. 结语

  感谢大家阅读本文~
  祝大家生活愉快, 工作顺利~

发布了10 篇原创文章 · 获赞 11 · 访问量 334

猜你喜欢

转载自blog.csdn.net/ShiJunzhiCome/article/details/103000856