在weblogic中部署項目一般有三種方式:第一,在控制檯中安裝部署;第二,將部署包放在domain域中autodeploy目錄下部署;第三,使用域中配置文件config.xml 進行項目的部署。html
控制檯部署
1 啓動weblogic服務,登陸到weblogic控制檯頁面,輸入用戶名和密碼,登陸到控制檯裏面node
2 點擊左側的部署web
3 在右側點擊安裝按鈕,準備進行項目安裝tomcat
4 看到路徑輸入框,能夠在下面選擇要部署的項目的位置oracle
5 也能夠直接輸入要部署的包的位置,敲回車app
6 點擊下一步便可dom
7 繼續下一步eclipse
8 點擊完成按鈕ide
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插件。