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檔案新增如下配置:
- 由於遠端除錯賬號的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',就說明連結成功,然後在你需要除錯的介面打上斷點,在瀏覽器中請求改介面,就會進入該斷點,我們就可以看到除錯資訊了。