2015-02-10 126 views
0

步驟:OPENSHIFT DIY Tomcat的墨盒setenv.sh腳本不拾取OPENSHIFT瓦爾

    在DIY
  • 希普利的 「學習Openshift」 一章
  • 跟着步驟創建一個DIY盒
  • 通過SSH在
  • 發送到應用程序根/數據
  • wget的..... Tomcat的8
  • 解壓
  • 本身牛逼起來的conf /服務器
  • 設立的conf/tomcat的用戶
  • 啓動 - 工作 - 可以訪問Tomcat主頁

我想,以取代在conf硬編碼地址和端口瓦爾斯/ server.xml文件與$ OPENSHIFT_DIY_IP和$ OPENSHIFT_DIY_PORT env vars。

當我只是直接把這些變量 - 它沒有工作。

我已經知道,原因是$ OPENSHIFT_ * vars沒有正確傳遞到JVM--這很好。

爲了解決這個問題 - 我想我可以在bin/setenv.sh文件中添加幾個部分,以便將它們捕獲到我自己的變量中,然後在server.xml文件中使用我的變量,例如,

MY_IP = $ OPENSHIFT_DIY_IP MY_PORT = $ OPENSHIFT_DIY_PORT

我現在的問題是,上述表述並不裏面setenv.sh工作

我可以從一個命令行終端會話中執行這些命令,並有$ MY_ * vars保留這些值,但是當它們放入setenv中並且運行./setenv.sh時 - vals以空弦出現。

建設性/有幫助的想法?

TIA

回答

0

當您運行直接運行它SETENV的MY_ *環境變量將只提供setenv腳本里面。

當您希望變量在setenv腳本之外可用時,您需要source setenv. setenv

如果您希望這些變量可用於從您的shell創建的子進程,則需要export您的環境變量。

+0

嗨馬丁,謝謝 – 2015-02-10 20:26:44

+0

嗨馬丁,感謝您的額外信息。我試圖實現的是這個盒式磁帶能夠被移動到不同的節點(如果必須的話)而不需要手動編輯../conf/server.xml文件。我應該可以使用環境變量替換來實現這個功能....它不會在OS環境中工作....我只是遇到了一個小問題,在正確的語法/序列完成時一個OS設備。再次感謝。 – 2015-02-10 20:38:30

+0

如果您想知道他們如何在OpenShift上進行變量替換,請查看以下腳本:https:// github。com/openshift/origin-server/blob/master/cartridges/openshift-origin-cartridge-jbossews/bin/tomcat lines 58 - 87。 – MartinB 2015-02-12 18:33:49

相關問題