mercoledì 27 ottobre 2010

jetty - enable on localhost

/etc/default/jetty.conf

JETTY_HOST=0.0.0.0

ubuntu 10.4 - webmin

wget http://downloads.sourceforge.net/project/webadmin/webmin/1.520/webmin_1.520_all.deb

dpkg -i webmin_1.520_all.deb

apt-get install libapt-pkg-perl libnet-ssleay-perl libauthen-pam-perl libio-pty-perl apt-show-versions

ubuntu - ufw

//ssh
ufw allow from any|<ip> to any port 22

//http
ufw allow from any to any port 80

//webmin
ufw allow from any to any port 10000

//ftp
ufw allow from any to any port 21
ufw allow proto tcp from any to any port 12122:12199

//postgres in esterno
ufw allow from 192.168.157.61 to 192.168.157.62 port 5432
ufw allow from 192.168.157.62 to 192.168.157.61 port 5432

ufw logging on
ufw enable

martedì 26 ottobre 2010

Apache performance - ab

utility per eseguire i check su apache

ab -c 100 -n 1000 http://www.nomedelsito.it/

postgres : performace

per la versione 8.4

modificiare /etc/postgres/xx/main/postgresql.conf


shared_buffers = 768MB  #questo parametro deve essere settato con attenzione
max_prepared_transactions = 768
work_mem = 12MB

fsync = on
wal_buffers = 512kB

enable_seqscan = off 

geqo_threshold = 3

per modificare gli shared buffers sotto linux:

seguire queste indicazioni


joe /etc/sysctl.conf

kernel.shmmax = 671088640
kernel.shmall = 671088640

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216


poi reboot

ubuntu 10.4 - settare il locale giusto

per i problemi con il locale


il comando locale vi restituisce cose oscene... vi consiglio:

apt-get install language-support-en
apt-get install language-support-it
update-locale LANG=it_IT.UTF-8
reboot

Jetty - set log time zone

nei file /jetty/etc/contetxt/noemsito.xml

l'attributo:

<set name="LogTimeZone">CET</set>


può essere CET (europa è il nostro)


linux - set time zone

dpkg-reconfigure tzdata

linux - disk speed check

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k
rm /tmp/output.img

lunedì 25 ottobre 2010

joe togliere i backup file ~

sono fastidiosi quei file di backup che fa joe con la ~ davanti

editare
/etc/joe/joe.rc

togliere lo spazio davanti alla riga:

-nobackups      If you don't want backup files to be created

postgresql : connection from java app

modificare le seguenti configurazione per accedere da un'altra macchina con una app:

postgres.conf

# - Connection Settings -

listen_addresses = '*'

pg_hba.conf

host all all 0.0.0.0 0.0.0.0 trust

Jetty - Lib java for jsp e mailing

ecco l'elenco delle lib che uso per settare il funzionamento delle jsp:

jasper-el.jar jasper.jar jasper-jdt.jar jetty-ajp-6.1.22.jar jetty-naming-6.1.22.jar jetty-setuid-6.1.22.jar jsp-api-2.1.jar tomcat-juli.jar

da inserire nella cartella jetty-home/lib/

giovedì 21 ottobre 2010

Jetty - OutOfMemoryError: PermGen space #2

alla fine abbiamo risolto così:

file /etc/default/jetty

JAVA_OPTIONS="-Xmx1280M -Djava.awt.headless=true -XX:+UseParallelGC -XX:-DisableExplicitGC -XX:PermSize=128M -XX:MaxPermSize=256M"

mercoledì 20 ottobre 2010

Jetty - OutOfMemoryError: PermGen space

il problema, sa come leggo nel web, che lo spazio di memoria dedicato al caricmamento dei vari jar nelle singole webapps non viene gestito da un garbage collector. Ecco come ho tentato di risolvere il problema:

1 spostare le lib in comune nella jetty.home/lib/ext/nomeapp_che_decidi_tu/

2 definire il permgen space e attivare il garbage collector per quell'area di memoria modificando il file /etc/default/jetty elle Java Options aggiungendo :

-XX:+CMSPermGenSweepingEnabled : this setting enables garbage collection in the permgenspace
-XX:+CMSClassUnloadingEnabled : allows the garbage collector to remove even classes from the memory

martedì 19 ottobre 2010

Java RestClient anche per android

ecco un como Client Rest per java prelevato nel web e opportunamente modificato per le mie esigenze, ottimo anche per android

Script utili per la bash

il file si chiama profile.utils e va messo nella /usr/local/etc/ da aggiungere a /etc/profile/

il file contiene script utili di alias e altro

postgresql : dump and restore

backup: pg_dump nomedb > nomefile.sql

restore: psql nome_nuovo_db < nomefile.sql &>err

tail -f err

Apache + Jetty su Ubuntu

1 scaricare apt-get install jetty

2 i file si trovano sotto /usr/share/jetty

3 configurare jetty sulla porta 8080 e abilitare dal suo file di configurazione /etc/init.d/default

4 configurare apache in modo che vada in proxy


<VirtualHost *>
        ServerName www.nomesito.it
        ServerAlias nomesito.it

        RewriteEngine On
        RewriteCond %{HTTP_HOST} !www.nomesito.it
        RewriteRule ^(.*)$ http://www.nomesito.it$1 [R=301,L]

        <Proxy *>
        Order deny,allow
        Allow from all
        </Proxy>

        ProxyPreserveHost On
        ProxyPass / http://www.nomesito.it:8080/
        ProxyPassReverse / http://www.nomesito.it:8080/

        ErrorLog /usr/local/customers/logs/nomesito_error_logs
        CustomLog /usr/local/customers/logs/nomesito_access_logs combined

</VirtualHost>



5 configurare jetty sotto /usr/share/jetty/etc/context/nomesito.xml


    <Configure class="org.mortbay.jetty.webapp.WebAppContext">

         <Call class="org.mortbay.log.Log" name="debug"><Arg>Configure  Sito</Arg></Call>
         <Set name="resourceBase">/usr/local/customers/nomesito/</Set>
         <Set name="contextPath">/</Set>
         <Set name="virtualHosts">
              <Array type="java.lang.String">
                   <Item>www.nomesito.it</Item>
               </Array>
          </Set>


          <Call name="addHandler">
              <Arg>
                 <New class="org.mortbay.jetty.handler.RequestLogHandler">
                  <Set name="requestLog">
                     <New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog">
                      <Arg><SystemProperty  name="jetty.logs" default="./logs"/>/yyyy_mm_dd.nomesito.request.log</Arg>
                           <Set name="retainDays">90</Set>
                           <Set name="append">true</Set>
                           <Set name="extended">false</Set>
                           <Set name="LogTimeZone">GMT</Set>
                     </New>
                 </Set>
              </New>
           </Arg>
       </Call>

   </Configure>

6 configurare il dns della macchina che punti al dominio interno 127.0.0.1 www.nomesito.it sul file /etc/hosts

7 service jetty start && service jetty stop

postgresql : create database UTF8

con la versione 8.4 tutto diventa più difficile con l'encoding.

psql
create database "nome del db" encoding 'utf8' TEMPLATE template0

postgresql : database removal failed

problemi ad eseguire un dropdb quando il db è in uso:


pkill -f 'postgres: postgres <database>'

Perchè questo blog?

diciamo che è un insieme di appunti di tecnicume