Discussion:
[tryton-es] Tryton bajo apache y como servicio
Josias Pérez
2017-10-19 02:28:30 UTC
Permalink
Hola amigos, buenas noches.

Tengo una consulta. Actualmente mi servidor de tryton lo ejecuto con está
instrucción:

$ cd /opt/tr && source bin/activate && trytond -c /etc/t44.conf -d database
-v

Me gustaría ver la forma de generar un servicio y que se active
automáticamente en caso el servidor se reinicie.

Actualmente desarrollo en sao y la ubicación es la siguiente bajo ubuntu
/var/www/html/sao

Si abrila la aplicación desde la IP x.x.x.x:8000 el servidor se ejecuta
correctamente, pero ahora me gustaría integrarlo a un dominio
tryton.midominio.com. Manejo todos los dominios bajo apache, pero no sé
donde puedo conseguir documentación para lograr este objetivo.

Desde ya muchas gracias por su apoyo.
Sergi Almacellas Abellana
2017-10-19 07:22:09 UTC
Permalink
Post by Josias Pérez
Hola amigos, buenas noches.
Tengo una consulta. Actualmente mi servidor de tryton lo ejecuto con
$ cd /opt/tr && source bin/activate && trytond -c /etc/t44.conf -d
database -v
Me gustaría ver la forma de generar un servicio y que se active
automáticamente en caso el servidor se reinicie.
Actualmente desarrollo en sao y la ubicación es la siguiente bajo ubuntu
/var/www/html/sao
Si abrila la aplicación desde la IP x.x.x.x:8000 el servidor se ejecuta
correctamente, pero ahora me gustaría integrarlo a un dominio
tryton.midominio.com. Manejo todos los dominios bajo apache, pero no sé
donde puedo conseguir documentación para lograr este objetivo.
Desde ya muchas gracias por su apoyo.
Puedes seguir esta guia de flask para desplegar aplicaciones wsgi bajo
apache:

http://flask.pocoo.org/docs/0.12/deploying/mod_wsgi/

Solo tienes que importar la siguiente aplicación en tu fichero uwsgi

from trytond.application import app as application

Un saludo,
--
Sergi Almacellas Abellana
www.koolpi.com
Twitter: @pokoli_srk
Josias Pérez
2017-10-20 22:19:18 UTC
Permalink
En donde puedo asignar la configuración del servidor tryton? El archivo
.conf?

El jueves, 19 de octubre de 2017, 1:22:10 (UTC-6), Sergi Almacellas
Post by Sergi Almacellas Abellana
Post by Josias Pérez
Hola amigos, buenas noches.
Tengo una consulta. Actualmente mi servidor de tryton lo ejecuto con
$ cd /opt/tr && source bin/activate && trytond -c /etc/t44.conf -d
database -v
Me gustaría ver la forma de generar un servicio y que se active
automáticamente en caso el servidor se reinicie.
Actualmente desarrollo en sao y la ubicación es la siguiente bajo ubuntu
/var/www/html/sao
Si abrila la aplicación desde la IP x.x.x.x:8000 el servidor se ejecuta
correctamente, pero ahora me gustaría integrarlo a un dominio
tryton.midominio.com. Manejo todos los dominios bajo apache, pero no sé
donde puedo conseguir documentación para lograr este objetivo.
Desde ya muchas gracias por su apoyo.
Puedes seguir esta guia de flask para desplegar aplicaciones wsgi bajo
http://flask.pocoo.org/docs/0.12/deploying/mod_wsgi/
Solo tienes que importar la siguiente aplicación en tu fichero uwsgi
from trytond.application import app as application
Un saludo,
--
Sergi Almacellas Abellana
www.koolpi.com
Sergi Almacellas Abellana
2017-10-22 16:46:34 UTC
Permalink
En donde puedo asignar la configuración del servidor tryton? El archivo
.conf?
Si utilizas uwsgi puedes establecer la variable de entorno TRYTOND_CONFIG con la ruta al fichero de configuracion de tryton.

Un saludo,
--
Enviado desde mi dispositivo Android con K-9 Mail. Por favor, disculpa mi brevedad.
Josias Pérez
2017-10-23 00:16:51 UTC
Permalink
Después de varios días de prueba opté por nginx, en teoría debiera ser más
sencillo.

Utilice la siguiente configuración en el default de nginx
server {
listen 8000;# default_server;

root /var/www/html/sao;
index index.html index.htm index.nginx-debian.html;

# Make site accessible from http://localhost/
server_name tryton.dominio.net;

client_max_body_size 50M;

location / {

include uwsgi_params;
if ($request_method = POST) {
# no estoy seguro de que va aqui
uwsgi_pass 127.0.0.1:8988;
break;
}
try_files $uri $uri/ =404;
}
}

El archivo wsgi es el siguiente
activate_this = '/opt/tr/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
env = TRYTOND_CONFIG=/etc/tryton.conf

from trytond.application import app as application

import sys
sys.path.insert(0,'/var/www/html/sao/')

Luego de iniciar el servidor solo logro desplegar el siguiente mensaje:

<Loading Image...>
Agradeceré su apoyo.

El domingo, 22 de octubre de 2017, 10:46:38 (UTC-6), Sergi Almacellas
Post by Sergi Almacellas Abellana
Post by Josias Pérez
En donde puedo asignar la configuración del servidor tryton? El archivo
.conf?
Si utilizas uwsgi puedes establecer la variable de entorno TRYTOND_CONFIG
con la ruta al fichero de configuracion de tryton.
Un saludo,
--
Enviado desde mi dispositivo Android con K-9 Mail. Por favor, disculpa mi brevedad.
Juan Ramon Alfaro Martinez
2017-11-17 08:39:58 UTC
Permalink
Post by Josias Pérez
Después de varios días de prueba opté por nginx, en teoría debiera ser más
sencillo.
Utilice la siguiente configuración en el default de nginx
server {
listen 8000;# default_server;
root /var/www/html/sao;
index index.html index.htm index.nginx-debian.html;
# Make site accessible from http://localhost/
server_name tryton.dominio.net;
client_max_body_size 50M;
location / {
include uwsgi_params;
if ($request_method = POST) {
# no estoy seguro de que va aqui
uwsgi_pass 127.0.0.1:8988;
break;
}
try_files $uri $uri/ =404;
}
}
El archivo wsgi es el siguiente
activate_this = '/opt/tr/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
env = TRYTOND_CONFIG=/etc/tryton.conf
from trytond.application import app as application
import sys
sys.path.insert(0,'/var/www/html/sao/')
<https://lh3.googleusercontent.com/-5fS9w-s6McY/We001F8D6qI/AAAAAAAAxCo/5QD9E6Bs-40xRKgguLqRSxP4HQ5kGVczgCLcBGAs/s1600/TRYTON-22-10-17.png>
Agradeceré su apoyo.
El domingo, 22 de octubre de 2017, 10:46:38 (UTC-6), Sergi Almacellas
Post by Sergi Almacellas Abellana
Post by Josias Pérez
En donde puedo asignar la configuración del servidor tryton? El archivo
.conf?
Si utilizas uwsgi puedes establecer la variable de entorno TRYTOND_CONFIG
con la ruta al fichero de configuracion de tryton.
Un saludo,
--
Enviado desde mi dispositivo Android con K-9 Mail. Por favor, disculpa mi brevedad.
Buenas.
De esa manera solo pasas parte de las peticiones al servidor WSGI por lo
que lo que solo estás viendo el contenido estatico del sao.
Pienso que esta linea "if ($request_method = POST) {" no deberia estar.
De todas formas nosotros desplegamos tryton utilizando nginx como proxy
reverso no con wsgi (con la directriva proxy_pass).
Espero que te sirva de ayuda
Sergi Almacellas Abellana
2017-11-17 11:30:29 UTC
Permalink
Post by Juan Ramon Alfaro Martinez
Buenas.
De esa manera solo pasas parte de las peticiones al servidor WSGI por lo
que lo que solo estás viendo el contenido estatico del sao.
Pienso que esta linea  "if ($request_method = POST) {" no deberia estar.
De hecho esta linea es la que hace todo el contenido no estatico se
mande al servidor web.
Post by Juan Ramon Alfaro Martinez
De todas formas nosotros desplegamos tryton utilizando nginx como proxy
reverso no con wsgi (con la directriva proxy_pass).
Espero que te sirva de ayuda
Y a donde haces el proxy? Al servidor trytond? No te recomiendo que
hagas eso ya que el trytond utiliza un servidor de desarrollo que no
esta optimizado. Mejor lanzarlo con wsgi.
--
Sergi Almacellas Abellana
www.koolpi.com
Twitter: @pokoli_srk
Juan Ramon Alfaro Martinez
2017-11-17 12:22:21 UTC
Permalink
El viernes, 17 de noviembre de 2017, 12:30:31 (UTC+1), Sergi Almacellas
Post by Sergi Almacellas Abellana
Post by Juan Ramon Alfaro Martinez
Buenas.
De esa manera solo pasas parte de las peticiones al servidor WSGI por lo
que lo que solo estás viendo el contenido estatico del sao.
Pienso que esta linea "if ($request_method = POST) {" no deberia estar.
De hecho esta linea es la que hace todo el contenido no estatico se
mande al servidor web.
Post by Juan Ramon Alfaro Martinez
De todas formas nosotros desplegamos tryton utilizando nginx como proxy
reverso no con wsgi (con la directriva proxy_pass).
Espero que te sirva de ayuda
Y a donde haces el proxy? Al servidor trytond? No te recomiendo que
hagas eso ya que el trytond utiliza un servidor de desarrollo que no
esta optimizado. Mejor lanzarlo con wsgi.
--
Sergi Almacellas Abellana
www.koolpi.com
Pero descartas todas las peticiones GET. La verdad es que no si el cliente
SAO envia todas las peticiones por POST ¿Ocurre de esta manera?
Aprovecho para preguntar sabeis si existe alguna manera de generar
contentido estatico en un directorio para poder servirlo directamente con
nginx, como por ejemplo hace django?
Sergi Almacellas Abellana
2017-11-20 12:58:06 UTC
Permalink
Post by Juan Ramon Alfaro Martinez
Pero descartas todas las peticiones GET. La verdad es que no si el
cliente SAO envia todas las peticiones por POST ¿Ocurre de esta manera?
Aprovecho para preguntar sabeis si existe alguna manera de generar
contentido estatico en un directorio para poder servirlo directamente
con nginx, como por ejemplo hace django?
Las peticiones GET son ficheros estáticos que se utilizan en el cliente
sao, por ese motivo es mejor servir-las directamente desde nginx.

Las peticiones POST son las que van a API de tryton, por eso son las que
se deben redireccionar con uwsgi.

Esto es cierto siempre y cuando no tengas una aplicación web instalado
en tu servidor web que accepte peticiones GET, entonces deberias crear
una ruta para que estas peticiones vayan a la API de tryton.
--
Sergi Almacellas Abellana
www.koolpi.com
Twitter: @pokoli_srk
Oriol Tauleria
2017-12-22 17:02:02 UTC
Permalink
Buenas!
Así de primeras, no estas dirigiendo las peticiones post a tryton, NGINX
redirige la petición a 127.0.0.1:8988, pero en ningun lugar le dices a
wsgi que escuche aquí. Por esto solo ves el toggle menu (el contenido
estático de SAO).
1) Lanza WSGI escuchando en un puerto concreto:
Añade en tu fichero de wsgi
<http://uwsgi-docs.readthedocs.io/en/latest/HTTP.html#http-sockets>:

*http = 127.0.0.1**:8888 *

127.0.0.1 para que solo sea visible desde tu máquina (NGINX se encargará de los accesos externos).
8888 Un puerto libre donde quieras que WSGI escuche.

2) Ahora toca configurar nginx, El problema que tienes es que no estas
redirigiendo las peticiones post a Tryton. Debes definir uwsgi_pass como:
*uwsgi_pass 127.0.0.1:8888;*
Ahora cuando NGINX reciba una petición POST en / las redirigirá al uwsgi.


Aunque esto funcionará, yo te recomiendo que conectes nginx y wsgi a través
de un socket unix.

Por ejemplo (añade en tu wsgi) (quita lo de http = 127.0.0.1:8888):



*#socket namesocket = /tmp/tryton.sock#allowing nginx to accesschmod-socket
= 666*

Y en el fichero de Nginx:
*uwsgi_pass unix:/tmp/tryton.sock;*
Post by Josias Pérez
Después de varios días de prueba opté por nginx, en teoría debiera ser más
sencillo.
Utilice la siguiente configuración en el default de nginx
server {
listen 8000;# default_server;
root /var/www/html/sao;
index index.html index.htm index.nginx-debian.html;
# Make site accessible from http://localhost/
server_name tryton.dominio.net;
client_max_body_size 50M;
location / {
include uwsgi_params;
if ($request_method = POST) {
# no estoy seguro de que va aqui
uwsgi_pass 127.0.0.1:8988;
break;
}
try_files $uri $uri/ =404;
}
}
El archivo wsgi es el siguiente
activate_this = '/opt/tr/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
env = TRYTOND_CONFIG=/etc/tryton.conf
from trytond.application import app as application
import sys
sys.path.insert(0,'/var/www/html/sao/')
<https://lh3.googleusercontent.com/-5fS9w-s6McY/We001F8D6qI/AAAAAAAAxCo/5QD9E6Bs-40xRKgguLqRSxP4HQ5kGVczgCLcBGAs/s1600/TRYTON-22-10-17.png>
Agradeceré su apoyo.
El domingo, 22 de octubre de 2017, 10:46:38 (UTC-6), Sergi Almacellas
Post by Sergi Almacellas Abellana
Post by Josias Pérez
En donde puedo asignar la configuración del servidor tryton? El archivo
.conf?
Si utilizas uwsgi puedes establecer la variable de entorno TRYTOND_CONFIG
con la ruta al fichero de configuracion de tryton.
Un saludo,
--
Enviado desde mi dispositivo Android con K-9 Mail. Por favor, disculpa mi brevedad.
--
www.calidae.com <http://www.calidae.net/>
Tel +34 93 865 44 33
Font i Boet, 10 - 08140 - Caldes de Montbui

Aquest correu és confidencial, llegiu-ne l' advertiment legal
<http://www.calidae.net/disclaimer/>
Este correo es confidencial, lea la advertencia legal
<http://www.calidae.net/disclaimer/>
This is a confidential email, please read the legal disclaimer
<http://www.calidae.net/disclaimer/>
Loading...