金蝶容器运维指南
金蝶容器介绍
在进行28所项目的时候,由于项目国产化的需要,因此AI服务器在开发的过程中必须使用Tomcat、Jetty、Undertow等容器的国产化替代产品,因为国家的政策法规已经将信息安全问题上升到国家的高度,在项目开发过程中使用的产品必须是自主可控、而且源代码安全的。
金蝶Apusic应用服务器 AAS是应用系统的运行平台,为应用系统提供便捷开发、灵活部署、可靠运行、高效管理及快速集成等关键支撑。支持Java企业级规范和主流应用框架,广泛应用于电子政务和企业核心关键应用。
28所项目、AI服务器、以及未来的大船项目中,均会采用相同的国产化形态软件,AAS+国产化数据库的应用结构来进行开发,因此结合28所项目、所里AI服务器项目的金蝶容器使用实践,总结以往的经验,温故而知新。把相关金蝶容器的使用经验记录如下。
AAS架构
技术白皮书
应用场景
电子政务系统、电子商务系统、企业CRM系统等JavaEE应用都需要使用JavaEE应用服务器。
安装包目录结构
目录结构
较为重要的由两个文件夹,一个是根目录下的文件夹,只要能够较为熟悉的了解两层目录中文件夹和文件的基本含义,即可对容器有初步的理解并且使用。
Apusic应用目录结构
在Apusic应用目录结构中较为重要的文件夹为domains文件夹,该文件中包含用户通过bin/config创建的自定义域。我们可以把自己制作的war包或者文件见部署在domains**self-defined-domain**中。
应用程序部署在APUSIC_HOME\domains\self-defined-domain\applications\目录下,如果不创建自定义域则放置在APUSIC_HOME\domains\mydomain\applications\
应用目录结构中的具体作用如下表所示
目录 | 内容 |
---|---|
adminconsole | Apusic管理控制台运行所需文件,如果使用的安装包包含adminconsole,则安装完后adminconsole在此目录中 |
bin | 一些命令行脚本,通常,您需要修改其中setenv.cmd(setenv)文件,将其中JAVA_HOME设置为正确的JVM所在目录 |
classes | 服务器运行时,会将此目录置为系统CLASSPATH最前端,默认情况下,此目录为空 |
common | 服务器运行时,会将此目录中的jar包(含zip)置于系统CLASSPATH中,位于sp目录中的jar包之后,lib目录中的jar包之前 |
lib | 服务器运行时,会将此目录中的jar包(含zip)置于系统CLASSPATH中,位于common目录中的jar包之后 |
sp | 补丁程序所在位置,服务器运行时,会将此目录中的jar包(含zip)置于系统CLASSPATH中,位于classes目录之后,common目录中的jar包之前; 默认情况下,此目录为空 |
domains | Apusic应用服务器的域,见[下表](file:///C:/Users/宋姗姗/Desktop/宋姗姗/AAS-V9.0_2019-1-7/readme.html#table2)。 |
src | 一些第三方jar包的源码包 |
templates | 创建domain时所用到的模板 |
tools | 包含管控api文档,以及工具脚本和readme.txt说明文档 |
注意:在tools文件中包含了许多的非交互式脚本,用来简化AAS容器的全局配置。
域目录结构
Apusic应用服务器的域信息保存在APUSIC_HOME/domains目录下,每个域的信息保存在同名的子目录中,安装服务器后domains目录下包含预定义的mydomain域。mydomain中的子目录及子目录描述如下表:
目录 | 内容 |
---|---|
applications | 凡放到此文件夹中的ear、war、rar等符合J2EE规范的文件或文件夹,都会被自动部署到Apusic应用服务器上 |
bin | 一些命令行脚本,通常,您需要运行其中startapusic.cmd(startapusic)脚本来启动Apusic应用服务器 |
config | 服务器中的数据库连接池、web服务器、JMS服务、日志服务等相关配置文件、负载均衡示例配置文件等 |
deploy | 服务器从未运行过时,此目录不存在,当服务器启动以后,会自动创建此文件夹。此文件夹中放置了应用系统运行时所产生的一些中间过程文件,譬如,由jsp文件生成的servlet等 |
lib | 允许用户在这里放置一些公用的jar包(譬如数据库JDBC Driver等),此文件夹中的jar包(含zip)会自动置于系统CLASSPATH的尾部 |
logs | 服务器日志文件 |
store | 系统用户存储文件,JMS消息存储文件等 |
APUSIC_HOME/domains目录下还包含预定义的samples域,samples域预部署了若干个示例应用,用以演示JavaEE5的最新技术。samples域的目录结构与mydomain基本一致,但多了一个src目录,存放示例应用的源代码及构建脚本。
证书
由于AAS的运行是付费的,因此必须从金蝶获取符合时间的证书,当前可用的证书如下:
<?xml version="1.0" encoding="UTF-8"?>
<license
/>
把该证书置于根目录下即可
\AAS-V9.0_2019-1-7
若证书时间过期,则在运行时会弹出如下的问题:
Linux管理
金蝶容器与Tomcat容器一样,zip安装包支持Windos和Linux环境下运行。在启动运行程序时,在mydomains\applications文件夹中
在上述的行文以及下述的行文中,并不创建自定义域,而仅仅使用预先安装的mydomain域来演示程序。
使用如下的脚本来控制应用程序的启停。
由于Windows和Linux端应用程序的管理别无二致,Linux端金蝶的使用是日后工作的重点,因此如下使用Linux端来演示应用程序的启停管理
配置应用端口
我们可以采用如下的方式创建一个新的域,较为重要步骤是要确定域监听的的端口和SSL端口。
创建域使用config脚本,该脚本位于APUSIC_HOME\config,其他以默认方式执行即可。该行命令执行完毕,则可以在APUSIC_HOME\domains目录下看见自定义的域。
windos环境创建域
C:\Users\AAS-V9.0_2019-1-7\bin>config.cmd
Using APUSIC_ENDORSED_DIRS: C:\Users\AAS-V9.0_2019-1-7\lib\endorsed
-----------------------------------------------------------
| 欢迎进入Apusic域配置向导 |
| 版本 :Apusic Application Server 9.0 |
| |
| 深圳市金蝶中间件有限公司 |
| 版权所有 |
-----------------------------------------------------------
选择任务 ...
------------
您希望执行下面的哪一个任务?
1- 创建一个新的Apusic域
2- 删除一个现有的Apusic域
3- 构建一个新的Apusic域模板
请选择相应的数字: 1
欢迎进入域创建向导中心
----------------------
该向导将会帮助您创建一个全新的Apusic域,同时也会在您的计算机上创建一些相关文件和需要的目录.
按<ENTER>键继续:
选择域来源 ...
--------------
选择将要创建的域的来源.您能够指定一个域模板来创建域,也可以不使用域模板创建域.
->1- 选择系统默认模板
2- 选择自定义模板
请选择相应的数字,或按<ENTER>键接受默认选择:1
选择系统默认模板 ...
--------------------
标准模板与集群模板的区别是: 基于集群模板创建的domain拥有集群服务。
->1- 标准
2- 集群
请选择相应的数字,或按<ENTER>键接受默认选择:1
域配置 ...
----------
您想在哪一位置安装该域?
默认位置 = C:\Users\AAS-V9.0_2019-1-7\domains
请输入一个绝对路径,或按<ENTER>键接受默认位置
安装路径:
请为该域输入一个有效的名称,域名称是该域的有效标识.
已存在的域名称:
1- mydomain
域名称: sqh
服务器配置 ...
--------------
设置服务器监听端口
默认端口 = 6888
请输入您的服务器监听端口,按<ENTER>键接受默认选择
监听端口 : 8888
设置服务器SSL安全监听端口
默认端口 = 6889
请输入您的服务器SSL安全监听端口,按<ENTER>键接受默认选择
SSL监听端口 : 7888
高级选项配置 ...
----------------
这里将会帮助您继续进行数据源配置,J2EE应用程序配置.
默认选择 = 否
请选择,或按<ENTER>键接受默认选择
是否希望配置一些高级选项? (Y|N):
请稍后...
---------
..................................................................................................................................................................................
您所选择的任务成功执行完毕.
Linux创建域
aaa@qq.com:/usr/local/aas/bin# ./config
-----------------------------------------------------------
| Welcome to Apusic Domain Configuration Wizard |
| Version :Apusic Application Server 9.0 |
| |
| Copyright 2006 ShenZhen Kingdee Middleware Inc. |
| All rights reserved |
-----------------------------------------------------------
Select Task ...
---------------
Which task would you like to perform?
1- Create a new Apusic Domain 创建一个新域
2- Remove a existing Apusic Domain
3- Build a new Apusic Domain Template
CHOOSE TASK BY NUMBER: 1
WELCOME TO CREATE DOMAIN WIZARD 欢迎来到创建域向导
-------------------------------
This wizard will help you to create a new domain, and it will create some files and directories on your computer.
PRESS <ENTER> TO CONTINUE:
Select Apusic Domain Source ... 选择Apusic域来源
-------------------------------
Select the source for which the domain will be created. You can create the domain without domain template or by selecting an existing Apusic domain template.
->1- Select the system default template 选择系统默认模板
2- Select a custom template
CHOOSE DOMAIN SOURCE BY NUMBER, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:1
Select The System Default Template ...
--------------------------------------
The difference between Standard Edition template and Cluster Edition template is that Cluster Edition is a cluster enable domain template.
->1- Standard Template 标准模板
2- Cluster Template
CHOOSE DEFAULT TEMPLATE BY NUMBER, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:1
Apusic Domain Configuration ...
-------------------------------
Where would you like to install the domain?
Defalut location = /usr/local/aas/domains
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
Domain Location:
Enter the name for the domain,the name is a valid identity of the domain.
Domain names already exists:
1- mydomain
2- samples
Domain Name: screenshot
Apusic Server Configuration ...
-------------------------------
Set up the server listening port 设置该域监听端口 HTTP
default port = 6888 Apusic默认使用6888
Please enter your server listening port,PRESS <ENTER> TO ACCEPT THE DEFAULT
Listen Port : 4444
Set up the server security listening port HTTPS端口
default port = 6889
Please enter your server security listening port,PRESS <ENTER> TO ACCEPT THE DEFAULT
SSL Listen Port : 5555
Apusic Advanced Options Configuration ...
-----------------------------------------
Here will help you to to continue the data source configuration, J2EE application configuration.
Default value = NO
ENTER YOUR CHOOSE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
Do you want to define advanced options? (Y|N): n
Please wait...
--------------
...............
The task has been finished successfully.
apusic.conf
创建域之后,可以通过修改配置文件APUSIC_HOME/domains/mydomain/config/ apusic.conf来修改端口号
在配置文件中apusic.conf中,关注参数Port和SecurePort、SSLEnabled
<SERVICE
CLASS="com.apusic.net.Muxer"
>
<ATTRIBUTE NAME="Port" VALUE="8080"/>
<ATTRIBUTE NAME="Backlog" VALUE="1024"/>
<ATTRIBUTE NAME="Timeout" VALUE="30"/>
<ATTRIBUTE NAME="LookAheadTimeout" VALUE="30"/>
<ATTRIBUTE NAME="MaxWaitingClients" VALUE="200"/>
<ATTRIBUTE NAME="WaitingClientTimeout" VALUE="5"/>
<ATTRIBUTE NAME="SSLEnabled" VALUE="False"/>
<ATTRIBUTE NAME="SecurePort" VALUE="6889"/>
<ATTRIBUTE NAME="KeyStore" VALUE="config/sslserver"/>
<ATTRIBUTE NAME="KeyStorePassword" VALUE="keypass"/>
<ATTRIBUTE NAME="KeyPassword" VALUE="keypass"/>
</SERVICE>
部署应用
再金蝶容器中部署应用时,有两种部署方式。一种是通过war包的方式,另外一种则是通过文件夹的方式;在智慧营区项目实践过程中,我们采用war包的方式来部署应用。通过使用
mvn package
可以把项目的打包过后的目录拷贝至APUSIC_HOME\mydomain\applications目录下。
具体拷贝内容如下图所示:
war包部署
与Tomcat容器一样,金蝶容器可以使用war包的方式进行部署,当在运行时会产生如下几种效果:
deploy文件夹
Apusic容器会把拷贝进入applications目录的war包解压到domains\mydomain\deploy,并且在该目录下可以看到如下的内容,可以通过cmd的tree命令查看目录层级
C:\Users\AAS-V9.0_2019-1-7\domains\mydomain\deploy\rest-0.0.1-SNAPSHOT>tree
卷 OS 的文件夹 PATH 列表
卷***为 68EB-2279
C:.
├─.extends
│ ├─rest-0.0.1-SNAPSHOT
├─.system
│
└─rest-0.0.1-SNAPSHOT
└─tmpfiles
├─docroot
│ ├─META-INF
│ │ └─maven
│ │ └─com.example
│ │ └─rest
│ └─WEB-INF
│ ├─classes
│ │ └─com
│ │ └─example
│ │ └─rest
│ │ └─controller
│ └─lib
└─jsp
由此,可以分析出程序会解析war包,并把相关的资源拷贝到deploy目录。
日志产生
程序产生的日志位于applications同级目录下的logs目录domains\mydomain\logs
在Linux环境下,可以采用
tail -f ..\domains\mydomain\logs\apusic.log.0
来动态产看程序所产生的日志。
浏览器访问
访问请求验证
package com.example.rest.controller;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 添加问候controller
*
* @author songquanheng
* @Time: 2020/2/19-17:58
*/
@RestController
public class HelloController {
Logger logger = LoggerFactory.getLogger(this.getClass());
@GetMapping("/hello")
public String hello() {
logger.info("Enter hello");
JSONObject result = new JSONObject();
result.fluentPut("code", 0)
.fluentPut("msg", "success");
logger.info("Leave hello");
return result.toJSONString();
}
}
则在程序正常运行之后,若想要访问hello接口,则应采用如下的方式:
http://hostname:port/war包名/@RequestMapping.value
上述URL中变化的位置为war包名的有无,若指定项目生成的war包为ROOT,则war包名为空采用如下的URL形式即可
http://hostname:port/@RequestMapping.value
文件夹部署
文件夹部署与war包部署很相似,没什么区别。不再赘述
应用管理
无论是在Linux还是windows环境中,灵活的使用进程号pid和端口号是控制应用的灵活方式。
如下的启动、终止脚本位于APUSIC_HOME\domains\mydomain\bin目录下。Windows环境下使用.cmd结尾的脚本,Linux使用另外的启动和停止脚本。如下的陈述以Linux为主
启动应用
./mydomain/bin/startapusic
上述命令会在当前终端启动该应用程序,若当前终端关闭,则该应用程序终止,显然这不是希望的方式。
可以使用nohup命令来把当前进程放进后台,具体操作如下:
[Unauthorized System] aaa@qq.com:/usr/local/yyzc/52-project/AAS-V9.0_2019-1-7/domains/mydomain/applications# nohup ../bin/startapusic 1> ../bin/nohup.out 2>&1 &
[1] 28330
[Note] System unauthorized, Please contact the system supplier.
此时,会在…/bin目录下生成nohup.out,其中的内容为platform项目生成的日志。
使用数据重定向技术把相关的日志打入bin目录下的nohup.out文件。
注意:不要把日志文件打入applications目录下,因为Apusic默认会把该文件下的文件看作一个应用程序对待。
数据重定向可以将stanardout output和standard error output分别传送到其他的文件或设备区,分别使用如下的特殊字符。
终止应用
[Unauthorized System] aaa@qq.com:/usr/local/yyzc/52-project/AAS-V9.0_2019-1-7/domains/mydomain/applications# ../bin/stopapusic
需要注意的是,在金蝶容器中执行了上述的停止命令,虽然执行成功了,但程序其实并未执行成功,此时需要通过杀死进程的方式来解决该问题,可以使用如下的方式来获取pid
获取pid
lsof
lsof -i:port
netstat
7/domains/mydomain/applications# netstat -ano | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 关闭 (0.00/0/0)
[Note] System unauthorized, Please contact the system supplier.
[Unauthorized System] aaa@qq.com:/usr/local/yyzc/52-project/AAS-V9.0_2019-1-7/domains/mydomain/applications# netstat -anop | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 3745/java 关闭 (0.00/0/0)
jps
jps(Java Virtual Machine Process Status Tool),可以用于
是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。
jps命令使用如下所示:
-q:只输出进程 ID
-m:输出传入 main 方法的参数
-l:输出完全的包名,应用主类名,jar的完全路径名
-v:输出jvm参数
-V:输出通过flag文件传递到JVM中的参数
jps命令在Linux环境和Windows环境下均可使用。
C:\UsersR\AAS-V9.0_2019-1-7\domains\mydomain\deploy>jps -v
21508 Jps -Dapplication.home=C:\Program Files\Java\jdk1.8.0_66 -Xms8m
21736 RemoteMavenServer -Djava.awt.headless=true -Didea.version==2018.1.5 -Xmx768m -Didea.maven.embedder.version=3.3.9 -Dfile.encoding=GBK
1612 Main -Djava.endorsed.dirs=C:\Users\AAS-V9.0_2019-1-7\lib\endorsed -Dcom.apusic.domain.home=C:\Users\AAS-V9.0_2019-1-7\domains\mydomain -Djava.net.preferIPv4Stack=true -Xms512m -Xmx1024m -XX:MaxPermSize=256m -verbose
22428 -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Djb.vmOptionsFile=C:\Program Files\JetBrains\IntelliJ IDEA 2018.1.5\bin\idea64.exe.vmoptions -Didea.jre.check=true -Dide.native.launcher=true -Didea.paths.selector=IntelliJIdea2018.1
终止进程
[Unauthorized System] aaa@qq.com:/usr/local/yyzc/52-project/AAS-V9.0_2019-1-7/domains/mydomain/applications# kill -9 1612
问题解决
跨域问题
跨域问题原因
出于浏览器的同源策略限制。**同源策略(Sameoriginpolicy)**是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)
跨域实例
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
当前页面url 被请求页面url 是否跨域 原因
http://www.test.com/ http://www.test.com/index.html 否 同源(协议、域名、端口号相同)
http://www.test.com/ https://www.test.com/index.html 跨域 协议不同(http/https)
http://www.test.com/ http://www.baidu.com/ 跨域 主域名不同(test/baidu)
http://www.test.com/ http://blog.test.com/ 跨域 子域名不同(www/blog)
http://www.test.com:8080/ http://www.test.com:7001/ 跨域 端口号不同(8080/7001)
解决步骤
在北京15所保障第二次测试时,由于AI相关的应用程序A在一个金蝶容器中,28所开发的应用程序B在另外一个金蝶容器中。在实际运行时发现,若B想要通过请求获取A中的图片资源时,页面报错,跨域。可以通过如下的配置解决该问题。
- 修改APUSIC_HOME\domains\mydomain\config\web.xml
<!-- 提供跨域支持 -->
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, PUT, DELETE</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
</init-param>
<init-param>
<param-name>cors.exposedHeaders</param-name>
<param-value>Set-Cookie</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-
从mvn仓库中下载两个jar包
并且把该两个文件拷贝到APIUSIC_HOME/lib目录内
JNDI配置
概念
java Naming and Directory Interface:java命名和目录接口
主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。
一句话说:创建了一个目录,然后将创建的对象存进去,类似于在注册中心注册了一个东西,以后使用的时候,只需要在注册中心也就是目录中根据名字去查找,注册中心也就是目录会返回给你想要的。
JNDI提供了应用编程接口(application programming interface,API)和服务提供者接口(service provider interface,SPI)。这一点的真正含义是,要让应用与命名服务或目录服务交互,必须有这个服务的JNDI服务提供者,这正是JNDI SPI发挥作用的地方。服务提供者基本上是一组类,这些类为各种具体的命名和目录服务实现了JNDI接口—很像JDBC驱动为各种具体的数据库系统实现了JDBC接口一样。
这样做的好处:比如更换数据库,只需要修改配置信息,名称不变,因此代码也不会变(也就是平常自己使用都是Class.forName,然后指定驱动类名,每次需要使用的时候都要加载并创建连接,如果更换了数据库,就需要修改代码中的驱动类名;而使用JNDI后,第一次加载数据库后根据配置文件信息创建连接,并将此连接放入目录中,以后不管在哪里使用只需要从目录中获取即可)
JNDI中的命名(Naming),就是将Java对象以某个名称的形式绑定(binding)到一个容器环境(Context)中,以后调用容器环境(Context)的查找(lookup)方法又可以查找出某个名称所绑定的Java对象。读者也许会感到奇怪:自己创建一个Java对象,将其绑定到JNDI容器环境中后又查询出来,这有什么意思?在真实的项目应用中,通常是由系统程序或框加程序先将资源对象绑定到JNDI环境中,以后在该系统或框架中运行的模块程序就可以从JNDI环境中查找这些资源对象了。例如,Tomcat服务器在启动时可以创建一个连接到某种数据库系统的数据源(DataSource)对象,并将该数据源(DataSource)对象绑定到JNDI环境中,以后在这个Tomcat服务器中运行的Servlet和JSP程序就可以从JNDI环境中查询出这个数据源(DataSource)对象进行使用,而不用关心数据源(DataSource)对象是如何创建出来的,这种方式极大地增强了系统的可维护性,当数据库系统的连接参数发生变更时,这只是Tomcat系统管理员一个人要关心的事情,而与所有的应用程序开发人员无关。
上述行文的含义就是,我们在金蝶容器中配置数据库连接时,可以把DataSource对象注册进入JDNI命名中,就好像注入到容器中的组件,在使用时,只需要获得该组件的引用即可,而不关注DataSource是如何产生的。
应用场景
-
spring中连接数据库(不再使用Class.forName)
-
tomcat之类的应用服务器上配置的连接池
-
程序中不是使用Class.forName来获取链接的
-
而是使用Context lookup从池中获取有用的连接
在28所项目开发过程中,也是通过JDNI来统一数据库的访问。这样当以后需要更改数据库配置时,通过命名服务,代码不需要更改,只需要修改配置即可。
Tomcat和金蝶容器AAS都支持这种JDNDI配置。
金蝶容器配置步骤
金蝶容器、SpringBoot整合JNDI来获取数据源的配置步骤如下:
金蝶容器配置
Bean关联
金蝶容器web端
基于浏览器的Web管理控制台,是内置在Apusic应用服务器之上的一个Web应用,能够通过Web管理控制台方便的对Apusic应用服务器进行各种管理配置工作。在访问Web管理控制台之前,首先要确保已经正确的启动了Apusic应用服务器。
按照以下步骤启动远程管理控制台:
- 在浏览器中输入以下URL:
http://hostname:port/admin
其中:
hostname 指安装Apusic应用服务器软件的计算机的IP地址或主机名
port 是Apusic应用服务器的http端口、默认为6888
在登陆页面要键入在启动应用时输入的用户名和密码。金蝶容器的初始用户名和密码为
admin:Admin1234
注意:如果是自定义的域,在第一次部署程序时,会让用户输入用户名和密码。浏览器使用用户名和密码来可视化访问该容器。
日志查看
应用设置
在28所项目进行的过程中,由于把项目制作成了ROOT.war,因此需要配置应用程序上下文,配置如下:
总结
上述行文中,围绕金蝶容器,详细的总结了金蝶容器的目录结构、域创建、应用程序启停、日志查看等细节,并且在行文中把自己在使用金蝶容器过程中遇到的两个问题:跨域问题和JNDI整合进行了总结。详细的梳理了金蝶容器的使用,以期望能对后来使用金蝶容器的开发人员有所帮助。
上一篇: CPP不熟悉知识点笔记
下一篇: q1 迭代器报错