1. 程式人生 > 實用技巧 >Linux系統部署WEB專案(2020最新最詳細)

Linux系統部署WEB專案(2020最新最詳細)

2020最新Linux系統發行版ContOS7演示部署WEB專案

為防止操作許可權不足,建議切換root使用者,當然如果你對Linux命令熟悉,能夠自主完成許可權更新操作,可以不考慮此推薦。

更多命令學習推薦:

本次專案開發環境:

  MySQL5.7、JDK1.8、Maven3.6、Tomcat9.x、SSM+Redis+JavaMal+Quartz

本次專案部署環境:

  Linux(CentOS7)、MySQL5.7、JDK1.8、Tomcat9.x、Redis6.x

本次專案部署前環境搭建:

  1. 安裝Linux系統(CentOS7):待續未完
  2. 配置YUM源:https://www.cnblogs.com/xsge/p/13821276.html
  3. 安裝MySQL5.7:https://www.cnblogs.com/xsge/p/13827288.html
  4. 安裝JDK1.8:https://www.cnblogs.com/xsge/p/13817301.html
  5. 安裝Tomcat9.x:https://www.cnblogs.com/xsge/p/13819537.html
  6. 安裝Redis6.x:https://www.cnblogs.com/xsge/p/13841875.html

1、專案部署前準備工作

  A、資料庫準備

  1. 本地主機匯出資料庫檔案:xxx.sql。
    DOS命令(Window鍵+R鍵快速開啟執行,輸入CMD回車,鍵入下面的命令執行)
    1 ####格式:mysqldump  -u使用者名稱  -p密碼  --databases 庫名>匯出檔案地址+檔名.sql
    
    2 C:\Users\XIAOSAGEER>mysqldump -uroot -proot --databases t_4s_demo>D:/demo.sql
    匯出方式有很多,更多方式請自己查閱資料或參考我的部落格首頁,學習有關SQL命令操作。
  2. 啟動並連線Linux服務。
  3. 使用XFTP工具,將xxx.sql檔案上傳至Linux系統/home/xsge目錄中。(儲存地址並非固定,建議放置在當前使用者目錄下)
  4. 切換root賬戶。
  5. 登入MySQL。
  6. 建立資料庫demo。
  7. 匯入資料庫資訊。
     1 ####切換root賬戶
     2 [xsge@localhost ~]$ su
     3 密碼:
    4
    ####登入MySQL:-u使用者名稱 -p密碼 5 [root@localhost ~]# mysql -uxsge -p 6 password: 7 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 8 9 ####登入成功,檢視所有庫 10 mysql> show databases; ####檢視所有庫 11 +------------------------+ 12 | Database | 13 +------------------------+ 14 | information_schema | 15 | mysql | 16 | performance_schema | 17 | sys | 18 +------------------------+ 19 ####建立庫:demo(通常庫名與本地SQL庫名稱一致) 20 mysql> create database demo; 21 22 ####匯入SQL資料 23 mysql> source /home/xsge/downfiles/demo.sql 24 --------省略ok---------- 25 mysql> show databases; #檢視資料庫 26 +------------------------+ 27 | Database | 28 +------------------------+ 29 | information_schema | 30 | mysql | 31 | performance_schema | 32 | sys | 33 | demo | 34 +------------------------+ 35 36 ####選擇demo庫 37 mysql> use demo; 38 Database changed 39 40 ####檢視匯入的表 41 mysql> show tables; 42 ####查詢其中任意一張表,檢視資料 43 mysql> select * from t_4s_user; 44 --------省略--------
  8. 如果你的專案有使用整合Redis快取。那麼請開啟Redis服務

  B、專案準備

  1. 修改本地專案引數配置資訊。
    專案引數修改主要指:資料庫連線引數、檔案上傳地址引數、Mail郵件等其他配置資訊。
  2. 在專案web資源根目錄下新增跳轉主頁頁面:index.jsp(具體主頁的名字,自定義)。新增如下程式碼:
    1 <%@ page language="java" contentType="text/html; charset=UTF-8"
    2     pageEncoding="UTF-8"%>
    3 <!-- 引入C標籤庫 -->
    4 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
    5 <!-- 重定向至某個頁面 --> 
    6 <c:redirect url="login"/>
  3. 修改web專案下核心配置檔案web.xml。新增如下程式碼
    1 <!-- 歡迎頁面列表 -->
    2 <welcome-file-list>
    3     <!-- 訪問專案時預設載入的頁面 -->
    4     <welcome-file>index.jsp</welcome-file>
    5 </welcome-file-list>
  4. 將專案打包為war包。
    Eclipse操作方式:
      a、使用Maven命令實現打包。
      b、開發工具選擇專案右鍵 > Export > war 。
  5. 將本地專案war包,通過XFTP上傳至Linux使用者所在目錄(/home/xsge/)。

2、部署專案

  專案部署多種方式,選擇其一即可。

  第一種(不推薦)

  按本地專案部署操作辦法,將專案war包部署到Tomcat/webapps目錄下

  步驟1:使用Linux命令複製/home/xsge/demo.war,到/usr/Apache/Tomcat9.x/apache-tomcat-9.0.8/webapps目錄下(具體路徑取決於你的安裝路徑)

1 [root@localhost downfiles]# cp /home/xsge/downfiles/demo.war /usr/Apache/apache-tomcat-9.0.39/webapps

  步驟2:進入Tomcat/webapps目錄下檢查一下檔案存在狀態。

[root@localhost downfiles]# cd /usr/Apache/apache-tomcat-9.0.39/webapps/
[root@localhost webapps]# ll
總用量 28804
-rw-r--r--.  1 root root 29488626 10月 20 20:01 demo.war
drwxr-x---. 15 root root     4096 10月 15 11:51 docs
drwxr-x---.  6 root root       83 10月 15 11:51 examples
drwxr-x---.  5 root root       87 10月 15 11:51 host-manager
drwxr-x---.  6 root root      114 10月 15 11:51 manager
drwxr-x---.  3 root root      283 10月 15 11:51 ROOT

  步驟3:進入Tomcat/bin目錄命令啟動Tomcat。測試訪問即可。

1 [root@localhost webapps]# cd ../bin
2 [root@localhost bin]# ./startup.sh        #啟動命令    
3 [root@localhost bin]# ./shutdown.sh     #關閉命令

  訪問:http://192.168.6.88:8080/demo/index (當然訪問IP地址,資源名等取決你個人部署資源)

  第二種(推薦)

  按本地專案部署操作辦法,部署特定虛擬主機上執行的一個Web應用,這樣可以避免訪問時在輸入埠號和專案名的問題。將專案war包放置在你個人指定的目錄下,可以自行決定位置。通常建議存放在當前使用者主目錄或者系統根目錄下指定位置。(當前演示將專案放置在使用者所在根目錄)

宣告:部署特定虛擬主機上執行的一個Web應用,需要修改配置檔案,手動配置專案地址,專案資源不要放在webapps目錄下。

  步驟1:將war包上傳後,移動至/www/demo目錄下(具體路徑取決於你的目錄:沒有自己新建)

  步驟2:命令解壓demo.war檔案。(預設放在webapps目錄下,tomcat會自動解壓部署,放在其他目錄,tomcat不會自動解壓)

1 [root@localhost demo]# pwd  #####檢視當前目錄
2 /www/demo
3 ####解壓檔案:war包
4 [root@localhost demo]# unzip demo.war 

  步驟3:修改Tomcat配置檔案server.xml,更新伺服器埠號為80(請先備份檔案)

 1 ####備份server.xml檔案 
 2 [root@localhost conf]# cp server.xml server.xml.old
 3 
 4 ####開啟編輯
 5 [root@localhost conf]# vim  /usr/Apache/apache-tomcat-9.0.39/conf/server.xml 
 6 
 7 ####鍵入命令 :set nu  顯示行號
 8 ####輸入i/I/a或其他,進入插入模式
 9 ####更新如下:約79行,將port埠更新為80
10 69     <Connector port="80" protocol="HTTP/1.1"
11 70                connectionTimeout="20000"
12 71                redirectPort="8443" />

  步驟4:修改Tomcat配置檔案server.xml,手動配置專案部署路徑

    在host標籤內新增如下程式碼:

    新增後,按ESC退出編輯,命令:wq儲存退出。

1 <Context  path=""  docBase="/www/demo"/>

docBase:自動部署場景下docBase指定了該Web應用使用的WAR包路徑。如果docBase指定的WAR包或應用目錄就在appBase中,則不需要指定,因為Tomcat會自動掃描appBase中的WAR包和應用目錄,指定了反而會造成問題。

path:path指定了訪問該Web應用的上下文路徑,為空,則訪問時就不需要輸入上下文。

步驟5:配置Linux防火牆,開放埠80

1 ####開放埠80
2 [root@localhost bin]# firewall-cmd --zone=public --add-port=80/tcp --permanent
3 success
4 ####重啟防火牆
5 [root@localhost bin]# systemctl restart firewalld.service
6 ####檢視開放的埠
7 [root@localhost bin]# firewall-cmd --list-ports
8 8080/tcp 3306/tcp 80/tcp

  步驟6:進入Tomcat/bin目錄命令啟動Tomcat。測試訪問即可。

1 [root@localhost bin]# ./startup.sh        #啟動命令    
2 [root@localhost bin]# ./shutdown.sh     #關閉命令

  訪問:http://192.168.6.88 (當然訪問IP地址,資源名等取決你個人部署資源)

  思路:訪問該地址後,伺服器載入訪問/www/demo/的專案檔案,載入web.xml,通過配置檔案中“歡迎列表”的配置,預設載入index.jsp,再通過jsp中跳轉配置,自動跳轉至指定首頁。