weblogic中部署專案的三種方式
在weblogic中部署專案通常有三種方式:第一,在控制檯中安裝部署;第二,將部署包放在domain域中autodeploy目錄下部署;第三,使用域中配置檔案config.xml 進行專案的部署。
控制檯部署
1 啟動weblogic服務,登入到weblogic控制檯頁面,輸入使用者名稱和密碼,登入到控制檯裡面
2 點選左側的部署
3 在右側點選安裝按鈕,準備進行專案安裝
4 看到路徑輸入框,可以在下面選擇要部署的專案的位置
5 也可以直接輸入要部署的包的位置,敲回車
6 點選下一步即可
7 繼續下一步
8 點選完成按鈕
9 儲存前面各步的設定
10 儲存完成後,會看到啟用更改的提示,且不需要重啟。
11 這時便可以進行測試了,輸入專案名稱,看到了專案的歡迎頁面,即專案部署成功。
如果前面的步驟操作完成了,但依然無法訪問專案的話,可以參考下面的補充步驟
補充步驟
補1 點選部署,勾選上專案,點選啟動
補2 待啟動後,專案狀態為活動,健康狀況為OK時,繼續測試。
autodeploy自動部署
自動部署時不需要登入控制檯,在domain域的主目錄下面有個autodeploy目錄,直接將專案包拷貝到autodeploy目錄下面就可以了。
autodeploy目錄裡面有個readme.txt 文件,開啟看一下,這裡摘第一段出來
- This autodeploy directory provides a quick way to deploy applications
- to a development server. When the WebLogic Server instance is running
- in development mode, applications and modules in this directory are
- automatically deployed.
主要說什麼呢,就是開發模式下面,當weblogic啟動時,會自動部署autodeploy目錄下面的專案。
將部署包servletDemo.war 丟到autodeploy目錄下面,啟動startWeblogic.cmd ,進行servletDemo的訪問,依然可以看到
歡迎頁面。
config.xml配置檔案部署
config.xml檔案在domain域的config目錄下面,config.xml主要配置了domain域的一些相關資訊
我們要部署專案,該在哪裡配置呢
- <?xml version='1.0' encoding='UTF-8'?>
- <domain xmlns="http://xmlns.oracle.com/weblogic/domain" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/security/xacml http://xmlns.oracle.com/weblogic/security/xacml/1.0/xacml.xsd http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator/1.0/passwordvalidator.xsd http://xmlns.oracle.com/weblogic/domain http://xmlns.oracle.com/weblogic/1.0/domain.xsd http://xmlns.oracle.com/weblogic/security http://xmlns.oracle.com/weblogic/1.0/security.xsd http://xmlns.oracle.com/weblogic/security/wls http://xmlns.oracle.com/weblogic/security/wls/1.0/wls.xsd">
- <name>base_domain</name>
- <domain-version>12.1.3.0.0</domain-version>
- <security-configuration>
- <name>base_domain</name>
- <realm>
- <sec:authentication-provider xsi:type="wls:default-authenticatorType">
- <sec:name>DefaultAuthenticator</sec:name>
- </sec:authentication-provider>
- <sec:password-validator xmlns:pas="http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator" xsi:type="pas:system-password-validatorType">
- <sec:name>SystemPasswordValidator</sec:name>
- <pas:min-password-length>8</pas:min-password-length>
- <pas:min-numeric-or-special-characters>1</pas:min-numeric-or-special-characters>
- </sec:password-validator>
- </realm>
- <default-realm>myrealm</default-realm>
- <credential-encrypted>{AES}xLPXh4gcT6JErTB+toxRZ1pQpAS+MGMuqnnXzu/OsxWMQTB8152ggdbUlhkSXUGC9f959oL7tIzyZiu9XdeajlkK9vAu9cQlCKLLUaUMyl5Ty4C0uuJA99b14eR7oIu4</credential-encrypted>
- <node-manager-username>weblogic</node-manager-username>
- <node-manager-password-encrypted>{AES}n3LLdgmAsocPRoYUrFfR2waWOlEz6KDFsp7+gByNeo8=</node-manager-password-encrypted>
- </security-configuration>
- <server>
- <name>AdminServer</name>
- <listen-address></listen-address>
- </server>
- <embedded-ldap>
- <name>base_domain</name>
- <credential-encrypted>{AES}21z8vCiCbuaYqsSj5t5+y6qvEY8dE3NdNr0zDG+K3EdwWEubzk9Vmx79Di43oxqX</credential-encrypted>
- </embedded-ldap>
- <configuration-version>12.1.3.0.0</configuration-version>
- <admin-server-name>AdminServer</admin-server-name>
- </domain>
我們的專案部署資訊新增在configuration-version 和 admin-server-name 之間
- <configuration-version>12.1.3.0.0</configuration-version>
- <app-deployment>
- <name>servletDemo</name>
- <target>AdminServer</target>
- <module-type>war</module-type>
- <source-path>C:\Users\ZhangQi\Desktop\servletDemo</source-path>
- <security-dd-model>DDOnly</security-dd-model>
- </app-deployment>
- <admin-server-name>AdminServer</admin-server-name>
剛開始進行config.xml 配置檔案部署的時候,出現了404,修改了下配置就可以了
將部署的war包解壓為資料夾的形式,然後
將 <module-type>war</module-type> 裡面的war 修改為 dir 即可
- <app-deployment>
- <name>servletDemo</name>
- <target>AdminServer</target>
- <module-type>dir</module-type>
- <source-path>C:\Users\ZhangQi\Desktop\servletDemo</source-path>
- <security-dd-model>DDOnly</security-dd-model>
- <staging-mode>nostage</staging-mode>
- </app-deployment>
然後啟動weblogic服務即可。
三種部署方式都能達到部署專案的目的,至於三種部署方式的利弊,明天再說說吧。
上一篇博文寫了weblogic部署專案的三種方式,包含在控制檯中安裝部署,將部署包放在domain域中autodeploy目錄下部署,使用域中配置檔案config.xml 進行專案的部署。那在開發環境和正式生產環境中,該如何選擇部署方式呢,這裡根據自己的一點經驗,提供一點參考意見。
控制檯部署
這個一般的正式生產環境或測試環境可以採用這種方式。這時需要將weblogic的執行模式修改為生產模式,將部署包放到統一的地方進行管理,安裝,更新,刪除部署直接在控制檯進行,方便監測。
autodeploy
這個開發時用的多一點,方便管理。開發時候,直接將專案拷貝到autodeploy下面,然後啟動weblogic服務,比較方便。考慮到weblogic服務不會自動解壓war包(這點不如tomcat好),所以專案中通過一些絕對路徑獲取檔案可能不能很好的取到,這時可以將war包解壓為資料夾的形式,方便檔案的讀取。在開發時,可以通過ant 或 其它工具直接將修改的檔案拷貝到autodeploy目錄下面,比較方便。
config.xml配置部署
config.xml配置部署和autodeploy類似,不同的是autodeploy自動部署必須將專案的部署包放到autodeploy目錄下面,但是config.xml配置部署的部署包可以放到任何地方。這種方式也是用在開發環境中,個人不推薦這種方式,因為每次有新專案部署的時候,都得去domain域裡面找config.xml配置,然後修改,出錯的風險太大,不如直接使用autodeploy的方式。
經過上面的分析,生產中使用控制檯部署,開發中使用autodeploy或config.xml配置部署。開發中如果使用eclipse進行開發的話,可以整合weblogic外掛,直接在eclipse中進行weblogic的啟動,停止,參考 eclipse安裝weblogic外掛。