部署ruby_on_rails项目到nginx上
1、配置production环境
部署ruby_on_rails项目到nginx之前,先要使项目在production环境上跑起来。我使用的是默认数据库sqlite3。
在Gemfile中添加:
gem 'yaml_db'
然后进行bundle安装
bundle install rake db:dump //迁移数据库
配置生产环境使用的数据库:在config/database.yml文件添加如下内容:
production: <<: *default database: db/development.sqlite3
然后加载数据库:
rake db:load RAILS_ENV='production'
生成安全密钥:
rake secret
生成一段符号,加到secrets.yml文件里,如:
production: secret_key_base: 52761ca9d6a033907f27619e87c5a642007cd12be1ae2aebd179ebb690610b37ebd55941ff09bf9e5105265280e
修改/config/enviroment/production.rb里的属性,如下,加载CSS等功能样式
config.serve_static_assets = true
最后运行,让工程跑起来
rails s -e production
2、安装passenger、nginx
安装passenger:
sudo gem install passenger
安装nginx到默认安装路径:
sudo passenger-install-nginx-module
在安装过程中会遇到有些包需要手动安装,我们需要使用apt-get进行安装,可能 apt-get安装不上去,提示连接不到源,你需要更改apt-get源文件,具体地址为:/etc/apt/sources.list.d/official-package-repositories.list
安装nginx启动脚本:
cd ~/ git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git sudo cp rails-nginx-passenger-ubuntu/nginx/nginx /etc/init.d/nginx sudo chmod +x /etc/init.d/nginx
配置nginx:
以root身份打开nginx的默认安装目录/opt/nginx/conf/nginx.conf,修改为如下:
server { listen 80; //端口号 server_name localhost; rails_env development; #charset koi8-r; #access_log logs/host.access.log main; location / { root /home/rails_projects/huodongtong/public; //rails工程pubilc的路径 passenger_enabled on; }
启动nginx服务:
sudo /etc/init.d/nginx start
停止nginx服务:
sudo /etc/init.d/nginx stop
重启nginx服务:
sudo /etc/init.d/nginx restart
在浏览器上输入localhost(如果不是80端口就要使用localhost:端口号),就可以看到自己的工程项目,别人可通过ip访问你的服务项目
相关推荐
liwf 2020-11-10
yserver 2020-08-15
nginxs 2020-11-14
Guanjs0 2020-11-13
小木兮子 2020-11-11
yserver 2020-11-11
ssihc0 2020-11-11
windle 2020-11-10
HanksWang 2020-11-10
liuchen0 2020-11-10
Freshairx 2020-11-10
ccschan 2020-11-10
Guanjs0 2020-11-09
AderStep 2020-11-09
zrtlin 2020-11-09
mqfcu 2020-11-10