本文是钢哥的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 到底适不适合企业环境?
引言
在这一章节里,我们将一起动手安装CentOS 7操作系统、Tomcat以及Nginx,并为后面的安装做一些初始化设置。
安装配置CentOS 7
在阿里云控制台购买并启动CentOS
之前说过,我们选择阿里云作为云提供商。注册步骤就不展开了,大家可以到阿里云官网进行注册。注册完账号并成功登陆控制台,点击左侧导航菜单云服务器 ECS
,再点击创建实例
按钮,如下图所示:
系统提示创建成功,返回管理控制台
稍等片刻,等待系统状态变为运行中
即表示系统已创建完毕。
用你习惯的ssh工具(如iTerm2、PuTTY等)登录测试一下,第一次会询问是否将该IP地址加到可信任站点名单,直接yes
后输入刚才设置的root
密码,如果看到下面的结果,就表示CentOS系统安装完毕。
升级CentOS系统包
yum upgrade -y
安装必要的工具包
yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 libaio flex bc mc net-tools.x86_64 htop iotop iftop unzip wget epel-release vim rlwrap -y
安装完成后,执行java -version
验证jdk是否安装成功。
同步网络时间
systemctl start chronyd
systemctl enable chronyd
安装配置Tomcat服务器
钢哥提示:Tomcat安装这部分是个大坑。由于最新的ORDS 18需要Tomcat 8.5以上版本,且jdk 1.8以上,而目前网上的教程都是用yum直接安装Tomcat(版本是7的),导致版本不兼容,后面配置ORDS会发生错误,所以这里不要采用yum安装Tomcat,而是手动安装。
添加tomcat用户和用户组
如果之前安装过tomcat,对应的用户和组已经存在的话,会提示个警告,忽略即可。
可以用yum -y remove tomcat*
来卸载之前yum安装的tomcat。
## 创建tomcat安装目录
mkdir -p /u01/tomcat
groupadd tomcat
useradd -s /bin/false -g tomcat -d /u01/tomcat tomcat
下载 Tomcat 8.5 以上安装包
到 Apache Tomcat 官网下载Tomcat 8.5以上安装包,本次下载的Tomcat版本是8.5.30的,你可以自行选择,只要高于8.5版本即可。
cd /u01/media
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.zip
安装 Tomcat 8.5
## 先将下载的zip文件解压缩
unzip apache-tomcat-8.5.30.zip
## 将解压缩后的文件挪到安装目录中
mv apache-tomcat-8.5.30/* /u01/tomcat
## 授权
chmod -Rf 755 /u01/tomcat/bin/
chown -hR tomcat:tomcat /u01/tomcat
新增一个tomcat.service
文件
你可以像我一样直接用vim
命令新增文件,然后添加内容。不熟悉vim命令的请移步这里:有关vi(vim)的常用命令。
或者在本地编辑好,再用ftp工具上传到服务器/etc/systemd/system/
目录中。
vim /etc/systemd/system/tomcat.service
tomcat.service
文件的内容如下:
[Unit]
Description=Apache Tomcat 8 Servlet Container
After=syslog.target network.target
[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/u01/tomcat/tomcat.pid
Environment=CATALINA_HOME=/u01/tomcat
Environment=CATALINA_BASE=/u01/tomcat
ExecStart=/u01/tomcat/bin/startup.sh
ExecStop=/u01/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
将 tomcat 服务设置成自启动。
systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat
检查 tomcat 服务是否正常启动
systemctl status tomcat
如果想重启Tomcat,可以执行systemctl restart tomcat
更多有关在CentOS 7上安装 tomcat 8.5 的信息可以参考这里: How to Install Apache Tomcat 8.5 on CentOS 7.3
开启8080端口
阿里云的服务器安全组类似CentOS的防火墙,可以配置到多台ECS服务器上,管理上更加灵活。
目前我们的ECS启用了如下端口:
- 80:http端口;
- 443:https端口;
- 22:ssh端口;
- 3389:Windows远程桌面端口(我们用不上);
这里我们要新增一条安全组规则,把
8080
端口开放出来,方便我们测试Tomcat是否安装成功。后面设置好 Nginx 以后,所有http请求会通过Nginx转发到Tomcat的8080端口上,这时再把8080端口关闭掉,让系统更加安全。
测试Tomcat
打开浏览器,访问http://47.100.207.171:8080/
(把IP地址换成你自己的),如果能看到下面的页面,证明Tomcat安装完毕。
Tomcat重要目录及文件
-
/u01/tomcat
Tomcat默认的安装目录; -
/u01/tomcat/conf/server.xml
Tomcat的主配置文件,包含service, connectors, engine, realm, valve, hosts等组件; -
/u01/tomcat/conf/web.xml
遵循Servlet规范标准的配置文件,用于配置servlet,并为所有的Web应用程序提供包括MIME映射等默认配置信息; -
/u01/tomcat/conf/tomcat-user.xml
Realm认证时用到的相关角色、用户和密码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户指定角色等将通过编辑此文件实现; -
/u01/tomcat/conf/catalina.policy
java相关的安全策略配置文件,在系统资源级别上提供访问控制的能力; -
/u01/tomcat/conf/catalina.properties
Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat在启动时会事先读取此文件的相关设置; -
/u01/tomcat/conf/logging.properties
Tomcat通过自己内部实现的JAVA日志记录器来记录操作相关的日志,此文件即为日志记录器相关的配置信息,可以用来定义日志记录的组件级别以及日志文件的存在位置等; -
/u01/tomcat/conf/context.xml
所有host的默认配置信息;
安装配置Nginx
安装Nginx
yum install nginx -y
设置Nginx以便下次自启动
systemctl start nginx
systemctl enable nginx
检查Nginx是否已启动
systemctl status nginx
测试Nginx
打开浏览器,访问http://106.14.172.85
(把IP地址换成你自己的),如果能看到下面的页面,证明Nginx安装完毕。
Nginx重要目录及文件
-
/etc/nginx
Nginx默认的安装目录; -
/etc/nginx/nginx.conf
Nginx默认全局配置文件; -
/etc/nginx/conf.d/
Nginx默认子配置文件目录; -
/usr/share/nginx/html/
Nginx默认html根目录;
总结
本文详细介绍了如何在阿里云上购买并启动一个CentOS 7的新实例,以及如何安装、配置和测试Tomcat和Nginx。下一篇文章将着重讲解如何安装配置Oracle数据库(XE)、Oracle APEX以及ORDS,如有遗漏或不准确的地方还请大家指正,谢谢!