Linux中搭建nginx+passenger+rails环境

一. 安装passenger
sudo gem install passenger 
二.通过passenger安装配置nginx,默认会将nginx安装到/usr/local/nginx下
sudo passenger-install-nginx-module

vim /usr/local/nginx/conf/nginx.conf

http {
#--------------------passenger------------------------------------
        passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7;
        passenger_ruby /usr/local/bin/ruby;
        #-----------------------------------------------------------------

    server {
        listen       80;
        server_name  www.website.com;
        root /var/www/项目名称/public;
        passenger_enabled on;
    }
}


nginx添加到启动项中

解决办法是把nginx添加到启动项中去,在 /etc/init.d/ 目录下添加 nginx 文件:
vim /etc/init.d/nginx

#! /bin/sh
# chkconfig: - 58 74
# description: nginx is the Nginx daemon.
# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
# run 'sudo update-rc.d nginx defaults', or use the appropriate command on your
# distro.
#
# Author:  Ryan Norbauer
# Modified:     Geoffrey Grosenbach http://topfunky.com
# Modified:     David Krmpotic http://davidhq.com
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/nginx.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
d_start() {
  $DAEMON -c $CONFIGFILE || echo -en "\n already running"
}
d_stop() {
  kill -QUIT `cat $PIDFILE` || echo -en "\n not running"
}
d_reload() {
  kill -HUP `cat $PIDFILE` || echo -en "\n can't reload"
}
case "$1" in
  start)
    echo -n "Starting $DESC: $NAME"
    d_start
        echo "."
  ;;
  stop)
    echo -n "Stopping $DESC: $NAME"
    d_stop
        echo "."
  ;;
  reload)
    echo -n "Reloading $DESC configuration..."
    d_reload
        echo "."
  ;;
  restart)
    echo -n "Restarting $DESC: $NAME"
    d_stop
    # One second might not be time enough for a daemon to stop,
    # if this happens, d_start will fail (and dpkg will break if
    # the package is being upgraded). Change the timeout if needed
    # be, or change d_stop to have start-stop-daemon use --retry.
    # Notice that using --retry slows down the shutdown process
    # somewhat.
    sleep 1
    d_start
    echo "."
  ;;
  *)
    echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
    exit 3
  ;;
esac
exit 0

完成后执行以下命令
cd /etc/init.d/
chmod +x nginx
update-rc.d nginx defaults


nginx启动时可能会出现
error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
可以试试以下命令
ln -s /usr/local/lib/libpcre.so.0 /usr/lib/libpcre.so.0









猜你喜欢

转载自dingchunlai.iteye.com/blog/1096794
今日推荐