亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

Linux系統上配置Nginx+Ruby on Rails+MySQL超攻略

2020-10-29 19:37:55
字體:
來源:轉載
供稿:網友

安裝 RVM

通常使用 RVM 或 rbenv 來安裝 Ruby,這里選用 RVM。

$ curl -sSL https://get.rvm.io | bash -s stable

載入 RVM :

$ source /home/libuchao/.rvm/scripts/rvm$ rvm -vrvm 1.25.12 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com> ......

再執行以下命令:

$ type rvmrvm is a function......

說明 RVM 安裝正確。
安裝 Ruby

用 RVM 安裝 Ruby

$ rvm install 2.1.0$ rvm use 2.1.0 --default$ ruby -vruby 2.1.0p0

國內服務器推薦替換 RubyGems 的到淘寶鏡像

$ gem sources -r https://rubygems.org/$ gem sources -a http://ruby.taobao.org/

否則安裝 Gem 可能會非常非常慢。
安裝 Rails

其實 Rails 也是一個 Gem

$ gem install rails --no-ri --no-rdoc -V......$ rails -vRails 4.0.2

至此,Rails 環境已經安裝完成。
安裝 MySQL

安裝 Mysql 及相應的庫文件:

$ sudo apt-get install mysql-server libmysqlclient-dev

然后進行一些安裝方面的設置:

$ /usr/bin/mysql_secure_installation

創建相應的數據庫,并為它新建一個權限小一些的用戶:

mysql> CREATE DATABASE blix_production;mysql> GRANT ALL PRIVILEGES ON blix_production.* TO blix@localhost IDENTIFIED BY "123456";mysql> flush privileges;mysql> exit

導入數據:

$ mysql -u blix -p blix_production < database.sql

安裝 Nginx

Nginx 專門處理靜態請求,并作為 Unicorn 的反向代理

編輯 /etc/apt/sources.list,末尾處添加以下兩行

deb http://nginx.org/packages/ubuntu/ precise nginxdeb-src http://nginx.org/packages/ubuntu/ precise nginx

添加 Nginx 簽名

$ wget http://nginx.org/keys/nginx_signing.key$ sudo apt-key add nginx_signing.key

安裝 Nginx

$ sudo apt-get update$ sudo apt-get install nginx

安裝完成后可以在瀏覽器中輸入 http://server-ipaddress 查看是否安裝正確。
配置 Unicorn

首先編譯一下靜態文件:

$ RAILS_ENV=production rake assets:clean$ RAILS_ENV=production rake assets:precompile

Unicorn 配置參考:

worker_processes 2timeout 30APP_PATH = File.expand_path("../..", __FILE__)working_directory APP_PATHlisten 8080, :tcp_nopush => truelisten "/tmp/unicorn.sock", :backlog => 64stderr_path APP_PATH + "/log/unicorn.stderr.log"stdout_path APP_PATH + "/log/unicorn.stdout.log"pid APP_PATH + "/tmp/pids/unicorn.pid"

Unicorn 自啟動腳本:

#!/bin/shset -e# Example init script, this can be used with nginx, too,# since nginx and unicorn accept the same signals# Feel free to change any of the following variables for your app:TIMEOUT=${TIMEOUT-60}APP_ROOT=/home/libuchao/blixAPP_USER=libuchaoPID=$APP_ROOT/tmp/pids/unicorn.pidCMD="unicorn_rails -D -E production -c $APP_ROOT/config/unicorn.rb"action="$1"set -uold_pid="$PID.oldbin"cd $APP_ROOT || exit 1sig () {    test -s "$PID" && kill -$1 `cat $PID`}oldsig () {    test -s $old_pid && kill -$1 `cat $old_pid`}case $action instart)    sig 0 && echo >&2 "Already running" && exit 0    su -c "$CMD" - $APP_USER    ;;stop)    sig QUIT && exit 0    echo >&2 "Not running"    ;;force-stop)    sig TERM && exit 0    echo >&2 "Not running"    ;;restart|reload)    sig HUP && echo reloaded OK && exit 0    echo >&2 "Couldn't reload, starting '$CMD' instead"    su -c "$CMD" - $APP_USER    ;;upgrade)    if sig USR2 && sleep 2 && sig 0 && oldsig QUIT    then        n=$TIMEOUT        while test -s $old_pid && test $n -ge 0        do            printf '.' && sleep 1 && n=$(( $n - 1 ))        done        echo        if test $n -lt 0 && test -s $old_pid        then            echo >&2 "$old_pid still exists after $TIMEOUT seconds"            exit 1        fi        exit 0    fi    echo >&2 "Couldn't upgrade, starting '$CMD' instead"    su -c "$CMD" - $APP_USER    ;;reopen-logs)    sig USR1    ;;*)    echo >&2 "Usage: $0 <start|stop|restart|upgrade|force-stop|reopen-logs>"    exit 1    ;;esac

將這個 shell 在/etc/init.d/下做一個軟連接,并使其開機自啟動:

$ chmod +x /home/libuchao/blix/config/unicorn_init.sh$ sudo ln -s /home/libuchao/blix/config/unicorn_init.sh /etc/init.d/unicorn$ sudo update-rc.d unicorn defaults

啟動 Unicorn:

$ service unicorn start

在瀏覽器中輸入 http://server_ipaddress:8080 查看效果。
配置 Nginx

Nginx 配置參考:

upstream blix_backend {  server unix:/tmp/unicorn.sock fail_timeout=0;}gzip on;gzip_disable "msie6";client_max_body_size 150m;server {  listen 80 default;  return 403;}server {  listen 80;  server_name libuchao.com www.libuchao.com;  root /home/libuchao/blix/public;  try_files $uri/index.html $uri.html $uri @httpapp;  location @httpapp {    proxy_redirect   off;    proxy_set_header  Host $host;    proxy_set_header  X-Forwarded-Host $host;    proxy_set_header  X-Forwarded-Server $host;    proxy_set_header  X-Real-IP    $remote_addr;    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_buffering  on;    proxy_pass http://blix_backend;  }  location ~ ^(/assets) {    access_log off;    expires   max;  }}

此時應該可以通過域名直接訪問了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美中文字幕视频在线观看| 777午夜精品福利在线观看| 亚洲免费一级电影| 日韩在线欧美在线国产在线| 亚洲电影成人av99爱色| 亚洲第一精品久久忘忧草社区| 国产精品丝袜久久久久久高清| 日韩欧美视频一区二区三区| 日韩电影第一页| 亚洲精品国产品国语在线| 欧美成人午夜剧场免费观看| 日韩精品中文字| 欧美激情国产日韩精品一区18| 午夜精品一区二区三区在线视| 久热99视频在线观看| 久久精品影视伊人网| 亚洲天堂av高清| 亚洲最大的成人网| 欧美日韩亚洲天堂| 日韩视频在线一区| 国产精品欧美风情| 精品自拍视频在线观看| 久久久在线视频| 青青a在线精品免费观看| 国产精品久久久久久久久久久久久久| 精品久久久久久中文字幕大豆网| 久久久久久综合网天天| 国产精品第100页| 91久久国产综合久久91精品网站| 久久久噜噜噜久久| 亚洲电影免费观看高清完整版| 亚洲国产精品女人久久久| 亚洲欧美国产高清va在线播| 亚洲第一黄色网| 成人性教育视频在线观看| 欧美另类69精品久久久久9999| 亚洲国产精品久久久| 在线精品高清中文字幕| 亚洲视频国产视频| 欧美理论电影在线播放| 亚洲一区二区少妇| 日本在线观看天堂男亚洲| 一本大道久久加勒比香蕉| 日日噜噜噜夜夜爽亚洲精品| 精品国产福利在线| 欧美激情综合亚洲一二区| 国产精品视频公开费视频| 性欧美xxxx视频在线观看| 中文字幕欧美日韩在线| 另类图片亚洲另类| 国产精品第一区| 主播福利视频一区| 91精品视频免费| 午夜精品理论片| 少妇精69xxtheporn| 日韩大片免费观看视频播放| 亚洲国产婷婷香蕉久久久久久| 欧美视频在线免费看| 黄色成人av网| 91性高湖久久久久久久久_久久99| 国产精品久久77777| 国产精品一区二区三区在线播放| 91在线播放国产| 欧美精品久久久久久久| 欧美激情亚洲国产| 国产美女直播视频一区| 国产成人福利网站| 国产专区欧美专区| 精品国产一区二区三区在线观看| 国产日韩欧美在线播放| 日韩成人激情影院| 国产成人+综合亚洲+天堂| 日韩禁在线播放| 精品久久久国产精品999| 国内精品视频一区| 亚洲一区二区在线播放| 色老头一区二区三区在线观看| 91精品国产综合久久久久久蜜臀| 精品久久久久人成| 韩曰欧美视频免费观看| 欧美午夜电影在线| 97在线视频免费播放| 欧美激情在线狂野欧美精品| 亚洲影视九九影院在线观看| 精品亚洲永久免费精品| 国产免费一区二区三区在线能观看| 欧美日韩国产精品| 国产欧美一区二区三区在线看| 中文字幕精品—区二区| 亚洲一区二区免费| 91成人在线观看国产| 国内精品久久久久久| 91国产精品视频在线| 亚洲精品电影在线观看| 精品成人久久av| 欧美做受高潮电影o| 亚洲一区二区三区香蕉| 亚洲精品视频在线观看视频| 日本伊人精品一区二区三区介绍| 国产+人+亚洲| 97国产suv精品一区二区62| 日韩一区二区三区国产| 欧美成人精品一区| 自拍亚洲一区欧美另类| 久久成人精品电影| 久久影视电视剧免费网站| 97在线视频观看| 中文字幕日韩欧美在线| 国产精品第10页| 成人福利免费观看| 日韩精品高清在线| 91超碰caoporn97人人| 色爱av美腿丝袜综合粉嫩av| 欧洲亚洲免费在线| 欧美专区在线视频| 日韩美女主播视频| 国产精品6699| 国产精彩精品视频| 乱亲女秽乱长久久久| 国产精品96久久久久久| 中文一区二区视频| 亚洲精品之草原avav久久| 亚洲一区二区久久久久久久| 成人av资源在线播放| 国产成人激情小视频| 亚洲欧美中文字幕在线一区| 国产精品福利观看| 国产亚洲视频在线观看| 欧美色视频日本高清在线观看| 国产欧美精品一区二区| 色综合男人天堂| 亚洲www永久成人夜色| 91精品国产99久久久久久| 日韩av一区二区在线| 国模极品一区二区三区| 色综合久久精品亚洲国产| 国产91精品黑色丝袜高跟鞋| 日韩欧中文字幕| 中文字幕日韩精品在线| 国产成人精品视频在线观看| 欧美亚洲日本黄色| 久久久久久国产精品久久| 亚洲精品98久久久久久中文字幕| 精品久久久中文| 久久免费国产精品1| 影音先锋欧美精品| 日韩在线免费高清视频| 亚洲最大中文字幕| 久久久久久久久久亚洲| 国产精品88a∨| 在线播放日韩专区| 亚洲精品视频久久| 26uuu另类亚洲欧美日本老年| 亚洲国产精品推荐| 538国产精品一区二区免费视频| 97在线精品国自产拍中文| 亚洲一区二区三区久久| 亚洲精品福利在线观看| 欧美日韩激情视频| 国产91精品久久久| 一本色道久久88综合亚洲精品ⅰ| 欧美精品午夜视频| 国产精品男女猛烈高潮激情| 久久亚洲国产成人|