Last active
August 29, 2015 14:06
-
-
Save breim/8069f794c8673e240bea to your computer and use it in GitHub Desktop.
Deploy with NGINX and Phushion Passenger
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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