Skip to content

Latest commit

 

History

History
108 lines (72 loc) · 2.58 KB

INSTALL.md

File metadata and controls

108 lines (72 loc) · 2.58 KB

xpensis

Notas de instalação

  1. Instalar RVM
gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

curl -sSL https://get.rvm.io | bash

rvm install ruby-3.1.3

usermod -a -G rvm $USER
  1. Instalar phusionpassenger & NGINX
sudo apt-get install nginx

# Install our PGP key and add HTTPS support for APT
sudo apt-get install -y dirmngr gnupg apt-transport-https ca-certificates curl

curl https://oss-binaries.phusionpassenger.com/auto-software-signing-gpg-key.txt | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/phusion.gpg >/dev/null

# Add our APT repository
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger jammy main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update

# Install Passenger + Nginx module
sudo apt-get install -y libnginx-mod-http-passenger

# enable the Passenger Nginx module and restart Nginx
if [ ! -f /etc/nginx/modules-enabled/50-mod-http-passenger.conf ]; then sudo ln -s /usr/share/nginx/modules-available/mod-http-passenger.load /etc/nginx/modules-enabled/50-mod-http-passenger.conf ; fi

sudo ls /etc/nginx/conf.d/mod-http-passenger.conf

# restart nginx
sudo service nginx restart

# check installation
sudo /usr/bin/passenger-config validate-install

# enable nginx service
sudo systemctl nginx enable

Configure o passenger abrindo o arquivo /etc/nginx/conf.d/mod-http-passenger.conf e alterando a linha com passenger_ruby para apontar para o executável do ruby 3.1.3 instalado com o RVM.

sudo service nginx restart

  1. Preparar para a aplicação

Crie um arquivo /etc/profile.d/rails.sh com o conteúdo:

export RAILS_ENV="production"
export RAILS_MASTER_KEY="1234567890" # substitua pelo conteúdo de master.key
  1. Bundle

bundle config set --local deployment 'true' bundle config set --local without 'development:test'

  1. Configurar NGINX

/etc/nginx/sites-available/default

server {
  listen 80;
  listen [::]:80;

  server_name _;
  root /var/www/paypay/public;

  passenger_enabled on;
  passenger_app_env production;
  passenger_preload_bundler on;

  location /cable {
    passenger_app_group_name myapp_websocket;
    passenger_force_max_concurrent_requests_per_process 0;
  }

  # Allow uploads up to 100MB in size
  client_max_body_size 100m;

  location ~ ^/(assets|packs) {
    expires max;
    gzip_static on;
  }
}
  1. Instalar nodejs

  2. bundle exec bin/rails assets:precompile

  3. Abrir porta 443 (https)

iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
netfilter-persistent save