2

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

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

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

Любой совет?

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

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

3 ответа3

1

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

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

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

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.

0

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .