Ставим разом всё что нужно yum install openssl-devel zlib-devel gcc gcc-c++ make autoconf \ readline-devel curl-devel expat-devel gettext-devel patch \ libjpeg libpng telnet libxslt freetype freetype-devel \ mysql51-server mysql51-devel wget mysql mysql-devel \ pcre-devel w3m vim system-config-firewall-tui mysql-server sudo Удаляем дефолтные компоненты Ruby yum erase ruby ruby-libs ruby-mode ruby-rdoc ruby-irb ruby-ri ruby-docs
Ставим Ruby Enterprise Edition он сэкономит нам память и улучшит быстродействие
идём http://www.rubyenterpriseedition.com/download.html качаем и распаковываем
cd /usr/src tar xzvf ruby-enterprise-X.X.X.tar.gz ./ruby-enterprise-X.X.X/installer
При сборке обратите внимание куда будет устанавливаться Ruby, так же вы можете выбрать другой путь инсталяции
Target directoryТак же нужно установить GEM mysql
Where would you like to install Ruby Enterprise Edition to?
(All Ruby Enterprise Edition files will be put inside that directory.)
[/opt/ruby-enterprise-X.X.X] :
--------------------------------------------
/opt/ruby-enterprise-X.X.X/bin/ruby /opt/ruby-enterprise-X.X.X/bin/gem install mysql
Добавми
export PATH=/opt/ruby-enterprise-X.X.X/bin:$PATH echo 'export PATH=/opt/ruby-enterprise-X.X.X/bin:$PATH' >> /etc/profile Обновим GEM'ы gem install rubygems-update update_rubygems Ставим оставшиеся гемы gem install rake gem install rails Если нужно можно поставить поддержку SQLite для Ruby Идём на страничку http://www.sqlite.org/download.html и качаем sqlite-autoconf-XXX.tar.gz cd /usr/src/ wget http://www.sqlite.org/sqlite-autoconf-XXX.tar.gz tar xfv sqlite-autoconf-3070701.tar.gz cd sqlite-autoconf-XXX ./configure make make install gem install sqlite3-ruby sqlite3 -version Пришло время поставить Nginx Качаем последнюю стабильную ветку с сайта http://nginx.org/ru/download.html cd /usr/src wget http://nginx.org/download/nginx-X.X.X.tar.gz tar xfv nginx-X.X.X.tar.gz cd nginx-X.X.X ./configure --sbin-path=/usr/local/sbin --with-http_ssl_module \ --without-mail_pop3_module --without-mail_imap_module \ --without-mail_smtp_module --with-http_stub_status_module \ --with-http_realip_module make make install ln -s /usr/local/nginx/conf /etc/nginx cd /etc/init.d/ wget https://raw.github.com/sc0rp1us/Good-scripts.sh/master/init.d/nginx.centos mv nginx.centos nginx chmod +x nginx /etc/init.d/nginx start Проверяем работоспособность nginx'a w3m 127.0.0.1 если всё ок длбавляем в автозагрузку теперь запустите system-config-firewall-tui и разрешите доступ к web серверу Пришло время поставить GEM passenger gem install passenger Перед установкой модуля passenger для nginx'a нужно остановить nginx /etc/init.d/nginx stop Теперь запускаем установщик модуля пассинджера для nginx'a passenger-install-nginx-module На вопрос Automatically download and install Nginx? отвечаем цифрой 2 теперь необходимо указать где лежат исходники nginx'aместо установки nginx'a
--------------------------------------------
Where is your Nginx source code located?
Please specify the directory: /usr/src/nginx-X.X.XWhere do you want to install Nginx to?Указываем доп. параметры для сборки
Please specify a prefix directory [/opt/nginx]: /usr/local/nginxExtra arguments to pass to configure script: --sbin-path=/usr/local/sbin \ --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module \ --with-http_stub_status_module --with-http_realip_moduleВо время установки вы должны получить пару сообщений с листингами конфигов nginx'a, сохраните их, они нам еще пригодятся--------------------------------------------===================================
Nginx with Passenger support was successfully installed.
Please edit your Nginx configuration file (probably /usr/local/nginx/conf/nginx.conf),
and set the passenger_root and passenger_ruby configuration options in the
'http' block, like this:
http {
...
passenger_root /opt/ruby-enterprise-X.X.X.X/lib/ruby/gems/1.8/gems/passenger-3.0.8;
passenger_ruby /opt/ruby-enterprise-X.X.X.X/bin/ruby;
...
}
After you (re)start Nginx, you are ready to deploy any number of Ruby on Rails
applications on Nginx.
Press ENTER to continue.--------------------------------------------Теперьпоставим mongoDB echo "[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686 gpgcheck=0 " > /etc/yum.repos.d/mongodb.10gen.repo yum install mongo-10gen-server mongo-10gen /etc/init.d/mongod start Добиваем остатки гемов gem install mysql -- --with-mysql-config=/usr/bin/mysql_config gem install mongo bson bson_ext Добавляем скрипты в автозагрузку chkconfig --add nginx chkconfig --add mysqld chkconfig --add mongod chkconfig --level 2345 nginx on chkconfig --level 2345 mysqld on chkconfig --level 2345 mongod on Подготавливаем место под рельсы mkdir /opt/railsapps groupadd webmaster chgrp -R webmaster /opt/railsapps/ rails new firstapp Теперь правим секцию http в файле /etc/nginx/nginx.conf
Deploying a Ruby on Rails application: an example
Suppose you have a Ruby on Rails application in /somewhere. Add a server block
to your Nginx configuration file, set its root to /somewhere/public, and set
'passenger_enabled on', like this:
server {
listen 80;
server_name www.yourhost.com;
root /somewhere/public; # <--- be sure to point to 'public'!
passenger_enabled on;
}
And that's it! You may also want to check the Users Guide for security and
optimization tips and other useful information:
/opt/ruby-enterprise-X.X.X.X/lib/ruby/gems/1.8/gems/passenger-3.0.8/doc/Users guide Nginx.html
Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
http://www.modrails.com/
Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.http {Теперь создадим виртуалхост mkdir /etc/nginx/sites/ запишем в /etc/nginx/sites/firstapp.conf следующее
...
passenger_root /opt/ruby-enterprise-X.X.X.X/lib/ruby/gems/1.8/gems/passenger-3.0.8;
passenger_ruby /opt/ruby-enterprise-X.X.X.X/bin/ruby;
include sites/*.conf;
...
}server { listen 80; server_name yourdomain.com;Остальсь только запустить nginx /etc/init.d/nginx restart и перейти по ссылке http://yourdomain.com
root /opt/railsapps/firstapp/public; # <--- be sure to add 'public' to the app path!
passenger_enabled on;
#rails_env development;
gzip on;
}
Комментариев нет:
Отправить комментарий