Warning

If it is not explicitly told in following recipe, setting up services are described for Ubuntu 24.04 server, but applications are described for Xubuntu 24.04 workstation. If you use different Ubuntu version or Linux distribution, settings as well as content, names and places of configuration files may be different!
Got it.

Tomcat no ražotāja arhīva

Information

Šeit ir aprakstīts, kā uzstādīt Tomcat lietojumu serveri no ražotāja mājas lapas, kas ir ērtāks izstrādei un testēšanai. Produkcijas videi vēlams izmantot Tomcat standarta versiju no Ubuntu krātuves.

Uzstādīšana

  1. Ja nepieciešams, uzstāda Java izpildes vide vai izstrādes vide
  2. Pārbauda Java versiju

    java -version
  3. Lejuplādē nepieciešamo Tomcat versiju no http://tomcat.apache.org/, piemēram apache-tomcat-9.0.113.tar.gz izvēloties tar.gz arhīvu.
  4. Atarhivē failu:

    tar xzf apache-tomcat*.tar.gz
  5. Ja nepieciešams, nomaina Tomcat pārvaldnieka lietotāju paroles, izmainot failu ../tomcat/conf/tomcat-users.xml:

    ...
    <tomcat-users>
    <role rolename="manager-gui"/>
      <user username="student" password="Student007" roles="manager-gui"/>
    </tomcat-users>

Tomcat palaišana un apturēšana

  1. Testa vidē tomcat palaiž, izpildot skriptu .../tomcat/bin/startup.sh
    Kur pilnais pilnais ceļš ir, piemēram /usr/local/tomcat/bin/shutdown.sh

  2. Atver Tomcat sākuma lapu http://localhost:8080/ un pārliecinās, ka var atvērt arī administratora lapu http://localhost:8080/manager/.
  3. Tomcat aptur, izpildot skriptu .../tomcat/bin/shutdown.sh.

Iestatījumu maiņa

Palielina Java virtuālās mašīnas apjumu, izmainot faila .../tomcat/bin/catalina.sh failu:

...
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms256m -Xmx512m -XX:MaxPermSize=256m"
...
Warning

Tālāko instrukciju pilda tikai tad, ja tas ir nepieciešams!

Tomcat servisa izveide

Information

Produkcijas vidē nepieciešams izveidot automātisku servisa palaišanu un kontroli ar systemd skriptiem.

  1. Turpmāk visas darbības dara kā root lietotājs

    sudo su
  2. Ja nepieciešams izveido tomcat lietotāju un grupu

    groupadd -g 997 tomcat
    useradd -u 997 -g tomcat -d /usr/local/tomcat -s /sbin/nologin tomcat
  3. Pārvieto Tomcat mapi uz /usr/local/tomcat mapi:

    mv apache-tomcat* /usr/local/tomcat
  4. Iestata mapju īpašnieku

    chown -R tomcat:tomcat /usr/local/tomcat
    chown -R tomcat:tomcat /home/tomcat
  5. Izveido failu /etc/systemd/system/tomcat.service ar saturu:

    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    Wants=network-online.target

    [Service]
    Type=simple

    Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
    Environment="CATALINA_HOME=/usr/local/tomcat"
    Environment="CATALINA_BASE=/usr/local/tomcat"
    Environment="CATALINA_TMPDIR=/tmp/tomcat"

    # JVM settings
    Environment="CATALINA_OPTS=-Xms1024M -Xmx2048M -server -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat/logs -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF-8"

    WorkingDirectory=/usr/local/tomcat
    ExecStartPre=/bin/mkdir -p /tmp/tomcat
    ExecStart=/usr/local/tomcat/bin/catalina.sh run

    # Clean shutdown
    ExecStop=/bin/kill -15 ${MAINPID}
    ExecStopPost=/bin/sleep 5

    User=tomcat
    Group=tomcat
    UMask=0007

    # File limits
    LimitNOFILE=65536
    LimitNPROC=65536

    # Timeouts
    TimeoutStartSec=300
    TimeoutStopSec=120

    Restart=on-failure
    RestartSec=10

    KillSignal=SIGTERM
    SuccessExitStatus=143

    # Security
    ProtectSystem=full
    ReadWritePaths=/usr/local/tomcat/logs /usr/local/tomcat/work /home/tomcat/data
    NoNewPrivileges=true
    PrivateTmp=false

    StandardOutput=journal
    StandardError=journal
    SyslogIdentifier=tomcat

    [Install]
    WantedBy=multi-user.target
  6. Iespējo automātisku palaišanu

    systemctl enable tomcat
  7. Atjauno systemd iestatījumus

    systemctl daemon-reload
  8. Palaiž un aptur tomcat servisu ar komandām

    systemctl start tomcat
    systemctl stop tomcat
  9. Tomcat darbību un žurnālu pārbauda ar komandām

    systemctl status tomcat
    journalctl -u tomcat
    journalctl -f -u tomcat

Saites


 
 
Tags Linux Tīmeklis Serveris
Created by Valdis Vītoliņš on 2008-08-09 11:14
Last modified by Valdis Vītoliņš on 2026-01-15 22:28
XWiki Powered
Creative Commons Attribution 3.0 Unported License