本文是钢哥的Oracle APEX系列文章中的第五篇,完整 Oracle APEX 系列文章如下:
- Oracle APEX 系列文章1:Oracle APEX,让你秒变全栈开发的黑科技
- Oracle APEX 系列文章2:在阿里云上打造属于你自己的APEX完整开发环境 (准备工作)
- Oracle APEX 系列文章3:在阿里云上打造属于你自己的APEX完整开发环境 (安装CentOS,Tomcat,Nginx)
- Oracle APEX 系列文章4:在阿里云上打造属于你自己的APEX完整开发环境 (安装XE,ORDS,APEX)
- Oracle APEX 系列文章5:在阿里云上打造属于你自己的APEX完整开发环境 (进一步优化)
- Oracle APEX 系列文章6:Oracle APEX 到底适不适合企业环境?
引言
在这一章节里,钢哥将带领大家进一步优化我们的开发环境,让我们的免费开发环境更“生产”,优化思路和方法也完全可以用在生产环境。
优化 Tomcat
删除Tomcat自带的不必要的文件是有必要的,最大限度保证系统安全。
@H_301_28@rm -Rf /u01/tomcat/webapps/examples由于我们的 Oracle XE 数据库跟 Tomcat 都是开机自启动的,但在数据库启动完毕之前,部署在 Tomcat 服务器上的 ORDS 应用就会随着 Tomcat 的启动而进行初始化了,这时候初始化肯定不正常(连接池报错等),不得不重启 Tomcat 服务才行。所以我们要对 tomcat.service
进行必要的修改,让tomcat
等待数据库启动完毕再启动。
/etc/systemd/system/tomcat.service
加载启动脚本,下次重启就会按照新的自启动脚本启动了。
@H_301_28@systemctl daemon-reload优化 Oracle XE 数据库
切换到 oracle 账户,用 sqlplus 登录数据库,进行必要的优化。
@H_301_28@su - oracle sqlplus / as sysdba @H_301_28@-- 禁用匿名数据库账号 alter user anonymous account lock; -- 删除自带的数据库schema drop user hr cascade; -- 修改默认的密码规则(默认180天要重新修改所有密码的) alter profile default limit password_life_time unlimited; -- 优化数据库核心参数 alter system set sessions=250 scope=spfile; alter system set processes=200 scope=spfile; alter system set memory_target=1G scope=spfile; alter system set memory_max_target=1G scope=spfile; alter system set job_queue_processes=100 scope=spfile; -- 为我们后面新建的APEX workspace创建单独的表空间 create tablespace apex datafile '/u01/app/oracle/oradata/XE/apex.dbf' size 256M reuse autoextend on next 100M maxsize unlimited; -- 为APEX workspaces创建单独的数据库schema create user apex identified by "YourPasswordHere" default tablespace apex temporary tablespace temp; alter user apex quota unlimited on apex; grant unlimited tablespace to apex; grant create session to apex; grant create cluster to apex; grant create dimension to apex; grant create indextype to apex; grant create job to apex; grant create materialized view to apex; grant create operator to apex; grant create procedure to apex; grant create sequence to apex; grant create snapshot to apex; grant create synonym to apex; grant create table to apex; grant create trigger to apex; grant create type to apex; grant create view to apex; -- 重启数据库 shutdown immediate startup -- 退出 exit优化 ORDS 配置
调整/u01/ords/config/ords/defaults.xml
中的参数值,具体如下:
重启 tomcat 服务以便使 ORDS 配置生效
@H_301_28@systemctl restart tomcat优化 Nginx
修改/etc/Nginx/Nginx.conf
,以下是我的Nginx.conf
文件内容:
重启 Nginx 服务
@H_301_28@systemctl restart Nginx最终测试 APEX
打开浏览器,再次访问 http://47.100.207.171/ords
,应该可以看到APEX的登录页面了。
总结
本章节主要带着大家过了一遍APEX常见的服务器优化配置,这些用于个人开发已经足够了。如果搭建生产环境,还需要配置SSL证书等操作,有兴趣的同学可以看这篇文章:申请 Let's Encrypt 的免费通配符证书。
关于 Oracle APEX 的使用,大家可以参考 Oracle Learning Library 上面的 Oracle APEX 5.1 系列教程。
后面我也会给大家带来更多有关 Oracle APEX 使用方面的文章,以及一些个人工作中遇到的问题和经验积累,请大家拭目以待。