Skip to content

Instantly share code, notes, and snippets.

@bastienapp
Last active October 23, 2020 22:07
Show Gist options
  • Save bastienapp/2fe561807f70977a6ff4d92bed9cce48 to your computer and use it in GitHub Desktop.
Save bastienapp/2fe561807f70977a6ff4d92bed9cce48 to your computer and use it in GitHub Desktop.
Deploy on Tomcat

Déploiement d'un projet Spring sur un serveur Tomcat

1 - Identifiants

Serveur

  • IP : 51.68.18.120
  • User : root
  • Password : 7U6:5b8989GBS5R

Mysql

  • User : root
  • Password : 7U6:5b8989GBS5R

2 - Configuration

MySQL

La base de données doit exister sur le serveur, il faut lancer mysql en se connectant au serveur en ssh :

ssh [email protected]
mysql -u root -p

Ensuite il faut exécuter les requêtes de création de la base de données et de l'utilisateur, et lui donner les droits :

create database dabatase_name character set UTF8 collate utf8_bin;
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password_value';
GRANT ALL PRIVILEGES ON dabatase_name.* TO 'user_name'@'localhost';

SpringBootApplication

Modifier la classe d'application, c'est celle qui contient @SpringBootApplication, afin d'étendre SpringBootServletInitializer :

extends SpringBootServletInitializer

Modifier le fichier de configuration pom.xml afin de compiler un fichier war (remplacer le jar déjà présent dans le fichier) :

<packaging>war</packaging>

Ajouter ces lignes dans le fichier application.properties :

spring.jmx.unique-names=true
management.endpoints.jmx.domain=com.wildcodeschool.packagename

# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle=true
spring.datasource.validationQuery=SELECT 1

La seconde ligne doit correspondre au package de votre application.

application.properties

La configuration de MySQL doit correspondre à celle du serveur, dans le fichier application.properties ça sera :

spring.datasource.url=jdbc:mysql://localhost:3306/dabatase_name?serverTimezone=Europe/Paris
spring.datasource.username=user_name
spring.datasource.password=password_value

3 - Déploiement

Pour compiler l'application, lancer la commande suivante :

mvn clean install

Un fichier .war est généré dans le dossier /target du projet. Copier ce fichier vers le serveur, en le renommant au passage, par exemple :

scp target/seeknwild-0.0.1-SNAPSHOT.war [email protected]:/opt/tomcat/webapps/projectname.war

Le mot de passe est celui du serveur: 7U6:5b8989GBS5R

Le nom du fichier sera le point d'accès sur le serveur, par exemple seeknwild.war sera accessible à l'adresse http://51.68.18.120:8080/projectname

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment