摘要:更多關于阿里云彈性公網(wǎng)的介紹請移步這里。你下載的版本可能比鋼哥的高,不過安裝步驟是一樣的??偨Y至此,數(shù)據(jù)庫的完整開發(fā)環(huán)境就搭建好了。在接下來的文章里,鋼哥將帶你做進一步的優(yōu)化,敬請期待。
本文是鋼哥的Oracle APEX系列文章中的其中一篇,完整 Oracle APEX 系列文章如下:
Oracle APEX 系列文章1:Oracle APEX, 讓你秒變?nèi)珬i_發(fā)的黑科技
Oracle APEX 系列文章2:在阿里云上打造屬于你自己的APEX完整開發(fā)環(huán)境 (準備工作)
Oracle APEX 系列文章3:在阿里云上打造屬于你自己的APEX完整開發(fā)環(huán)境 (安裝CentOS, Tomcat, Nginx)
Oracle APEX 系列文章4:在阿里云上打造屬于你自己的APEX完整開發(fā)環(huán)境 (安裝XE, ORDS, APEX)
Oracle APEX 系列文章5:在阿里云上打造屬于你自己的APEX完整開發(fā)環(huán)境 (進一步優(yōu)化)
Oracle APEX 系列文章6:Oracle APEX 到底適不適合企業(yè)環(huán)境?
引言在這一章節(jié)里,我們將一起動手安裝Oracle數(shù)據(jù)庫(XE)、APEX以及ORDS,并完成相關的設置。
友情提示:由于之前沒有綁定阿里云的彈性公網(wǎng)IP,導致阿里云ECS在關機重啟后IP地址會變化,這里只要簡單把公網(wǎng)IP轉換成彈性公網(wǎng)IP即可。彈性公網(wǎng)IP的好處是IP地址不會變化,需要的時候拿過來綁定到ECS等設備上即可,非常靈活。
更多關于阿里云彈性公網(wǎng)IP的介紹請移步這里。
現(xiàn)在我們的ECS服務器已經(jīng)轉成彈性公網(wǎng)IP了,以后只要不解綁,這個公網(wǎng)IP地址就不會自己變化了。
言歸正傳,接下來我們開始今天的教程。
安裝前準備工作 下載軟件包我們需要到Oracle官網(wǎng)下載如下軟件,如果你還沒有注冊過Oracle賬號,請先完成注冊(免費的),登錄后才可以下載。
Oracle Database Express Edition 11g Release 2 for Linux x64(XE)
Oracle Application Express
Oracle REST Data Services
截止到本文寫作時間為止,APEX最新的版本是5.1.4.00.08,請下載All Language多語言版本,ORDS最新版本是18.1.1.95.1251。你下載的版本可能比鋼哥的高,不過安裝步驟是一樣的。創(chuàng)建安裝包目錄
現(xiàn)在軟件包已經(jīng)下載到本地了,在上傳之前ssh連接到ECS,創(chuàng)建一下上傳目錄/u01/media。
mkdir /u01 mkdir /u01/media chmod -Rf 777 /u01增加swap空間
# 檢查當前swap文件 swapon -s # 檢查當前磁盤空間 df # 創(chuàng)建一個2GB的swap文件 dd if=/dev/zero of=/swapfile bs=1024 count=2048k mkswap /swapfile swapon /swapfile # 再次檢查swap文件 swapon -s # 將新的swap文件加入到啟用項 echo "/swapfile swap swap defaults 0 0" >> /etc/fstab # 賦予適當權限 chown root:root /swapfile chmod 0600 /swapfile上傳安裝包
接下來需要利用ftp工具上傳到你的ECS服務器上。這里鋼哥使用的是 FileZilla 來上傳,連接信息如下圖所示:
上傳后如圖所示:
cd /u01/media unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip利用yum本地安裝
yum localinstall Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm -y
提示已成功安裝完畢。
保持在root用戶下,繼續(xù)執(zhí)行以下命令:
/etc/init.d/oracle-xe configure
按照提示完成初始化設置。
groupadd -g 501 dba創(chuàng)建oracle用戶,并分配到dba用戶組
useradd -u 501 -g dba -G dba oracle設置oracle用戶的密碼
passwd oracle切換到oracle用戶
按照提示設置好oracle用戶的密碼后,可以用su - oracle命令完成用戶切換。
友情提示:su - oracle命令中間的 - 符號意思是切換同時做初始化,因為oracle的很多軟件需要設置環(huán)境變量的,所以每次切換用戶請保證帶上-符號。配置環(huán)境變量
我們接下來要為oracle賬號設置環(huán)境變量,以便保證每次切換到oracle用戶時,都可以直接使用sqlplus等命令。
將執(zhí)行oracle_env.sh的命令寫到bash_profile文件中,這樣只要每次使用su - oracle命令切換后,會自動執(zhí)行~/.bash_profile文件里的腳本,完成環(huán)境變量的初始化。
echo ". /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh" >> ~/.bash_profile
測試一下環(huán)境變量是否已設置成功。
source ~/.bash_profile
執(zhí)行后就可以使用sqlplus等命令了。
sqlplus /nolog
至此,Oracle Database XE 安裝配置完畢。
測試數(shù)據(jù)庫監(jiān)聽數(shù)據(jù)庫雖然成功安裝好了,但還是要驗證一下是否可以正產(chǎn)連接比較好(而不是用sqlplus /nolog的方式,因為不走監(jiān)聽)。
直接用sqlplus連接數(shù)據(jù)庫,用戶名輸入system,密碼輸入安裝時的密碼,看是否能夠正常連上數(shù)據(jù)庫。
sqlplus
如果可以,證明數(shù)據(jù)庫服務和監(jiān)聽都沒問題了。
mkdir -p /u01/ords unzip /u01/media/ords.18.1.1.95.1251.zip -d /u01/ords/執(zhí)行安裝腳本
cd /u01/ords java -jar ords.war install advanced
按照提示完成ORDS的安裝配置。
鋼哥友情提示:這里的參數(shù)要認真填寫,特別是數(shù)據(jù)庫名稱name of the database server,一定要跟數(shù)據(jù)庫監(jiān)聽器里 /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora 保持一致,否則后面會因為ORDS連接不上數(shù)據(jù)庫,導致訪問報錯。為tomcat賬號授權(需切換到root用戶)
另外這里要設置好幾個數(shù)據(jù)庫賬號的密碼,建議第一次安裝時統(tǒng)一設置成一個,并做好記錄,避免后面錯亂。
確保tomcat賬號(安裝Tomcat服務器時自動創(chuàng)建的)可以訪問/u01/ords/config目錄。
su - root chown -R tomcat:tomcat /u01/ords/config安裝配置 APEX 卸載舊版本的APEX
由于Oracle Datebase XE自帶了一個舊版本的APEX,在正式安裝最新版APEX之前,我們需要將舊版本的卸載掉。
su - oracle cd /u01/app/oracle/product/11.2.0/xe/apex sqlplus /nolog -- 用數(shù)據(jù)庫超級管理員連接數(shù)據(jù)庫 SQL> connect sys as sysdba -- 卸載原有的舊版本APEX SQL> @apxremov.sql -- 退出當前數(shù)據(jù)庫會話 SQL> exit安裝最新版本APEX
確保仍然在oracle賬號下,執(zhí)行以下命令安裝最新版本的APEX。
cd /u01/media mkdir -p /u01/apex unzip apex_5.1.4.zip -d /u01/ chown -R oracle:dba /u01/apex
現(xiàn)在新的APEX安裝文件已經(jīng)放在/u01/apex/目錄下了,登錄數(shù)據(jù)庫執(zhí)行安裝。
cd /u01/apex -- 以超級管理員身份登錄數(shù)據(jù)庫 sqlplus / as sysdba -- 安裝APEX,指定默認表空間和靜態(tài)文件別名 SQL> @apexins.sql SYSAUX SYSAUX TEMP /i/ -- 安裝完畢后數(shù)據(jù)庫會話會自動斷開,再次以超級管理員身份登錄數(shù)據(jù)庫 sqlplus / as sysdba -- 創(chuàng)建APEX實例管理員(Instance Administration)及密碼,這個密碼必須包含特殊符號,否則設置不上。這個密碼很重要,是管理APEX平臺的賬號密碼,以后創(chuàng)建新的應用schema、解鎖賬號等都靠它,第一次登錄APEX時也要用到。 SQL> @apxchpwd.sql -- 配置RESTful Services服務 SQL> @apex_rest_config.sql -- 禁用數(shù)據(jù)庫內(nèi)置的PL/SQL網(wǎng)關 SQL> exec dbms_xdb.sethttpport(0); SQL> exec dbms_xdb.setftpport(0); -- 解鎖ORDS用戶賬號 SQL> alter user apex_public_user account unlock; -- 斷開數(shù)據(jù)庫會話 SQL> exit復制APEX靜態(tài)文件到Tomcat目錄
鋼哥提示:網(wǎng)上很多教程都是直接把APEX靜態(tài)文件內(nèi)容放到Web服務器(httpd、Nginx)的目錄下,我個人推薦放到Tomcat目錄下(/u01/tomcat/webapps/i/),這樣做的好處是可以先測試APEX在Tomcat上是否能跑起來,如果可以,再將上邊的目錄映射到Nginx中。
## 切換到root用戶 su - root ## 在Tomcat的webapps目錄下新建一個名為`i`的文件夾 mkdir -p /u01/tomcat/webapps/i/ ## 將APEX靜態(tài)文件復制過去 cp -a /u01/apex/images/* /u01/tomcat/webapps/i/ ## 重啟Tomcat服務 systemctl restart tomcat將 ords.war 部署到 Tomcat
現(xiàn)在我們可以將剛才生成的ords.war文件部署到Tomcat上了。
cp -a /u01/ords/ords.war /u01/tomcat/webapps/ ## 重啟Tomcat服務 systemctl restart tomcat測試 APEX + ORDS + Tomcat 的組合是否正常工作
打開瀏覽器,訪問http://47.100.207.171:8080/ords,如果一切正常,應該可以訪問到APEX的頁面了。
workspace: INTERNAL
username: administrator
password: 你剛才設置的instance administration的密碼
成功登錄后界面如下圖所示:
最后,我們需要配置一下Nginx,讓所有的http請求都能自動轉發(fā)到部署在Tomcat上的ORDS上,完成跟APEX的交互。
Nginx默認配置文件在/etc/nginx/nginx.conf,我們需要修改這個文件,主要修改server節(jié)點下的內(nèi)容。
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } # 增加了/i/目錄的請求轉發(fā)規(guī)則,/i/目錄是APEX默認的靜態(tài)文件目錄別名。 location ^~ /i/ { alias /u01/tomcat/webapps/i/; } # 增加/ords/目錄的請求轉發(fā)規(guī)則,所有形如http://xxx.xxx.xxx.xxx/ords/的請求都會自動轉發(fā)到http://xxx.xxx.xxx.xxx:8080/ords/上 # 即APEX請求都會由Tomcat接管 location ^~ /ords/ { proxy_pass http://localhost:8080/ords/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 20m; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
最終內(nèi)容如下:
systemctl restart nginx驗證 APEX + ORDS + Tomcat + Nginx 的組合是否正常工作
打開瀏覽器,這次直接訪問http://47.100.207.171/ords,如果一切順利,應該就直接打開APEX的頁面了。
總結至此,Oracle XE數(shù)據(jù)庫 + ORDS + Tomcat + Nginx 的完整開發(fā)環(huán)境就搭建好了。在接下來的文章里,鋼哥將帶你做進一步的優(yōu)化,敬請期待。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/39929.html
摘要:本系列文章使用的是阿里云的云服務器,僅僅是因為在國內(nèi)用阿里云的人比較多而已。在這里我們采用將單獨部署到上運行的方式完成安裝,這也是比較推薦的方式。 本文是鋼哥的Oracle APEX系列文章中的其中一篇,完整 Oracle APEX 系列文章如下: Oracle APEX 系列文章1:Oracle APEX, 讓你秒變?nèi)珬i_發(fā)的黑科技 Oracle APEX 系列文章2:在阿里云上打...
閱讀 975·2021-11-25 09:43
閱讀 2300·2019-08-30 15:55
閱讀 3163·2019-08-30 15:44
閱讀 2062·2019-08-29 16:20
閱讀 1463·2019-08-29 12:12
閱讀 1618·2019-08-26 12:19
閱讀 2293·2019-08-26 11:49
閱讀 1721·2019-08-26 11:42