Bu Sayfayı Paylaş:

Veri

CentOS'da Tomcat Kurulumu ve Çalıştırılması

CentOS'da Tomcat kurmak için öncelikle Java ortamının kurulu olması gerekir. Bunu anlamak için java -version komutu ile java yüklü ise versiyon bilgisi alınabilir. Aksi takdirde java komutu tanınmayacaktır

Tomcat kurulumu wget ile bir download adresinden indirilebilir. Örneğin mirrors.gigenet.com sitesinden aşağıdaki gibi indirilebilir

wget http://mirrors.gigenet.com/apache/tomcat/tomcat-7/v7.0.29/bin/apache-tomcat-7.0.29.tar.gz

daha sonra indirilen bu dosya aşağıdaki gibi açılır : 

tar -xzf apache-tomcat-7.0.29.tar.gz

apache-tomcat ile başlayan klasörün içindeki bin klasörüne komut satırından geçilir. 

./startup.sh

Komutu ile tomcat çalıştırılır. Aşağıdaki komut verilerek test edilebilir : 

wget http://localhost:8080

 


İpucu

Tomcat 7'de DataSource Ekleme

Tomcat 7'de web projesinden veritabanına bağlanmak için DataSource ekleyebilirsiniz.
Öncelikle Context tanımlanmalıdır. Aşağıdaki gibi bir XML'e Context dosyasına eklenmelidir :
<Resource name="jdbc/dsAdi" auth="Container" 
type="javax.sql.DataSource" username="un" password="pw" 
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://ipburaya:1433;databaseName=database_adi;" 
maxActive="8"/>
Context web projesi içinde META-INF içerisinde koyulabilir.
Context'te DataDource tanımlandıktan sonra web.xml'e (WEB-INF altındaki) aşağıdaki gibi bir referans eklenmelidir :
<resource-ref>
<description>Database Connection</description>
<res-ref-name>jdbc/dsAdi</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth><
</resource-ref>
Bu tanımlar yapıldıktan sonra DataSource kullanılabilir. Aşağıdaki gibi bir veritabanı connection'ı açılabilir :
Context initContext = new InitialContext();
Context envContext  = (Context)initContext.lookup("java:/comp/env");
DataSource datasource = (DataSource)envContext.lookup("jdbc/ dsAdi"); 
Connection conn = ds.getConnection();

İpucu

CentOS üzerinde Apache 2 ve Tomcat 7 ile Load Balancing Yapılması

Apache gelen istekleri farklı server'lara dağıtabilmektedir (Load Balancing). Aşağıda önde bir Apache server ve arkada çalışan iki Tomcat kurulması için yapılması gereken işlemler anlatılacaktır. 

Bir server'a apache 2 , diğer iki servera Tomcat 7 kurulum işlemi yapıldıktan sonra aşağıdaki işlemler yapılmalıdır

Tomcat server'larında server.xml dosyasında jvmRoute değeri set edilmelidir (set edildikten sonra tomcat'ler restart edilmelidir)

1 Tomcat için :

2. Tomcat için :

Apache için mod_proxy.so modülünün ve mod_proxy_balancer.so modülünün kurulu olması gerekir. Apache 2 için varsayılan olarak bu modüller kuruludur

httpd.conf dosyasına (etc/httpd/conf altındadır) aşağıdaki satırlar eklenmelidir

Not :   şeklinde başlayan yorum bölümlerinin altına eklenebilir

ProxyPass /test_projesi balancer://mycluster stickysession=JSESSIONID|jsessionid

ProxyPassReverseCookiePath /test_projesi /test_projesi

BalancerMember ajp://192.168.1.1:8080/test_projesi route=tomcat1 loadfactor=50

BalancerMember ajp://192.168.1.2:8080/test_projesi route=tomcat2 loadfactor=50

test_projesi bir web projesidir. Bu web projesi için Apache server'ına yapılan tüm çağrılar 192.168.1.1 veya 192.168.1.2 server üzerindeki Tomcat'e yönlendirilecektir. stickysession seçilmesinden dolayı bir session hep aynı tomcat'e yönlendirilecektir (Bu şekilde session bilgisi kullanılabilir). loadfactor ile ağırlık yüzdesi veriliyor. Apache server'ın IP adresi 192.168.100.100 ise http://192.168.100.100/test_projesi çağrısı yapıldığında Tomcat'e yönlendirme gerçekleşecektir

test_projesi'ni iki tomcat'e farklı olmasını anlayacak şekilde bir context parametresi ekleyebilir ve onun ekranda gözükmesini sağlayabilirsiniz. Bu şekilde Apache'ye yapacağının request'in hangi Tomcat'e gönderilmiş olduğunu anlayabilirsiniz. 



İpucu

Tomcat 7 Linux'da catalina.out Boyut Probleminin Çözümü

Tomcat 7'de catalina.out log dosya boyutu sürekli büyümektedir ve belirli bir zamana göre parçalı olarak loglanmamaktadır. Bunu engellemek için Unix/Linux sistemlerinde logrotate uygulaması kullanılabilir.


Bu yapmak için aşağıdaki konfigurasyon'u bir dosyaya yazıp, /etc/logrotate.d klasörü içine atmak yeterli olacaktır :


/apache-tomcat-7.0.47/logs/catalina.out {
copytruncate
daily
rotate 50
compress
missingok
size 5M
}

 

/apache-tomcat-7.0.47/logs/catalina.out ifadesi dosyanın path'idir ve sizin sisteminizde farklı yerde olabilir. 

daily : günlü çalışacak
rotate : en son kaç log dosyasının saklanacağı (belirli sayıdan sonraki dosyalar silinecektir)
compress : sıkıstırma yapılacağı belirtilir
size : Boyut asıldıgı zaman yeni log dosyası yaratılacağı
copytruncate : kopyalanacak dosyanın silineceği belirtilir

logrotate sistemi her gün dosyayı kopyalayıp, yeni dosyayı boşaltacaktır.

Bununla ilgili detaylı bilgiyi http://www.vineetmanohar.com/2010/03/howto-rotate-tomcat-catalina-out adresindeki yazıdan okuyabilirsiniz

CENTOS için ,  /etc/logrotate.conf dosyasında rotate log files weekly ifadesi altındaki ifadeyi daily ,  rotate 4 de rotate 14 şeklinde değiştirmeniz gerekebilir. Bu konuda bilgiye : http://manuals.loway.ch/QM_AdvancedConfig-chunked/ar01s17.html adresinden ulaşabilirsiniz. 

 

 


İpucu

Bir Tomcatin İki Farklı Portu Dinlemesi

Bir tomcat farklı iki portu dinleyebilir. conf klasörü içindeki server.xml dosyası içinde connector bölümü iki tane hale getirilebilir :
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
			   
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" />	
Yukarıdaki yapıldıktan sonra tomcat restrart edilmedilir. Tomcat artık hem 80 hem de 8080 den çalışacaktır.

İpucu

Tomcat'de Bir Projeyi Root Projesi Yapmak

Tomcat'e My şeklinde çalışan bir projeniz var ve "http://IP" yazıldığında sizin projenize yönlendirmek istiyorsanız (normal da Tomcat ana sayfası açılır) aşağıdaki işlemleri yapınız :
apache-tomcat-klasörü]/webapps/ROOT
klasörünü içi tamamen silinir.
Bu klasörün içine aşağıdaki gibi bir index.html adıyla bir dosya ekleyin :
<html>
<head>
<title>Redirecting to /my</title>
<meta http-equiv="refresh" content="0;url=/my" />
</head>
<body>
</body>
</html>

Artık http://ip veya http://host yazıp girdiğiniz de sizin web projeniz açılacaktır

İpucu

Tomcat'e Açılışta Komut Satırı Parametresi Vermek

Tomcat açılırken size özel parametreler vermek için çalıştırmadan önce JAVA_OPTS değişkeni set edilebilir.

Örneğin Windows'da ana dizine aşağıdaki gibi bir bat eklenebilir:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_111
set JAVA_OPTS="-Dfibiler.appdir=Q:\app"
call bin\startup.bat


Görüldüğü gibi -Dfibiler.appdir parametresi verilmiştir.

Linux'da ise JAVA_OPTS set etme aşağıdaki gibi yapılır:

export JAVA_OPTS="-Dfibiler.appdir=Q:\app"




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir