centos 6 ruby on rails(nginx+unicorn)のインストール(環境依存の確立)

6789 ワード

.

1.   

su root ***

     

yum -y install gcc 


yum install flex autoconf zlib curl zlib-devel curl-devel bzip2 bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel 

gcc+ gcc-c++ libxml2 libxml2-devel libxslt libxslt-devel 


(  :        ,    rails      )

2.  ruby

wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz 


tar -zxvf ruby-1.9.2-p0.tar.gz 


cd ruby-1.9.2-p0 


./configure --prefix=/usr/local/ruby 


make 


make test 


make install 


3.ruby     gem list     

ERROR: Loading command: list (LoadError) 


no such file to load -- zlib 


ERROR: While executing gem ... (NameError) 


uninitialized constant Gem::Commands::ListCommand 

    : 


sudo apt-get install zlib1g-dev 


(2)        ext/zlib  (     ruby1.9.2  ) 


sudo ruby extconf.rb (       ) 


make 


sudo make install 

4. sudo: ruby: command not found

       :

sudo ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby 


sudo ln -s /usr/local/ruby/bin/gem /usr/bin/gem 


5. gem install rails

6.    mysql

         mysql

yum install mysql-server 


yum install mysql 


yum install mysql-devel 

     mysql      ,         

mysql -u root -p      


mysql> USE mysql; 


mysql> UPDATE user SET Password=PASSWORD('new-password') WHERE user='root'; 


mysql> FLUSH PRIVILEGES; 


   mysql service 


/etc/init.d/mysqld restart 


ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/ var/lib/mysql/mysql.sock' (2) 


sudo /etc/init.d/mysqld start 

7.   git     

yum install git-core 


ssh-keygen -t rsa 

             ,        :

chmod 777 id_rsa id_rsa.pub

8.       

(1).rails            ,      ~/    

mkdir projects && cd .. 


git clone [email protected]:entos.git 


cd entos 


        


git checkout develop 


bundle install 


mv config/database.yml.example database.yml 

(2)            

vi config/database.yml edit root# password 


  ,     


bundle exec rake RAILS_ENV=production db:create:all 


bundle exec rake RAILS_ENV=production db:migrate

(3)        

rails s

    rails         

     :localhost:3000       

(4)          :

a     :errors:libxml2 is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

    :sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel (     -y   ,      )

b      :make: g++: Command not found

    : yum -y install gcc+ gcc-c++

c     : no such file to load -- openssl (LoadError)

    : cd ~/Downloads/ruby-1.9.2-p180/ext/openssl (assuming you extracted the ruby tar to ~/Downloads)

$ ruby extconf.rb && make && sudo make install

9. nginx+unicorn   :

(1) install nginx

wget http://nginx.org/download/nginx-1.0.10.tar.gz 


sudo ./configure --prefix=/usr/local/nginx 


make && make install 


   :sudo /usr/local/nginx/sbin/nginx 


  :sudo /usr/local/nginx/sbin/nginx -s stop 


  :sudo /usr/local/nginx/sbin/nginx -s reload

(2)       

./configure: error: the HTTP rewrite module requires the PCRE library.

  pcre-devel    

yum -y install pcre-devel

(3)  Unicorn

gem install unicorn 


   unicorn      


curl -o config/unicorn.rb https://raw.github.com/defunkt/unicorn/master/examples/unicorn.conf.rb 

      :

vi config/unicorn.rb

app_path="/home/dong/projects/entos" 


working_directory app_path # available in 0.94.0+ 


listen app_path+"/tmp/nginx/sockets/unicorn.sock", :backlog => 64 (/tmp/nginx/sockets           ,    :unicorn.sock     , unicorn_rails    ,        *.sock) 


listen 8080, :tcp_nopush => true 


timeout 30 


pid app_path+"/tmp/pids/unicorn.pid" 


stderr_path app_path+"/log/unicorn.stderr.log" 


stdout_path app_path+"/log/unicorn.stdout.log" 

(    log      unicorn.stderr.log ,unicorn.stdout.log,    )

touch log/unicorn.stderr.log

touch log/unicorn.stdout.log

   unicorn_rails

unicorn_rails config/unicorn.rb -E production -D 




sudo gedit /usr/local/nginx/conf/nginx.conf

      :

user root root; 


http{ 


upstream unicorn_server { 


server unix:/home/dong/projects/entos/tmp/nginx/sockets/unicorn.sock fail_timeout=0; 


} 


server { 


listen 80; 


server_name www.entsea.com; 


root /home/dong/projects/entos/public; 


#charset koi8-r; 




#access_log logs/host.access.log main; 




location / { 


proxy_redirect off; 


proxy_set_header Host $host; 


proxy_set_header X-Forwarded-Host $host; 


proxy_set_header X-Forwarded-Server $host; 


proxy_set_header X-Real-IP $remote_addr; 


proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 


proxy_buffering on; 


proxy_pass http://unicorn_server; #    ,      :     nginx 403 Forbidden ,              


} 


} 




} 

       ,      

vim /etc/hosts

127.0.0.1 www.entsea.com

  :      www.entsea.com      

10.centos        

yum install "@Chinese Support"

Preferences-Input method-      ...