Apache Tomcat Administration for Linux Training in Reno

Enroll in or hire us to teach our Apache Tomcat Administration for Linux class in Reno, Nevada by calling us @303.377.6176. Like all HSG classes, Apache Tomcat Administration for Linux may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, Apache Tomcat Administration for Linux may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
This Tomcat Administration for Linux class covers the important topics of administering the Tomcat server including installation, directory structure, configuration using server.xml, web application deployment, the manager tool, JNDI data sources, logging, and monitoring and management of the server. Note: This course is appropriate for users of all versions of Tomcat, including Tomcat 6.0, 7.0, and 8.0.
Course Length: 3 Days
Course Tuition: $1290 (US)

Prerequisites

Experience with Java is helpful

Course Outline

 
 
Tomcat Introduction
History of Tomcat
Version Number and Features
Tomcat Components
Catalina
Jasper
Coyote
JEE Overview
MVC Design Pattern
Servlets/JSP
Directory Structure
JNDI
  
Installing Tomcat
Download
Installation
Environment Variables
Starting the Server
Verifying Server Operation
Stopping the Server
  
Tomcat Directory Structure
Batch files in /bin
.exe files
/conf
server.xml
context.xml
web.xml
/logs
/webapps
/lib
/work
/temp
  
Configuring Tomcat
Role of serverxml
Instance Layout
Server
Service
Virtual Host
Context
serverxml elements
<Server>
<Service>
<Connector>
<Engine>
<Host>
<Context>
<Realm>
<Valve>
  
Deploying Web Applications
JEE Specification for Web Applications
Servlets and JSP
Model View Controller (MVC) Design Pattern
Directory Structure
web.xml
Document Base
Context and the Document Base
Default Context Descriptor
Placing the Web Application Folders and Files under the Application Base
Deploying a WAR file
AutoDeploy
  
The Tomcat Manager
/manager Web Application
Managing Web Applications
Deploying
Listing Deployed Applications
Reload Existing Applications
Starting/Stopping
Undeploying
Listing Server Status
Listing Security Roles in the User Database
  
JNDI Data Sources and JDBC
JNDI
JDBC
Drivers
Data Sources in JDBC 20 and Later
Connection Pooling
Commons Database Connection Pooling
Installation
Guarding against Application Program Failure
Configuration
Data Source Definition
Web Application contextxml
contextxml in /conf
GlobalNamingResources in serverxml
Troubleshooting
  
Security
Web Application Security
Java SecurityManager
Overview
Standard Permissions
Tomcat Permissions
Starting Tomcat with a Security Manager Using the Default Policy File
Secure Socket Layer (SSL)
Generating a keystore File
Modifications to serverxml for SSL Support in Tomcat
tomcat-usersxml
  
Logging
Logging Overview
Web Application Logging Techniques
javautillogging
javaxservletServletContext
log4j
  
Monitoring and Performance Tuning Tomcat
Tomcat
JVM
JMX (Java Management Extensions)
JMX MBeans in Tomcat
Engine
JKMain
String Cache
Server
Users
Configuring Tomcat to use MBeans
Accessing MBeans
jconsole
jVisualVM
PSI Probe
  
Clustering
Using Clustering for Replication and Load Balancing
Running Multiple Instances of Tomcat
Directory Setup
Port Number Modifications
All to All with DeltaManager
Backup to One Cluster with BackupManager
Enabling Session Replication
Session Persistence Using Shared File System
Session Persistence Using Shared Database
Session Persistence using Shared Database: Database Table
In-memory Replication Using SimpleTcpCluster
Load Balancing Using mod_jk Connector to Apache2x Web Server

Linux Uses & Stats

Linux is Used For:
Desktop Mainframe Computers Mobile Devices Embedded Devices
Difficulty
Popularity
Year Created
1991/1971
Pros
Performance:
Linux supports many efficient tools and operates them seamlessly. Because it's architecture is lightweight it runs faster than both Windows 8.1 and 10. 
 
Security:
Because Linux is an open-source software,  anyone can contribute code to help enhance the users’ experience i.e., adding features, fixing bugs, reducing security risks, and more.
 
 
Software Development:
The terminal in Linux is a *wild card*. You can do almost anything with it. This includes software installation, application and server configurations, file system management, and etc.
 
Large-scale:
Open-source projects benefit from having an attentive community. As a result, Linux is more secure than Windows. Instead of installing anti viruses to clean malware, you just have to stick to the recommended repositories. 
 
Efficient: 
Developers have the convenience of running servers, training machine learning models, accessing remote machines, and compiling and running scripts from the same terminal window. 
 
Free: 
Linux is free (you can put it on as many systems as you like) and you can change it to suit your needs.
Cons
Learning Curve: 
Linux is not for everyone, there is a learning curve in switching to Ubuntu. To actually learn Linux efficiently would take a user one to several years.
 
No Tech Support:
Unlike Windows, there isn’t a dedicated tech support, so getting help for things is up to you. 
 
Designer Compatabilty:
Linux is not as user friendly as Windows or as ‘straight out of the box design’ As an example for design choices, Adobe hasn’t released any of its products to Linux users. So it’s impossible to run them directly. The Ubuntu alternative is a free software called GIMP. 
 
Gaming Capabilities: 
Most games aren’t available in Linux. But that’s not to say you can’t make it happen, it's just not as easy.   
Linux Job Market
Average Salary
$85k-$105k
Job Count
n/a
Top Job Locations

New York City
Boston
San Francisco 

Complimentary Skills to have along with Linux
The following are types of jobs that may require Linux skills.  The top 15 job titles on Dice.com that mention Linux in their postings are:
- DevOps Engineer
- Software Engineer
- Java Developer
- Systems Engineer
- Systems Administrator
- Senior Software Engineer
- Network Engineer
- Python Developer
- Linux Systems Administrator
- Software Developer
- System Administrator
- Linux Administrator
- Linux Engineer
- Senior Java Developer
- C++ Developer

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.