| 1 |
== Configuration |
|---|
| 2 |
|
|---|
| 3 |
deprec2 has a two stage process for generating/deploying configuration files. |
|---|
| 4 |
Configuration files for web, app, db servers (and more) are generated from |
|---|
| 5 |
templates and put under the config/ tree in your Rails apps source tree. |
|---|
| 6 |
Alternatively you could create a non-rails-app tree to hold them. The second |
|---|
| 7 |
stage is pushing the files out to the destination servers. This used to be a |
|---|
| 8 |
one stage process in deprec1 however the change has been made so that: |
|---|
| 9 |
|
|---|
| 10 |
- all config files for a project can be kept under source control |
|---|
| 11 |
- you can make changes to config files that are not available through deprec |
|---|
| 12 |
|
|---|
| 13 |
Many of the settings in these config files are based on values in the projects |
|---|
| 14 |
deploy.rb file. Others reflect defaults in deprec that you can override by adding |
|---|
| 15 |
fields to deploy.rb. This means you may never need to edit the generated config |
|---|
| 16 |
files directly. You can generate a set of config files with the following: |
|---|
| 17 |
|
|---|
| 18 |
cap deprec:nginx:config_gen # generates config files for trac from templates |
|---|
| 19 |
|
|---|
| 20 |
config_gen is re-runnable and will prompt you before overwriting a file. It will |
|---|
| 21 |
also show you what changes overwriting would make (in diff format) to help you |
|---|
| 22 |
decide whether you want it to do so. |
|---|
| 23 |
|
|---|
| 24 |
Changes to service configuration should never be made on the server. Deprec |
|---|
| 25 |
acknowledges this by offering no assistance to people who want to copy config |
|---|
| 26 |
files back from servers. But pushing the files out couldn't be simpler! |
|---|
| 27 |
|
|---|
| 28 |
cap deprec:nginx:config # pushes out all config files for trac |
|---|
| 29 |
|
|---|
| 30 |
deprec2 takes into consideration the fact that that some services are used to |
|---|
| 31 |
host more than one application. For example, a webserver will often have one |
|---|
| 32 |
main configuration and a number of virtual host configurations. Monit has a |
|---|
| 33 |
single config file (/etc/monitrc) but will also load other configs it finds in |
|---|
| 34 |
a certain directory (/etc/monit.d). |
|---|
| 35 |
|
|---|
| 36 |
When you deploy a Ruby on Rails app with deprec it drops configs for your project |
|---|
| 37 |
into the config/ directory for your project and symlinks them into a shared path |
|---|
| 38 |
on the server. This means you can install multiple apps on a remote server and |
|---|
| 39 |
they shouldn't stop on each other. |
|---|
| 40 |
|
|---|
| 41 |
== Extra services |
|---|
| 42 |
|
|---|
| 43 |
- nginx |
|---|
| 44 |
- monit |
|---|
| 45 |
- postfix |
|---|
| 46 |
- nagios |
|---|
| 47 |
- more... |
|---|