由於mongrel已經年久失修、不支援最新的1.9.2版本了、所以現在使用thin作為rails伺服器、再加上nginx作反向 Proxy、
首先安裝thin吧、在windows平台下、需要先安裝eventmachine、否則不能安裝thin伺服器
gem install eventmachine --pre
gem install thin
安裝完成後只需要在rails的項目目錄上輸入thin start就可以啟動thin伺服器了、
P.S.:有時候啟動thin的時候會遇到這種錯誤、You have already activated rack 1.3.0, but your Gemfile requires rack 1.2.3.
這是因為邇安裝了多個rack版本、環境造成混亂、請卸載掉不需要的版本或者修改了Gemfile再執行一次bundle install
接著莪們配置一下nginx吧、首先去nginx的官網找來nginx的windows版本、傳送門:http://wiki.nginx.org/Install、下載完成後解壓就可以使用了、進入nginx的conf目錄、開啟nginx.conf檔案進行以下配置、
1 worker_processes 1;
2 error_log C:/StandAlone/nginx/logs/error.log;
3 events {
4 worker_connections 1024;
5 }
6 http {
7 include mime.types;
8 default_type application/octet-stream;
9 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
10 '$status $body_bytes_sent "$http_referer" '
11 '"$http_user_agent" "$http_x_forwarded_for"';
12
13 sendfile on;
14 #keepalive_timeout 0;
15 keepalive_timeout 65;
16 #gzip on;
17 include C:/StandAlone/nginx/sites_enabled/*.txt;
18 }
注意error_log、include一定要切換成邇自己的實際目錄、其中include狠重要、這個意思是從這個目錄時載入其它外部配置、按著設定檔、莪們在nginx目錄下建立sites_enabled檔案夾吧、接下來在裡面建立mystandaloneapp.com.txt檔案、輸入以下內容
1 upstream mystandaloneapp {
2 server 127.0.0.1:3000;
3 }
4
5 server {
6 listen 80;
7 server_name localhost;
8 #charset koi8-r;
9
10 access_log C:/StandAlone/www/mystandaloneapp.com/log/access.log;
11 error_log C:/StandAlone/www/mystandaloneapp.com/log/error.log;
12 root C:/StandAlone/www/mystandaloneapp.com;
13 index index.html;
14
15 location / {
16 proxy_set_header X-Real-IP $remote_addr;
17 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
18 proxy_set_header Host $http_host;
19 proxy_redirect off;
20 try_files C:/StandAlone/www/maintenance.html $uri $uri/index.html $uri.html @ruby;
21 }
22
23 location @ruby {
24 proxy_pass http://mystandaloneapp;
25 }
26 }
這裡的配置就是把thin的3000連接埠轉化成正常的80連接埠、、注意目錄都要填寫邇的實際目錄、然後運行nginx命令便可以成功運行了
Nginx的命令
nginx -s [ stop | quit | reopen | reload ]
參考文章:http://www.beechtreetech.com/ruby-on-rails-thin-and-nginx-on-windows