- 安裝 Apache 2, MySQL
- 安裝 Ruby, Rails
- 開始新的 web app, 打開 Dos Command Prompt
> rails my_app
> cd my_app
> ruby script/server - 請用 http://localhost:3000 看是否運作
- 詳細請參考 Rolling with Ruby on Rails
1. CGI 法
- 打開 rewrite 功能, 移除 "#", 重要!
LoadModule rewrite_module modules/mod_rewrite.so - virtual host 設定
<VirtualHost *:80>
ServerName mywww
DocumentRoot d:/my_app/public/
ErrorLog d:/my_app/log/server.log
<Directory d:/my_app/public/>
SetEnv RAILS_ENV production
Options +FollowSymLinks +ExecCGI
AllowOverride all
Allow from all
Order allow,deny
</Directory>
</VirtualHost> - 要設定, my_app/public 下的檔案, 基本上 Rails 1.0 產生出來是不用動.
- .htaccess
a) RewriteBase 要關閉
#RewriteBase /myrailapp
b) RewriteRule 要用 dispatch.cgi
RewriteRule ^(.*)$ dispatch.cgi [QSA,L] - 確定 dispatch.cgi 及 dispatch.fcgi 第一行, 要指到 ruby
#!d:/usr/ruby/bin/ruby - 打開 c:/WINDOWS/system32/driver/etc/hosts 檔案, 加上
127.0.0.1 mywww - 重新起動 Apache, http://mywww/ 或 http://localhost/
- Alias 設定, 記得上面都要成功再來試 oh!
- 加入這一段, 成功後可以移除上面 virtual host 設定
Alias /myapp "d:/my_app/public"
<Directory d:/my_app/public/>
SetEnv RAILS_ENV production
Options +FollowSymLinks +ExecCGI
AllowOverride all
Allow from all
Order allow,deny
</Directory> - 記得要改 my_app/public 下的檔案
- .htaccess, 記得要打開 RewriteBase
RewriteBase /myapp - 重新起動 Apache, http://localhost/myapp
- 記得請先作完上面方法確定成功後再用 FastCGI 加快, 也比較好找問題
- 安裝 FastCGI for Apache, 請下載 RubyForApache
PS. 記得安裝時只要選擇 mod_fastcgi 就好了!!! - 設定你的 Apache
- 加上 FastCGI module 功能
#FastCGI
LoadModule fastcgi_module modules/mod_fastcgi.so
FastCgiConfig -restart-delay 120 -idle-timeout 150 -appConnTimeout 100 -init-start-delay 100 -startDelay 100 -maxProcesses 1 -minProcesses 1 -processSlack 1 -initial-env RAILS_ENV=production - 設定你的 my_app/public
- .htaccess 要改成
#RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] - 重新啟動 Apache, http://localhost/myapp 應該會快一點