ruby on rails 的工程跑在nginx上
安装环境:linux
数据库:sqlite3
我ruby和rails的版本
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
Rails 4.1.1
1.让你的项目在production上能够跑起来
rails s -e production
可以先试一下,如果跑起来正常就不用配置,如果不正常,接这进行下面的配置
在gemfile文件中添加
gem 'yaml_db'
接着执行
bundle
记着每次更改gemfile文件都要执行bundle命令
修改config/database。yml文件为
production: adapter: sqlite3 encoding: utf8 reconnect: false database: users //你的数据库表 pool: 5 username: root password: password
然后输入代码查看
rake secret
会生成一段加密代码如:
e666fd082bfa95dff96edb5fe3ea7b0800172b978dc1182bc99842439d16f50b4c2f409531da93d4f09efc5c6464429484c854ff052b8c6ab2ccc4e6868af73f
在config/secrets。yml中添加
production: secret_key_base: e666fd082bfa95dff96edb5fe3ea7b0800172b978dc1182bc99842439d16f50b4c2f409531da93d4f09efc5c6464429484c854ff052b8c6ab2ccc4e6868af73f
最后执行命令让工程在production下跑起来
rails s -e production
2.安装passager+nginx
安装passenger
sudo gem install passenger
用passenger安装nginx
sudo passenger-install-nginx-module
安装完成后nginx还启动不起来,需要安装nginx启动脚本
cd ~/ git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git sudo mv rails-nginx-passenger-ubuntu/nginx/nginx /etc/init.d/nginx sudo chmod +x /etc/init.d/nginx sudo update-rc.d nginx defaults
3.配置nginx
以root身份打开nginx的默认安装目录/opt/nginx/conf/nginx.conf
server { listen 80; server_name localhost; //需要配置到外网的话更改成你网站的域名 #charset koi8-r; #access_log logs/host.access.log main; location / { root /home/tlt/Projects/rails/action/public; //你工程目录下的public passenger_enabled on; # index index.html index.htm index.haml; }
启动nginx
sudo service nginx start
停止
sudo service nginx stop
重启
sudo service nginx restart
相关推荐
何志文 2020-05-11
JOO 2020-04-26
龙浩然 2014-06-03
yohunl 2008-01-11
wujiajax 2011-07-22
samllQ的备忘录 2011-07-22
wl00 2020-10-28
EricNet 2020-07-05
EricNet 2020-05-27
happyfreeangel 2020-04-09
Poisedflw 2020-03-23
yangliuhbhd 2020-03-06
Ben的程序员生涯 2013-06-01
chenshuixian 2013-06-01
wes0 2014-05-31
mrice00 2019-12-20
EricNet 2019-12-11