分類: 未分類
Ruby Passenger with Nginx on FreeBSD
事實上 FreeBSD 安裝很簡單,ports 都整理好了:
cd /usr/ports/www/rubygem-passenger
make config # "Use Nginx"
make install clean
不過這次因為 Redmine 卡在套件版本相依性,除了 Ruby 從 ports 裝,其他 RubyGems、Rails、Rake 都沒用 ports。好險裝 passenger 再編譯 nginx 模組沒想像中的困難。
安裝 passenger:
gem install passenger
裝好後 passenger 的資料會在 /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/ 目錄下,nginx 模組的程式碼會在底下的 ext/nginx/。
找到以後就可以準備編譯 nginx。到 /usr/ports/www/nginx 目錄下編輯 Makefile,在「CONFIGURE_ARGS」後加上 –add-module 參數:
CONFIGURE_ARGS+=--prefix=${ETCDIR}
--with-cc-opt="-I ${LOCALBASE}/include"
--with-ld-opt="-L ${LOCALBASE}/lib"
--conf-path=${ETCDIR}/nginx.conf
--sbin-path=${PREFIX}/sbin/nginx
--pid-path=${NGINX_RUNDIR}/nginx.pid
--error-log-path=${NGINX_ERRORLOG}
--user=${WWWOWN} --group=${WWWGRP}
--add-module=/usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/nginx
接著 make install clean 便會自動將 passenger 模組編譯進去。
最後修改 nginx.conf:
http {
...
passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9;
passenger_ruby /usr/local/bin/ruby;
passenger_max_pool_size 10;
...
server {
listen 80;
server_name my.site;
root /path/to/my/site;
passenger_enabled on;
passenger_use_global_queue on;
}
}
參考資料
Installing Passenger Nginx module on FreeBSD
http://www.snippety.org/articles/2009/05/16/installing-passenger-nginx-module-on-freebsd/
Phusion Passenger users guide, Nginx version
http://modrails.com/documentation/Users%20guide%20Nginx.html
MySQL 5.5 編碼相關參數異動
前陣子把主機上的 MySQL 從 5.1 升到 5.5,啟動時發生錯誤:
[ERROR] /usr/local/libexec/mysqld: unknown variable 'default-character-set=utf8'
[ERROR] Aborting
看了「What Is New in MySQL 5.5」才知道 default-character-set 參數已經不再使用,my.cnf (in FreeBSD) 的設定改需要稍做修改:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
sshd Listen on Multi Port
某些網路環境會擋 port 22,sshd 只 listen port 22 就沒辦法用。
sshd 可以同時 listen 多個 port,在 FreeBSD 中修改 /etc/ssh/sshd_config:
Port 22
Port 2222
重新啟動 sshd:
/etc/rc.d/sshd restart
sockstat 看一下應該就會看到:
< sockstat | grep sshd
root sshd 1586 4 tcp4 *:22 *:*
root sshd 1586 6 tcp4 *:2222 *:*
刪除 github 上的 branch
每次都找很久每次都忘記。
git push origin :branchToDelete
參考資料:http://originblog.wordpress.com/2008/04/28/github-tips-removing-a-remote-branch/