Skip to content

Instantly share code, notes, and snippets.

@breim
Last active August 29, 2015 14:06
Show Gist options
  • Save breim/8069f794c8673e240bea to your computer and use it in GitHub Desktop.
Save breim/8069f794c8673e240bea to your computer and use it in GitHub Desktop.
Deploy with NGINX and Phushion Passenger
# Adicione o usuário
adduser deploy
# de poder ao usuário criado como se fosse root
visudo
deploy ALL=(ALL:ALL) ALL
# Configure o ssh
sudo nano /etc/ssh/sshd_config # Desative o PermitRootLogin no
# Adicione ao final deste arquivo
UseDNS no
AllowUsers deploy
# Recarregue o SSH
reload ssh
# Entre na nova conta criada
ssh [email protected]
# Rode
sudo apt-get install curl
curl -L https://get.rvm.io | bash -s stable
# Rode
source ~/.rvm/scripts/rvm
Add to you .bashrc this ( sudo nano .bashrc aka password )
[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm
rvm requirements
# Rode
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
# Rode
rvm install ruby-2.0.0
rvm 2.0.0 --default
# Rode
gem install rails
# Rode
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
gem install mysql2
# Vai instalar o redis? - RODE
sudo apt-get install redis-server libhiredis-dev
gem install hiredis
# Está usando paperclip tio? - RODE
sudo apt-get install imagemagick libmagickwand-dev
gem install rmagick mini_magick
# Instale o git
sudo apt-get install git git-svn gitk ssh libssh-dev
# Repositorio seu
git clone https://[email protected]/henriquebreim/bentoeamy.git
cd bentoeamy
bundle install
rake db:create RAILS_ENV="production"
rake db:migrate RAILS_ENV="production"
rake db:seed RAILS_ENV="production"
# Esse cara é importante, mtoo importante
sudo apt-get install nodejs
# Agora o passenger
sudo apt-get install libcurl4-openssl-dev
gem install passenger
sudo chown -R `whoami` /opt
passenger-install-nginx-module --auto-download --auto
# Rode
sudo nano /opt/nginx/conf/nginx.conf
# Seu SV tem que ficar assim, ok?
server {
listen 80;
server_name www.yourhost.com;
root /home/deploy/nomedaplicacao/public; # <--- be sure to point to 'public'!
passenger_enabled on;
}
# Ainda no mesmo arquivo desabilite o location, caso o contrário nginx fica pegando a index incial dele
#location / {
# root html;
# index index.html index.htm;
#}
# Se der erro de tmp, faça o seguinte chmod -R 777 tmp # pronto !
# Não entendi, mas rode.
sudo chown -R root /opt
# Se a maquina cair faça esse trick que ela inicia o nginx sozinha
wget -O init-deb.sh http://library.linode.com/assets/660-init-deb.sh
sudo mv init-deb.sh /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
sudo /usr/sbin/update-rc.d -f nginx defaults
# Ligar e desligar o sv
sudo service nginx start
sudo service nginx stop
sudo service nginx restart
# Run sidekiq in production
bundle exec sidekiq -d -L log/sidekiq.log -C config/sidekiq.yml -e production
#usando jobs em cron?
whenever --update-crontab store
# quer ver as jobs na maquina?
crontab -l
# Rodou tanto né ? ganhou algum prêmio no peão da casa própria do Silvio Santos ?
# be happy ;)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment