Refactoring puma

This commit is contained in:
vlaborie 2017-07-04 18:15:31 +02:00
parent 3fb7e1adc9
commit 4d127999ec

View file

@ -1,8 +1,11 @@
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** ---
categories: web
title: Howto Puma
...
# Puma [Puma](http://puma.io/) est un serveur d'application Ruby on rails.
### 0. Prérequis ## 0. Prérequis
Installation de Puma : Installation de Puma :
@ -13,38 +16,30 @@ gem install puma
Création du dossier de configuration : Création du dossier de configuration :
~~~ ~~~
mkdir /etc/puma mkdir -m 0750 /etc/puma
~~~ ~~~
Création d'un service SystemD : Création d'un service SystemD :
~~~ ~~~
cat > /etc/systemd/system/puma@.service <<EOF cat > /etc/systemd/user/puma.service <<EOF
[Unit] [Unit]
Description=Puma HTTP server for Ruby Apps : %i Description=Puma HTTP server for Ruby Apps : %u
After=network.target After=network.target
[Service] [Service]
PermissionsStartOnly=true WorkingDirectory=%h/www
ExecStartPre=/bin/mkdir -p %t/%i
ExecStartPre=/bin/chown %i: %t/%i
User=%i
Group=%i
UMask=0027 UMask=0027
PIDFile=%h/ruby.pid
#WorkingDirectory=/home/%i/www ExecStartPre=/bin/mkdir -m 0750 %h/run
PrivateTmp=true ExecStart=/usr/local/bin/puma --bind unix://%h/run/puma.sock?umask=0007 --pidfile %h/run/puma.pid --dir %h/www --config /etc/puma/%u.rb
PIDFile=/run/%i/ruby.pid
ExecStart=/usr/local/bin/puma --bind unix:///run/%i/ruby.sock?umask=0007 --pidfile /run/%i/ruby.pid --dir /home/%i/www --config /etc/puma/%i.rb
ExecReload=/bin/kill -USR2 $MAINPID ExecReload=/bin/kill -USR2 $MAINPID
KillMode=process KillMode=process
Restart=on-failure #Restart=on-failure
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
Alias=puma_%i.service Alias=puma.service
EOF EOF
~~~ ~~~
@ -52,25 +47,24 @@ Correction des droits du service SystemD
~~~ ~~~
chmod 644 /etc/systemd/system/puma@.service chmod 644 /etc/systemd/system/puma@.service
systemctl daemon-reload
~~~ ~~~
### 1. Configuration ## 1. Configuration
Création du fichier de configuration de Puma pour l'utilisateur $REDMINE : Création du fichier de configuration de Puma pour l'utilisateur $USER :
~~~ ~~~
cat > /etc/puma/$REDMINE.rb <<EOF cat > /etc/puma/$USER.rb <<EOF
environment 'production' environment 'production'
workers 2 workers 2
threads 0, 8 threads 0, 4
tag 'Redmine $REDMINE' tag 'Puma $USER'
EOF EOF
~~~ ~~~
Correction des droits du fichier de configuration Correction des droits du fichier de configuration
~~~ ~~~
chmod 740 /etc/puma/$REDMINE.rb chmod -m 0640 /etc/puma/$USER.rb
chown $REDMINE:www-data /etc/puma/$REDMINE.rb chown $USER: /etc/puma/$USER.rb
~~~ ~~~