部署ruby_on_rails项目到nginx上
程序员文章站
2022-05-19 20:00:04
...
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访问你的服务项目
下一篇: TortoiseSVN 简明使用
推荐阅读
-
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
-
Vue项目部署的实现(阿里云+Nginx代理+PM2)
-
将Eclipse中的Web项目部署到Eclipse的方法[图文]
-
Spring boot项目部署到云服务器小白教程详解
-
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
-
用uWSGI和Nginx部署Flask项目的方法示例
-
将Eclipse中的Web项目部署到Eclipse的方法[图文]
-
解决Angular4项目部署到服务器上刷新404的问题
-
Linux下将Python的Django项目部署到Apache服务器
-
vue项目部署到Apache服务器中遇到的问题解决