7

Tôi có máy chủ RHEL được cài đặt tomcat. Tomcat chạy như một người dùng không đăng nhập được gọi là tomcat. Tôi đã thiết lập các biến môi trường cần thiết trong /etc/profile.d/myenvvars.sh nhưĐặt biến môi trường cho người dùng không đăng nhập

export JRE_HOME=/usr/lib/jvm/jre 
export MY_VAR=/usr/share/mydir 

Các biến môi trường được thiết lập và có thể được lặp lại trong thiết bị đầu cuối sử dụng

# echo $MY_VAR 
# sudo -u tomcat echo $MY_VAR 

Tuy nhiên khi tomcat bắt đầu biến môi trường của tôi không được công nhận bởi tomcat.

Theo this bài viết tôi thấy rằng biến môi trường của tôi sẽ không được công nhận khi tomcat bắt đầu như tomcat là một người dùng không đăng nhập. Vì vậy, tôi có nguồn gốc tập tin trên trong ~/.bash_profile sử dụng

. /etc/profile.d/myenvvars.sh 

Tuy nhiên, tôi vẫn có cùng một vấn đề, các biến môi trường không reccognised.

Mọi trợ giúp sẽ được đánh giá cao.

Trả lời

1

Như đã nêu trong bài viết, cài đặt được liên kết của bạn cần phải ở trong ~/.bashrc.

Có thể có một cơ hội thậm chí điều này không hoạt động ... tùy thuộc vào cách khởi động tomcat của bạn.

Bạn có thể có tập lệnh tùy chỉnh cho tomcat để đảm bảo tập lệnh tải các biến môi trường, ví dụ: một cái gì đó như thế này

tomcat-start.sh

. /etc/profile.d/myenvvars.sh 
tomcat 
+0

Nó không tốt cho các kịch bản sản xuất để phụ thuộc vào kịch bản khởi động shell như '.bashrc' hoặc' .bash_profile'. Cách này để đưa các bước khởi tạo trong kịch bản khởi động ứng dụng chính nó là một thực hành tốt hơn nhiều. – codeforester

Các vấn đề liên quan