WSO2 API Manager安装部署配置
1. 系统要求
至少 3GHz CPU
至少 4GB 内存 (2GB给WSO2,2GB给操作系统)
至少 10GB 磁盘
JDK1.8_x64, 其中JDK1.8.0_151版本存在已知的GZIP decoding问题,不建议使用
内置H2数据库可以用于开发测试,生成环境建议用企业级数据库,支持Oracle, PostgreSQL, MySQL, MS SQL, etc
支持LDAP进行用户管理
生成环境建议使用最新版RedHat Enterprise Linux 或者Ubuntu Server LTS
2. 安装
下载地址:https://wso2.com/api-management
1. linux
- 下载并解压apim
- 安装jdk1.8-x64, 并配置JAVA_HOME环境变量
2.windows安装
- 下载并解压apim
- 下载 snappy-java_1.1.1.7.jar放到repository\components\lib目录下
- 安装jdk1.8-x64, 并配置JAVA_HOME环境变量
3. 运行
1. 启动
定位到<PRODUCT_HOME>\bin\目录
window上运行:wso2server.bat --run
linux前台运行:sh wso2server.sh
linux后台运行:sh wso2server.sh start
linux后台停止:sh wso2server.sh stop
2. 管理控制台
浏览器访问地址:https://localhost:9443/carbon
默认登录账号密码:admin/admin
默认15分钟超期,可以在<PRODUCT_HOME>/repository/conf/tomcat/carbon/WEB-INF/web.xml修改默认配置
<session-config>
<session-timeout>15</session-timeout>
</session-config>
3.API Publisher
浏览器访问:https://<Server Host>:9443/publisher
4.API Store
浏览器访问:https://<Server Host>:9443/store
5.访问IP限制
参考:https://docs.wso2.com/display/AM250/Running+the+Product
6.添加互访链接
默认情况下API Publisher上没有直接跳转到API Store的链接,可以通过以下方式添加,打开/repository/conf/api-manager.xml配
<APIStore>
<DisplayURL>true</DisplayURL>
<URL>https://<hostname>:9443/store</URL>
</APIStore>
7.修改默认密码
打开文件<PRODUCT_HOME>/repository/conf/user-mgt.xml,修改如下内容:
<Realm>
<Configuration>
<AddAdmin>true</AddAdmin>
<AdminRole>admin</AdminRole>
<AdminUser>
<UserName>admin</UserName>
<Password>admin</Password>
</AdminUser>
<EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default users in this role see the registry root -->
<Property name=""></Property>
...............
</Configuration>
...
</Realm>
4. 汉化
1.汉化文件位置:
服务端输出字符串汉化文件位置:/repository/deployment/server/jaggeryapps/publisher/site/conf/locales/jaggery
客户端输出字符串汉化文件位置:/repository/deployment/server/jaggeryapps/publisher/site/conf/locales/js
2.汉化方法
以服务端输出汉化为例:
- 复制locale_default.json文件并重名为locale_zh.json
- 使用文本编辑器修改文件中每一段,将冒号后面的英文翻译为对应的中文,保存文件
5. 使用Oracle数据库
1. 单机Oracle
- 创建一个Oracle数据库
- 使用下列语句添加Oracle用户
Create user <USER_NAME> identified by password account unlock;
grant connect to <USER_NAME>;
grant create session, create table, create sequence, create trigger to <USER_NAME>;
alter user <USER_NAME> quota <SPACE_QUOTA_SIZE_IN_MEGABYTES> on '<TABLE_SPACE_NAME>';
commit;
- 把ojdbc驱动(例如ojdbc14.jar)放入<PRODUCT_HOME>/repository/components/lib/目录下
- 修改DataSource配置,链接到Oracle数据库中,配置文件位置:<PRODUCT_HOME>/repository/conf/datasources/master-datasources.xml,参考下列方式修改
<datasource>
<name>WSO2_CARBON_DB</name>
<description>The datasource used for registry and user manager</description>
<jndiConfig>
<name>jdbc/WSO2CarbonDB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:oracle:thin:@SERVER_NAME:PORT/SID</url>
<username>regadmin</username>
<password>regadmin</password>
<driverClassName>oracle.jdbc.OracleDriver</driverClassName>
<maxActive>80</maxActive>
<maxWait>60000</maxWait>
<minIdle>5</minIdle>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1 FROM DUAL</validationQuery>
<validationInterval>30000</validationInterval>
<defaultAutoCommit>false</defaultAutoCommit>
</configuration>
</definition>
</datasource>
- 登录oracle执行sql语句初始化数据库,sql文件位置<PRODUCT_HOME>/dbscripts/oracle.sql
2. Oracle RAC
- 创建一个Oracle数据库
- 使用下列语句添加Oracle用户
Create user <USER_NAME> identified by password account unlock;
grant connect to <USER_NAME>;
grant create session, create table, create sequence, create trigger to <USER_NAME>;
alter user <USER_NAME> quota <SPACE_QUOTA_SIZE_IN_MEGABYTES> on '<TABLE_SPACE_NAME>';
commit;
- 把ojdbc驱动(例如ojdbc14.jar)放入<PRODUCT_HOME>/repository/components/lib/目录下
- 修改DataSource配置,链接到Oracle数据库中,配置文件位置:<PRODUCT_HOME>/repository/conf/datasources/master-datasources.xml,参考下列方式修改
<datasource>
<name>WSO2_CARBON_DB</name>
<description>The datasource used for registry and user manager</description>
<jndiConfig>
<name>jdbc/WSO2CarbonDB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=racnode1) (PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=racnode2) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=rac)))</url>
<username>regadmin</username>
<password>regadmin</password>
<driverClassName>oracle.jdbc.driver.OracleDriver</driverClassName>
<maxActive>80</maxActive>
<maxWait>60000</maxWait>
<minIdle>5</minIdle>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1 FROM DUAL</validationQuery>
<validationInterval>30000</validationInterval>
<defaultAutoCommit>false</defaultAutoCommit>
</configuration>
</definition>
</datasource>
- 登录oracle执行sql语句初始化数据库,sql文件位置<PRODUCT_HOME>/dbscripts/oracle.sql
3. 修改数据库的完整配置过程
apim涉及以下多个数据源,全部都需要按照上述方式修改
- WSO2AM_DB: For API-M-specific data.
- WSO2MB_DB: For message brokering data.
- WSO2METRICS_DB: For storing data for Metrics monitoring.
- WSO2AM_STATS_DB:For the Analytics database
具体参考: https://docs.wso2.com/display/AM250/Changing+the+Default+API-M+Databases