Gil*_*t V 0 ubuntu environment-variables
我正在尝试在我的 Ubuntu 机器中设置我的环境变量。现在我做了一些研究并尝试了这个问题的方法 Set environment variable in Ubuntu
类似的问题,但问题是我已经写了“etc/enviroment”、“etc/profile”和“etc/bash.bashrc”文件来包含我的变量:
JAVA_HOME=/home/glv/information/jdk1.6.0_25/
export JAVA_HOME
BASEDIR=/home/glv/apache-tomcat-6.0.29/
export BASEDIR
Run Code Online (Sandbox Code Playgroud)
然而,问题是当我在 apache 上运行 startup.sh 时,它仍然说 BASEDIR 环境变量设置不正确,而且据我所知,JAVA_HOME 可能也不正确。我正在使用最新的 Ubuntu,不确定这是否有问题,或者我是否必须另辟蹊径。任何帮助,将不胜感激。
Apache 在 Ubuntu 中通过使用 Apache init 脚本进行控制,位于/etc/init.d/apache2. 当您使用以下命令启动和停止 Apache 时,将运行此脚本:-
> sudo service apache2 [start|stop|restart|graceful|etc...]
Run Code Online (Sandbox Code Playgroud)
如果您查看这个 init 脚本,您会看到环境是在此处设置和修改的,首先从文件中读取环境变量/etc/apache2/envvars。这个单独的环境很重要,因为 Apache 的服务器进程是一个 seteuid 可执行文件,这意味着它可以使用“有效用户 ID”运行。在我的 Ubuntu 机器上,Apache 进程以“www-data”的用户名运行,即使 root 用户启动了该进程。由于这是一个“系统帐户”,它没有默认的 shell 或 bash 环境,并且不使用任何设置用户环境的文件。
所以我认为你想做的是将这些环境变量放在/etc/apache2/envvars.
更新:
Ubuntu 上的 Apache 有许多 .conf 文件(在 /etc/apache2/ 和 subdirs 中),它们也可用于修改正在运行的 Apache 环境。配置文件按顺序解析,都包含在主配置文件中:/etc/apache2/apache2.conf.
在这些 conf 文件中,您可以使用SetEnv来修改环境。然后你会确定环境是你想要的。例如,您可以将其添加到/etc/apache2/httpd.conf:-
SetEnv JAVA_HOME /home/glv/information/jdk1.6.0_25/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6717 次 |
| 最近记录: |