Запуск Webapp на Mac в UTC (изменение часового пояса MacBook или tomcat timezone)

1109
Andy A

Чтобы запустить мое веб-приложение, мне нужно установить часовой пояс UTC на моем MacBook. Я могу сделать это временно, открыв Konsole и введя

sudo ln -sf /usr/share/zoneinfo/UTC /etc/localtime 

Тем не менее, мой часовой пояс возвращается к нормальному, когда я перезагружаю свою машину!

Любой совет?

Изменить : Ответ на этот вопрос «Celada» подразумевает, что я могу просто сделать мой сервер UTC. Я использую Apache Tomcat 7. В дополнение к ответу Celada, как я могу сделать это UTC?

Обновление - 3 апреля : после ответа Celada я попытался добавить SetEnv TZ UTCв начало файла startup.sh. Это, казалось, не имело значения. После некоторых исследований я попытался добавить export JAVA_OPTS="-Duser.timezone=UTC"в startup.sh, но это тоже не дало результата. Я добавляю правильную команду в правильный файл?

2

3 ответа на вопрос

1
Celada

Я предполагаю, что если бы вы использовали панель управления для изменения часового пояса, ваши изменения не были бы отменены при каждой перезагрузке.

Если вы обеспокоены тем, что часовой пояс восстанавливается при каждом перезапуске, то это звучит так, как будто вы хотите сделать изменение постоянным, а не временным, поэтому в таком случае, почему бы вам просто не использовать панель управления?

Если это изменение касается только вашего веб-приложения, то почему бы вам не изменить часовой пояс только для веб-сервера, а не глобально на компьютере? Это должно быть так просто, как добавление

SetEnv TZ UTC 

до конца /etc/apache2/httpd.conf.

Если это не сработает, это может быть потому, что TZпеременная будет необходимо установить прежде, чем Apache запускается вместо того, чтобы установить на Apache. В этом случае следующее является более сложным, но обязательно сработает:

  1. редактировать /System/Library/LaunchDaemons/org.apache.httpd.plist

    Добавьте строки

    <key>EnvironmentVariables</key> <dict> <key>TZ</key> <string>UTC</string> </dict> 

    как раз перед строкой, которая читается </dict>возле дна

  2. Перезагрузите этот конфиг

    launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist launchctl load /System/Library/LaunchDaemons/org.apache.httpd.plist 

Все это нужно сделать как root.

Привет, Селада, спасибо за твой ответ. Что вы подразумеваете под «Панель управления»? Голая мысль, я на Mac, а не Windows. Я обнаружил параметр «Часовой пояс» в «Дата и время» в Системных настройках, но не нашел варианта для UTC. 12 лет назад 0
Не «Панель управления»? Техническим термином для отдельных предметов там был «CDev», но я думаю, что этот термин может быть устаревшим. Итак, я имею в виду то, что они называют это в наши дни. Извините, я сейчас не перед своим MacBook (он дома), поэтому я не могу проверить. В любом случае, я удивлен, что нет часового пояса в формате UTC или UTC, который вы можете установить оттуда. Если вы не можете его найти, попробуйте вместо этого решение Apache `SetEnv`? 12 лет назад 0
Я попробую идею Apache. В настоящее время я ищу файл, в который мне нужно добавить это. ... (если вы можете вести меня, пожалуйста, сделайте) 12 лет назад 0
Ммм, вы, я неопытный с этим. В какой файл добавить строку? Это один из файлов в папке conf в моей папке apache-tomcat-7.0.26? (Это полное предположение) 12 лет назад 0
Я обновил вопрос, добавив больше информации о том, как установить переменную окружения для Apache. ОДНАКО из вашего последнего комментария я вижу, что вы, возможно, используете не Apache, поставляемый Apple по умолчанию, а tomcat. Если это так, вам нужно отредактировать файл conf (для версии `SetEnv`) или запустить скрипт (для версии` launchctl`), соответствующий * этому * веб-серверу. Я не уверен, какие файлы будут для вас, потому что я не знаю, где и как выполняется установка tomcat. Но я надеюсь, что вы можете найти аналогичные файлы. 12 лет назад 0
Я еще нигде не вижу файл с именем conf, но, честно говоря, я не знаю, что я делаю! Почему-то файл 'startup.sh' выглядит актуально? 12 лет назад 0
Это действительно актуально. Может быть, Tomcat использует это вместо стандартного запуска MacOS, чтобы запустить себя. Вы можете добавить `TZ = UTC; экспортируйте TZ` вверху этого файла под строкой `#! / bin / sh` и перезапустите Tomcat. Могу поспорить, что это сработает. 12 лет назад 0
Спасибо за отзыв Celeda, но это не сработало. Тем не менее, сейчас мы пытаемся изменить часовой пояс tomcat, а не моего Mac, мне интересно, это новый вопрос, который нужно задать (оставляя этот вопрос открытым, чтобы сделать мой MAC постоянно UTC). Andy A 12 лет назад 0
Спасибо за вашу помощь, Селеда. Я разобрал это сейчас. Я бы дал вам +1 за ваш совет, но так как этот вопрос был перенесен из StackOverflow в SuperUser, у меня недостаточно очков, чтобы +1 вам. Andy A 12 лет назад 0
Прошел год, и я добавил +1, как заслужил! Andy A 11 лет назад 0
0
lupincho

Если символическая ссылка работает, вы можете воссоздать эту символическую ссылку при запуске. См. Создание запущенных заданий

0
Andy A

Бинго. Мне удалось установить часовой пояс для кота на UTC. В bin / catalina.sh я добавилCATALINA_OPTS=-Duser.timezone=UTC