[英]Environment variables in Ubuntu Tomcat, Apache and Java
我有一個在Windows環境中運行的Java Web應用程序,我想將其移至Ubuntu系統。 在Windows中,我使用環境變量存儲主路徑:
MAIN_PATH=C:\test
此變量在許多配置文件和應用程序中使用,例如:
例子:
Tomcat配置
<Host name="localhost" appBase="${MAIN_PATH}/webapps" unpackWARs="true" autoDeploy="true">
apache虛擬主機
<VirtualHost *:80>
DocumentRoot "${MAIN_PATH}/www"
ServerName testmain
<Directory "${MAIN_PATH}/www">
...
我找不到在ubuntu中進行設置的方法,我嘗試了以下方法:
/etc/enviroment
/etc/profile
在/etc/init.d/tomcat7.sh中export MAIN_PATH=/opt/test
所有這些解決方案都行不通,或者僅滿足我的一項要求(僅在服務器配置中有效,而在應用程序中無效,反之亦然)。
有沒有像Windows全局環境變量可用於所有這些情況的?
您是否檢查過ubuntu / linux文檔? 這很簡單。
請參閱: https : //help.ubuntu.com/community/EnvironmentVariables
這對我來說非常有效。
我建議您將環境變量對於應用程序的每一層分開。 例如,將所有內容放在一個地方似乎很有意義,但我認為共享Apache和Tomcat的配置目錄並不是一個好設計。 兩者都有配置文件的標准位置(例如$CATALINA_HOME/conf
)。
我不認為您在Apache上使用log4j,為什么還要將其放在與Apache共享的自定義目錄中。 將其放在您的Web應用程序內的conf文件夾中,或放在前面提到的頂級conf目錄中。 也許您將在Tomcat上擁有多個web應用程序-在這種情況下,在特定的webapp目錄中記錄配置文件更為有意義。
在流程中包含環境變量也更清潔。 它們不會影響全局環境變量。 例如,當您啟動Tomcat時,setenv.sh腳本將運行並僅針對運行Tomcat的Java進程設置所有環境變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.