Nginx與Ruby 第一種方法的安裝

nginx_web發表於2012-07-05

 

 

下面我們執行“./bin/passenger-install-nginx-module”開始安裝,安裝過程較長,為了更清楚的說明過程,我們使用了截圖:

 

   

 

安裝出問題

 

    在這個過程中由於沒有安裝rack而被迫終止,因此,我們需要安裝這個工具。

 

 

[root@nas passenger-3.0.9]# /usr/local/bin/gem install rack

Successfully installed rack-1.3.3

1 gem installed

Installing ri documentation for rack-1.3.3...

Installing RDoc documentation for rack-1.3.3...

   

排除問題繼續安裝

 

 

   

 

安裝到這一步,需要我們做一個選擇,是否自動下載和安裝Nginx?安裝過程說的很明確,Nginx伺服器不像Apache等伺服器一樣支援模組載入,因此,為了安裝支援PassengerNginx那麼必須重新編譯Nginx。這裡有兩個選擇:

 

選擇1:這也是被推薦的一種選擇,這個方法很容易開始,但是這種方式不會支援第三方的模組;

 

選擇2:自定義Nginx的安裝,推薦為高階使用者使用,選擇這種方式可以同時編譯多個第三方模組,如果需要傳遞給“configure”指令碼額外的選項,該安裝器會有三個詢問選擇項,我們看一下:

 

1):詢問Nginx的原始碼位置,這個需要我們手動填入;

2):詢問安裝Nginx的位置,也需要我們手動新增:

 

   

 

    3):看下面“Extra arguments to pass to configure script.:”,在一行下面,我們可以新增額外的編譯選項:

 

If you specify nothing then the 'configure' script. will be run as follows:

 

  sh ./configure --prefix='/usr/local/nginx-1.0.6' --with-http_ssl_module --with-cc-opt='-Wno-error' --add-module='/root/passenger-3.0.9/ext/nginx'

 

Extra arguments to pass to configure script.

 

--------------------------------------------

 

Confirm configure flags

 

The Nginx configure script. will be run as follows:

 

  sh ./configure --prefix='/usr/local/nginx-1.0.6' --with-http_ssl_module --with-cc-opt='-Wno-error' --add-module='/root/passenger-3.0.9/ext/nginx'

 

Is this what you want? (yes/no) [default=yes]:

 

--------------------------------------------

 

Compiling Passenger support files...

# /usr/local/bin/ruby /usr/local/bin/rake nginx:clean nginx RELEASE=yes

(in /root/passenger-3.0.9)

   

    在“Is this what you want? (yes/no) [default=yes]:”確定是否是我們需要的編譯選項,如果確定那麼就選擇“yes”,這也是預設在選擇。在我們敲響回車後安裝將會繼續進行。看下面的截圖,這說明開始Passenger程式的安裝,安裝過程較長,我們只截圖了開始的一小部分:

 

   

 

    接著安裝Nginx

 

   

 

    過程較長,我們看到其中的一小部分。接著往下看:

 

   

 

    到這裡,具有Passenger支援的Nginx安裝已經完成,並且告訴了我們在配置檔案中新增了相應的配置。

 

    下面是部署Ruby應用程式的例子:

 

   

 

看一下安裝後的Nginx目錄結構:

 

[root@nas ~]# tree /usr/local/nginx-1.0.6/   -L 2

/usr/local/nginx-1.0.6/

|-- conf

|   |-- fastcgi.conf

|   |-- fastcgi.conf.default

|   |-- fastcgi_params

|   |-- fastcgi_params.default

|   |-- koi-utf

|   |-- koi-win

|   |-- mime.types

|   |-- mime.types.default

|   |-- nginx.conf

|   |-- nginx.conf.default

|   |-- scgi_params

|   |-- scgi_params.default

|   |-- uwsgi_params

|   |-- uwsgi_params.default

|   `-- win-utf

|-- html

|   |-- 50x.html

|   `-- index.html

|-- logs

`-- sbin

    `-- nginx

 

4 directories, 18 file

   

    我們看一下安裝時的選項:

 

[root@nas ~]# /usr/local/nginx-1.0.6/sbin/nginx  -V

nginx: nginx version: nginx/1.0.6

nginx: TLS SNI support disabled

nginx: configure arguments: --prefix=/usr/local/nginx-1.0.6 --with-http_ssl_module --with-cc-opt=-Wno-error --add-module=/root/passenger-3.0.9/ext/nginx

   

    注意黑體字部分,這說明Passenger是以模組的形式安裝在Nginx伺服器。

 

Nginx的配置檔案

 

    我們看一下安裝後的Nginx配置檔案:

   

[root@nas conf]# grep -v "#" nginx.conf

 

worker_processes  1;

 

events {

    worker_connections  1024;

}

 

http {

    passenger_root /root/passenger-3.0.9;

    passenger_ruby /usr/local/bin/ruby;

 

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

 

    server {

        listen       80;

        server_name  localhost;

 

        location / {

            root   html;

            index  index.html index.htm;

        }

 

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

 

    }

}

 

 

    注意黑體字標出的部分。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27043155/viewspace-734733/,如需轉載,請註明出處,否則將追究法律責任。

相關文章