Очистка причала - удаление ненужных вещей - PullRequest
11 голосов
/ 13 мая 2011

Я привык использовать Jetty в качестве моего веб-контейнера.

То, что я сделал на этапах установки , это получение оригинального tar-шара и очистка некоторых каталогов и файлов из него.

ЧтоЯ хочу поднять здесь, это:

Что вы использовали для удаления из Jetty для использования в производственных / постановочных средах?

Что яИЗМЕНЕНИЕ в пакете причала по умолчанию:

  • УДАЛИТЬ :
    • README.txt
    • pom.xml
    • javadoc /
    • examples /
    • / webapps / test *
    • / contexts / test *
    • / project-website
    • / resources/log4j.properties
  • CREATE :
    • работа /

Вопросы:

  • Я не нарушаю лицензионное право?
  • Могу ли я сделать какие-либо недостатки для моей системы (производительность / стабильность) при этом?
  • Кто-нибудь настраивает больше, чем это на пристани?
  • Комментарии?
  • Вопросы?
  • Tips?

Похожие сообщения:

Ответы [ 3 ]

2 голосов
/ 31 мая 2012

Я не нарушаю лицензию, верно?

Правильно.

Могу ли я принести какой-либо недостаток для моей системы (производительность / стабильность), сделав это??

Единственным недостатком является то, что файл свойств Log4J полезен для контроля того, сколько (или сколько) журналирования выполняется.Отключение ведения журнала в целом приводит к меньшим файлам журнала, сохраняя дисковое пространство.(Не должно быть проблем с дисками TB.) Если файл свойств ведения журнала не может быть найден, приложение может по умолчанию использовать уровни DEBUG или INFO, а не уровни ERROR.Таким образом, Log4J полезно, чтобы все приложения регистрировали только критическую информацию.

Исключение посторонних примеров (набор тестов) повышает безопасность, предоставляя меньше системной информации.Это также может сэкономить немного памяти, потому что тестовые веб-приложения не могут быть загружены в память.

Кто-нибудь настраивает больше, чем это на пристани?

Вы можете очистить *Каталог 1022 * выглядит следующим образом:

cd /opt/jetty
rm -rf webapps
mkdir -p webapps/root
echo "<html><body></body></html>" > webapps/root/index.html

Перезапустите Jetty.

2 голосов
/ 26 июля 2014

Вот один из способов очистки причала (9.1.5).

tar -xzvf jetty-distribution-9.1.5.v20140505.tar.gz
# can rename 'jetty-distribution-9.1.5.v20140505' to 'jetty-9.1.5' or similar
cd jetty-distribution-9.1.5.v20140505
rm -rf VERSION.txt license-eplv10-aslv20.html notice.html start.d/jsp.ini resources/log4j.properties demo-base/
find -name README.TXT | xargs rm -fv

mv etc etc.bak              # keep a backup of etc/ and modules/, take whats necessary
mv modules modules.bak
mkdir etc modules work
mv modules.bak/.donotdelete modules.bak/deploy.mod modules.bak/ext.mod modules.bak/http.mod \
    modules.bak/logging.mod modules.bak/resources.mod modules.bak/security.mod modules.bak/server.mod modules.bak/servlet* \
    modules.bak/webapp.mod modules/
mv $(grep -h --color=none "etc.*.xml" modules/* | sed 's/etc/etc\.bak/g') etc/
mv etc.bak/jetty-started.xml etc.bak/jetty.conf etc/        # required for bin/jetty.sh
mv etc.bak/webdefault.xml etc/                              # required for web applications
                                                            # provides default deployment descriptor config for all apps
# rm -rf modules.bak/ etc.bak/                              # remove if not needed

sed -i '/^#/d; /^\s*$/d' start.ini start.d/http.ini         # clean if needed

vi start.ini start.d/http.ini                               # check and modify if needed
    start.ini: 'jetty.send.server.version=false', remove '--module=websocket'
    http.ini: 'jetty.port=9999'
vi modules/<whatever.mod>                                   # check and modify if needed
vi etc/jetty.xml # to prevent Jetty from showing context related information
    remove
        <Item>
            <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
        </Item>
vi etc/jetty-logging.xml # suffix date with '-', instead of prefixing with '_'
    change
        <Arg><Property name="jetty.logs" default="./logs"/>/yyyy_mm_dd.stderrout.log</Arg>
        ...
        <Get id="ServerLogName" name="datedFilename"/>
    to
        <Arg><Property name="jetty.logs" default="./logs"/>/stderrout.log.yyyy_mm_dd</Arg>
        ...
        <Arg type="java.lang.String">yyyy-MM-dd</Arg>
        <Arg type="java.lang.String">HHmmssSSS</Arg>
        <Get id="ServerLogName" name="datedFilename"/>
vi etc/webdefault.xml # disable jsp support and modify other default settings
    remove or comment out <servlet> and <servlet-mapping> of JSP Servlet
    remove or comment out index.jsp from <welcome-file-list>
    set dirAllowed to false in default servlet
vi bin/jetty.sh # use $JETTY_BASE/logs instead of $JETTY_BASE as working directory
    change
        JETTY_RUN=$(findDirectory -w /var/run /usr/var/run $JETTY_BASE /tmp)
        JETTY_STATE=$JETTY_BASE/${NAME}.state
    to
        JETTY_RUN=$(findDirectory -w /var/run /usr/var/run $JETTY_BASE/logs $JETTY_BASE /tmp)
        JETTY_STATE=$JETTY_RUN/${NAME}.state
vi bin/jetty.sh # use $JETTY_HOME/work as default TMPDIR
    move following 
        TMPDIR=${TMPDIR:-/tmp}
    below 'JETTY_HOME=$PWD' and change
        TMPDIR=${TMPDIR:-"$JETTY_HOME"/work}

И полученная структура.

jetty-distribution-9.1.5.v20140505
├── bin
│   └── jetty.sh
├── etc
│   ├── jetty-deploy.xml
│   ├── jetty-http.xml
│   ├── jetty-logging.xml
│   ├── jetty-started.xml
│   ├── jetty.conf
│   ├── jetty.xml
│   └── webdefault.xml
├── lib
│   └── <no change or keep only relevant>
├── logs
├── modules
│   ├── deploy.mod
│   ├── ext.mod
│   ├── http.mod
│   ├── logging.mod
│   ├── resources.mod
│   ├── security.mod
│   ├── server.mod
│   ├── servlet.mod
│   ├── servlets.mod
│   └── webapp.mod
├── resources
├── start.d
│   └── http.ini
├── start.ini
├── start.jar
├── webapps
└── work
0 голосов
/ 22 июня 2011

В прошлом я использовал для обрезки Jetty много , вырезая все рамки, которые я не использую.Это также позволило мне обрезать все банки зависимостей.Как только я урезал его до самого необходимого, я использовал его очень маленьким.Затем я переупаковал его с onejar , так что это была передача одного файла, которая готова к выполнению.Я давно управлял любыми крупномасштабными кластерами приложений, поэтому, возможно, есть более эффективные способы достижения тех же целей. Облачные вычисления приходит на ум, но я мало что сделал, но именно здесь я бы посмотрел первым, если бы столкнулся с такими же проблемами сегодня.

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

...