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) 測試部署是否成功?結束yesno

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. 結語

  感謝大家閱讀本文~
  祝大家生活愉快, 工作順利~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章