1. 程式人生 > >解決ubuntu在/etc/profile中配置環境變數後失效的問題

解決ubuntu在/etc/profile中配置環境變數後失效的問題


昨天設定了tomcat+nginx+session共享:nginx +多個tomcat實現負載均衡和session共享(完整教程,圖文並茂).

1、配置在系統變數裡的環境變數不生效了?

因為之前是通過安裝包安裝的jdk,在/etc/profile中中設定的環境變數,結果今天發現jdk又沒了。
在這裡插入圖片描述

2、解決一、重新載入/etc/profile

然後我重新執行

#切換成root使用者
sudo su root
# 載入環境變數
source /etc/profile
#檢視java版本
java -version

在這裡插入圖片描述
發現,java又出來了,但是我不能每天都重新執行一次profile吧。

3. 解決二、設定環境變數到使用者下面

一通百度發現:在/etc/profile下配置的環境變數只能在終端有效,如果想讓持續有效,需要把環境變數設定到你的使用者設定。修改之前在/etc/profile裡的配置到/home目錄下的user的.bashrc裡配置。

註釋proile裡的環境變數

vi /etc/profile

在這裡插入圖片描述

#使剛剛的配置生效
source /etc/profile

不知道為啥,我註釋之後,重新使環境變數生效,但是依然還是能夠顯示java的版本號。為了方便測試,我開了另一個終端,發現java又沒有了。我們在新的終端上配置環境變數到使用者下面,重新測試一下。

開啟新的終端

在這裡插入圖片描述
在使用者目錄下配置.bashrc

# 進入當前的使用者目錄下
cd ~ vi .bashrc

新增環境變數到使用者目錄下

# 配置jdk的環境變數
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_181
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

在這裡插入圖片描述

3. 啟用使用者下的環境變數

使環境變數生效

# 進入當前終端所在的home目錄
cd ~
# 使配置生效
source ./.bashrc
#檢視java版本
java -version

我們發現配置已經生效了
在這裡插入圖片描述

4. 測試有效性

我們再開一個終端,檢測一下是否會像之前/etc/profile一樣失效
在這裡插入圖片描述

我們發現,新開一個終端後,root使用者下面的peofile已經生效了,但是切換到ubuntu使用者下,卻不行。我們可以在ubuntu的home目錄下做相同的配置即可。配置同上面root一樣。生效也一樣,所以就不舉例了
在這裡插入圖片描述