2012-08-24 36 views
8

Làm cách nào để thay đổi múi giờ trong Tomcat? Múi giờ được sử dụng bởi một trong các ứng dụng web (Solr) là không đúng (so với dấu thời gian của MySQL) và tôi nghĩ rằng việc thay đổi múi giờ của Tomcat sẽ giúp ích. Cảm ơn!Thay đổi múi giờ trong Tomcat

+0

Người dùng đang chạy bộ gì và môi trường của nó là gì? – stark

+0

Tôi đã tải solr làm ứng dụng web tomcat và tomcat6 đang chạy dưới dạng người dùng 'tomcat'. Tomcat6 đang chạy trong CentOS 6.3 trên cổng 8080. – Nyxynyx

Trả lời

20

Trừ khi tomcat có biến môi trường TZ cá nhân, sau đó nó sử dụng /etc/localtime mà trên hệ thống của tôi là bản sao của /usr/share/zoneinfo/America/New_York.

múi giờ cá nhân của Tomcat sẽ được quy định trong kịch bản khởi động của nó trong một hình thức như:

-Duser.timezone=GMT 
+0

Webapp tomcat có thời gian của nó nhanh hơn thời gian trong MySQL/PHP trong 4 giờ. Nếu tomcat sử dụng '/ etc/localtime' không nên thời gian giống nhau cho Solr và MySQL? – Nyxynyx

+1

Tôi gặp vấn đề tương tự. Nó chỉ ra cho tôi Java đang tìm trong tệp '/ etc/sysconfig/clock'. Điều này cho bình luận cho [thêm thông tin] (http://grokbase.com/t/tomcat/users/051m0s38p2/how-to-change-the-timezone-for-tomcat#20050120zlgufj6cgdsma7i2olrgcpwia4) – mlathe

+0

Sau đó, đó là một lỗi trên phần của Java ./etc/sysconfig/clock đang được loại bỏ trong các bản phân phối gần đây. Mọi thứ nên sử dụng/etc/localtime trừ khi người dùng ghi đè lên. – stark

0

Nếu bạn đang đề cập theo múi giờ của các dữ liệu được lưu trữ trong Solr ... Tất cả các ngày/giá trị thời gian trong Solr được lưu trữ thông qua DateField, sử dụng UTC.

+0

Thời gian 'last_index_time' trong' dataimport.properties' của 'DataImporHandler' là 4 giờ trước thời gian được PHP/MySQL sử dụng (EDT, America/Newyork). Làm thế nào tôi nên điều chỉnh múi giờ UTC được sử dụng bởi Solr (hoặc Tomcat) – Nyxynyx

+0

Kiểm tra bất kỳ tập lệnh khởi động tomcat hoặc tệp cấu hình nào cho CATALINA_OPTS – stark

+0

Khi @stark trả lời, chuyển giá trị -Duser.timezone khi bắt đầu Tomcat xem ... http: // www.zeentan.com/wp/apache-solr-timezone-issue –

5

Dưới đây là những gì tôi thêm ít đầu catalina.sh (sau Shabang) để thay đổi múi giờ của tomcat:

TOMCAT_TIMEZONE="-Duser.timezone=Europe/Budapest" 
CATALINA_OPTS="$CATALINA_OPTS $TOMCAT_TIMEZONE" 

Và đừng quên để khởi động lại tomcat để có hiệu lực.

0

Như đã nói Eric Wang bạn có thể sử dụng

TOMCAT_TIMEZONE="-Duser.timezone=Europe/Budapest" 
CATALINA_OPTS="$CATALINA_OPTS $TOMCAT_TIMEZONE" 

nhưng trên máy chủ CentOS tôi không tìm thấy catalina.sh, thay vì đó tôi đã thêm các biến vào/etc/sysconfig/tomcat6, và đó là công trình!

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