ruby rails on Nginx環境

安裝ruby rails on Nginx環境

安裝ruby環境

安裝RVM

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ curl -sSL https://get.rvm.io | bash -s stable

# 若是上面的鏈接失敗,能夠嘗試: nginx

$ curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable

#添加環境變量git

source /usr/local/scripts/rvm

#修改 RVM 下載 Ruby 的源,到 Ruby China 的鏡像:github

echo "ruby_url=https://cache.ruby-china.com/pub/ruby" > /usr/local/rvm/user/db

安裝 ruby

rvm list known 
#查看ruby版本表
rvm install 2.5.6
#安裝 2.5.6版本
rvm use 2.5.6 --default
#修改成系統默認版本
ruby -v
#查看ruby版本,證實安裝成功

使用國內鏡像源

$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
$ gem sources -l
# 確保只有 gems.ruby-china.com
https://gems.ruby-china.com

你能夠用 Bundler 的 Gem 源代碼鏡像命令。web

bundle config mirror.https://rubygems.org https://gems.ruby-china.com

## 安裝 rails for nginx

### 首先使用gem安裝passenger

gem install passengervim

  • 安裝 nginx+passenger

    執行 passenger-install-nginx-module

    如系統末安裝Nginx會自動安裝,注意配置Nginx安裝路徑,若是系統已安裝則哪須要添加配置項segmentfault

  • 採用編譯方式安裝Nginx並編譯加入Ruby的Passenger模塊

    1. 獲取Passenger中nginx模塊路徑
passenger-config --root
  1. 在Nginx編譯參數中帶入passenger模塊,執行編譯安裝
./configure \
--prefix=/usr/local/nginx \
--add-module=/usr/local/rvm/gems/ruby-2.3.8/gems/passenger-6.0.2/src/nginx_module \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-pcre
make && make install
  1. 添加Ningx開機啓動腳本(Centos7)
vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx - high performance web server 
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
systemctl enable nginx #添加到開機啓動
systemctl start nginx  #啓動nginx

配置nginx

#在http配置段
#passenger_root  #按上述輸出實際修改
#passenger_ruby  #按上述輸出實際修改
例

passenger_root /usr/local/rvm/gems/ruby-2.3.8/gems/passenger-6.0.2;
passenger_ruby /usr/local/rvm/gems/ruby-2.3.8/wrappers/ruby;ruby

#在server 段添加
    passenger_enabled on; 開啓passenger

安裝rails應用

將rails 源碼部署nginx的web根目錄bash

bundle install

# 參考文檔
https://ruby-china.org/wiki/install_ruby_guide
https://segmentfault.com/a/1190000002911605
相關文章
相關標籤/搜索