2011-05-13 76 views
11

我習慣於使用Jetty作爲我的web容器。清理碼頭 - 刪除'不必要的東西'

我也對我的安裝步驟是什麼是從它那裏得到原來的焦油球和清理某些目錄和文件

我想在此提出,是:

什麼是你用來從碼頭消除對生產使用/分期enviroments?

我改變缺省碼頭包什麼:

  • REMOVE
    • 的README.txt
    • 的pom.xml
    • 的javadoc/
    • 例子/
    • /webapps /下測試*
    • /環境/測試*
    • /項目網站
    • /resources/log4j.properties
  • CREATE
    • 工作/

問題:

  • 我沒有違反任何許可的權利?
  • 我可以爲我的系統帶來任何缺點(性能/穩定性)嗎?
  • 有沒有人在jetty上定製過這個功能?
  • 評論?
  • 有問題?
  • 小貼士?

相關文章:

回答

0

在過去,我用切出一切,我不使用框架修剪下來碼頭一很多。這也讓我減少了所有的依賴罐。一旦我將它修剪到我使用的基本要素,它就非常小巧。然後我用onejar重新包裝它,因此這是一個準備執行的單個文件傳輸。自從我管理任何大型應用程序集羣以來,已經有很長一段時間了,所以可能有更好的方法來實現相同的目標。 雲計算出現在腦海中,但我並沒有在那裏做太多的事情,但如果我今天面臨同樣的挑戰,那麼我會首先考慮這一點。

現在帶寬和磁盤的價格要便宜很多,所以問題在我看來隨着時間的推移變小了。

+0

感謝您的留言,我在這個帖子裏感到孤單!但是,不要再開玩笑了,你可以更詳細地記住你曾在碼頭上修剪過什麼?乾杯! – 2011-06-22 04:12:29

2

我沒有違反任何許可權嗎?

正確。

我可以爲我的系統(性能/穩定性)帶來任何缺點嗎?

唯一的缺點是Log4J屬性文件對於控制執行多少(或多少)日誌記錄非常有用。完全禁用日誌會導致較小的日誌文件,從而節省磁盤空間。 (不應該是TB驅動器的問題。)如果無法找到日誌記錄屬性文件,應用程序可能會默認爲DEBUGINFO級別,而不是ERROR級別。因此,Log4J有助於告訴所有應用程序只記錄關鍵信息。

消除多餘的示例(測試套件)通過暴露較少的系統信息來加強安全性。它還可以節省一點內存,因爲測試webapps無法加載到內存中。

有沒有人在jetty上自定義超過這個?

您可以清潔webapps目錄如下:

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

重啓碼頭。

+0

感謝您的評論!我在想這個帖子可能有很多評論!我習慣清理碼頭!乾杯! – 2012-06-20 02:58:57

1

這裏有一種清理碼頭的方法(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