1. 程式人生 > 實用技巧 >JavaWeb專案的部署以及遠端除錯

JavaWeb專案的部署以及遠端除錯

Linux環境下軟體的安裝

Linux環境下的程式的安裝、更新、解除安裝和檢視。

  • rpm 命令:相當於windows程式的新增/解除安裝程式,程序程式的安裝,檢視,解除安裝。
    • 本地程式安裝:rpm -ivh 程式名
    • 本地程式檢視:rpm -qa
    • 本地程式解除安裝:rpm -e --nodeps 程式名
  • yum 命令:相當於可以聯網的rpm命令,相當於聯網下程式的安裝和更新,自動執行rpm命令

JDK的安裝

1. 檢視當前Linux系統是否已經安裝java,輸入 rpm -qa | grep -i java

2. 解除安裝兩個openJDK,輸入rpm -e --nodeps 要解除安裝的軟體



3. 上傳jdk到linux的/usr/local/src/ 路徑下

4. 解壓jdk,輸入:tar -zxvf jdk-8u152-linux-x64.tar.gz

5. 配置jdk環境變數

  開啟/etc/profile配置檔案,輸入:vim /etc/profile,新增如下配置

#set java environment
JAVA_HOME=/usr/local/src/jdk1.8.0_152
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

vim命令是vi的增強版,centos7最小安裝,預設沒有這個命令,安裝vim

  • 輸入rpm -qa 檢視系統所有的安裝軟體
  • rpm -qa|grep vim 檢視所有安裝軟體中名字有vim的
  • 線上安裝vim yum install -y vim*

6. 重新載入/etc/profile配置檔案 source /etc/profile,是環境變數生效

MySQL安裝

1. 檢視CentOS自帶的mysql

  • 輸入 rpm -qa | grep -i mysql
  • 輸入 rpm -qa | grep mariadb

2. 將自帶的mysql解除安裝

  • rpm -e --nodeps 軟體名

3. 上傳Mysql到linux

  • 使用xftp軟體將mysql的客戶端和服務端都上傳上去,傳好後就可以進行本地安裝了

4. 安裝perl依賴環境

  • yum install perl

5. 在/usr/local/src/mysql下安裝mysql

  • 安裝伺服器端:rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
  • 安裝客戶端:rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm

6. 啟動mysql

  • service mysql start

7. 登入mysql

  • mysql –uroot –p 預設密碼為空

8. 修改mysql密碼

  • /usr/bin/mysqladmin -u使用者名稱 -p 舊密碼 -password 新密碼
  • mysqladmin -uroot -password ab12 因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。

9. 開啟mysql的遠端登入

  • 預設情況下mysql為安全起見,不支援遠端登入mysql,所以需要設定開啟遠端登入mysql的許可權
  • 登入mysql後輸入如下命令:
    • grant all privileges on *.* to 'root' @'%' identified by '123';
    • flush privileges;

10. 開放Linux的對外訪問的埠3306,將修改永久儲存到防火牆中

  • 檢視當前防火牆狀態:systemctl status firewalld
  • 執行命令,可以看到zone名稱:firewall-cmd --get-active-zones
  • 執行如下命令命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
  • 重啟防火牆,執行命令:firewall-cmd --reload
  • 檢視埠號是否開啟,執行命令:firewall-cmd --query-port=3306/tcp
  • 除此之外,若需要關閉當前防火牆:systemctl stop firewalld,如需要開機防火牆不啟動:systemctl disable firewalld

Tomcat安裝

  tomcat的安裝比較簡單,直接將tomcat.tar.gz壓縮包上傳到指定的路徑下後,使用tar -zxvf 您的tomcat壓縮包進行解壓可以了,進入tomcat的bin下啟動:./startup.sh,進入tomcat的bin下關閉:./shutdown.sh。

JavaWeb專案的部署

部署

  將您需要部署的專案,在IDEA中使用maven打包,在打包之前線clean一下,再進行package

打包完成後,在target目錄下會出現一下war包,將該war包上傳到您的Linux伺服器上的tomcat的webapp目錄下,進入tomcat的bin下執行關閉後(/shutdown.sh),再重新啟動tomcat(./startup.sh)。tomcat就會自動為我們解壓了,我們就可以訪問了。

埠轉發

  為了避免輸入麻煩的埠號,我們如何不使用nginx,將80埠轉發至8080埠,並讓他永久生效呢。在centOS7之前,我麼可以使用iptables來進行轉發,但CentOs7之後就取消了。但我們可以通過安裝iptables.service來進行設定,執行如下命令:

systemctl stop firewalld  #關閉防火牆
systemctl disable firewalld #禁止防火牆開機啟動
yum install iptables-service #安裝
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 #將80埠轉發至8080埠
service iptables save
systemctl restart iptables.service
systemctl enable iptables.service

本地除錯遠端程式

伺服器端配置

由於Linux系統中root啟動的程序是不支援遠端除錯的,我們需要建立一個普通賬號來啟動程式,並且用該賬號重新裝一個tomcat,步驟如下:

  • adduser work
  • passwd work 設定密碼為work,會讓你確認密碼和再次輸入密碼,要保持一致
  • 停掉當前root啟動的tomcat
  • 切換賬號 su work,進入到根目錄 cd ~,上傳一個tomcat到work賬號的根目錄並進行解壓,修改配置檔案的資訊 vim bin/catalina.sh
    • 由於遠端除錯賬號的tomcat的埠號不能小於1000,所有我們需要對tomcat的bin目錄下的catalina.sh檔案新增如下配置:
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=n"
  • 重啟tomcat,我是騰訊雲伺服器,需要在控制檯的安全組策略開啟8888埠

IDEA配置

使用IDEA除錯遠端程式,需要在Run/EditConfidurations中新增Remote,並設定你需要除錯的專案,以及該專案所在的遠端主機和埠,如下圖:


然後啟動遠端除錯,如果控制檯出現:Connected to the target VM, address: 'ip地址:8888', transport: 'socket',就說明連結成功,然後在你需要除錯的介面打上斷點,在瀏覽器中請求改介面,就會進入該斷點,我們就可以看到除錯資訊了。