Un nuevo proyecto me supuso montar dos servidores, no quería ponerme en esa tarea solo por dos servicios, me dio pereza, por eso decidí montarla en Docker, en este punto no conozco mucho de Tomcat, se que necesito tener subdominios del sitio, entonces procedí a crear la siguiente estructura
Ya con esta estructura pruedo crear mi docker-compose.yaml
version: '3.3'
services:
db:
image: mysql:5.5
#tmpfs:
#- /var/lib/mysql
volumes:
- ./MySql/data:/var/lib/mysql
- ./MySql/backups:/var/backups
- ./MySql/logs:/var/log/mysql/
#- ./mysql-dump:/docker-entrypoint-initdb.d
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: database
MYSQL_USER: userdb
MYSQL_PASSWORD: userpassword
ports:
- 3306:3306
container_name: mysql
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
ports:
- '8081:80'
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: rootpassword
container_name: phpmyadmin
web:
depends_on:
- db
image: tomcat:8-jdk8
volumes:
- ./Tomcat/webapps/:/usr/local/tomcat/webapps/
- ./Tomcat/conf/:/usr/local/tomcat/conf/
ports:
- '80:8080'
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: database
MYSQL_USER: userdb
MYSQL_PASSWORD: userpassword
container_name: apacheTomcat
Ya luego solo ejecuto el comando sudo docker-compose up y tengo los dos servidores corriendo, con esta estructura, ya lo que ponga en mi carpeta local se desplegara en tomcat
Ahora solo tengo que editar el archivo server.xml, y con esto tengo subdominios.
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html -->
<!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> -->
<!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="carlosamartinez.xyz" appBase="/usr/local/tomcat/webapps/paginaprincipal" unpackWARs="true" autoDeploy="true">
<Alias>www.carlosamartinez.xyz</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="tarjetajoven_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/usr/local/tomcat/webapps/paginaprincipal"
debug="0" reloadable="true"/>
</Host>
<Host name="aliado.carlosamartinez.xyz" appBase="/usr/local/tomcat/webapps/paginaaliado" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="aliado_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b" />
<Context path="" docBase="/usr/local/tomcat/webapps/paginaaliado"
debug="0" reloadable="true"/>
</Host>
<Host name="admin.carlosamartinez.xyz" appBase="/usr/local/tomcat/webapps/paginaadmin" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="admin_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b" />
<Context path="" docBase="/usr/local/tomcat/webapps/paginaadmin"
debug="0" reloadable="true"/>
</Host>
<Host name="punto.carlosamartinez.xyz" appBase="/usr/local/tomcat/webapps/paginapunto" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="punto_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b" />
<Context path="" docBase="/usr/local/tomcat/webapps/paginapunto"
debug="0" reloadable="true"/>
</Host>
<Host name="carlosamartinez.xyz/api" appBase="/usr/local/tomcat/webapps/paginaapi" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="api_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b" />
<Context path="" docBase="/usr/local/tomcat/webapps/paginaapi"
debug="0" reloadable="true"/>
</Host>
Ya solo detengo y arranco por precaución, y todo corriendo otra vez con subdominos.



0 Comentarios