Thin: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 39: | Line 39: | ||
a2enmod proxy_http | a2enmod proxy_http | ||
a2enmod rewrite | a2enmod rewrite | ||
</pre> | |||
The virtual host file should look something like this: | |||
<pre> | |||
<VirtualHost *:80> | |||
ServerName myapp.com | |||
ServerAlias www.myapp.com | |||
LogLevel warn | |||
ErrorLog /var/log/apache2/myapp-error.log | |||
CustomLog /var/log/apache2/myapp-access.log combined | |||
DocumentRoot /var/www/myapp/public | |||
RewriteEngine On | |||
<Proxy balancer://thinservers> | |||
BalancerMember http://127.0.0.1:5000 | |||
BalancerMember http://127.0.0.1:5001 | |||
BalancerMember http://127.0.0.1:5002 | |||
</Proxy> | |||
# Redirect all non-static requests to thin | |||
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f | |||
RewriteRule ^/(.*)$ balancer://thinservers%{REQUEST_URI} [P,QSA,L] | |||
ProxyPass / balancer://thinservers/ | |||
ProxyPassReverse / balancer://thinservers/ | |||
ProxyPreserveHost on | |||
<Proxy *> | |||
Order deny,allow | |||
Allow from all | |||
</Proxy> | |||
</VirtualHost> | |||
</pre> | </pre> |
Revision as of 22:54, 24 March 2011
http://code.macournoyer.com/thin/
http://articles.slicehost.com/2008/5/6/ubuntu-hardy-apache-rails-and-thin
Install
as root:
gem install thin thin install update-rc.d -f thin defaults (to have thin restart on reboot)
Config File
put this into /etc/thin/myapp.yml
:
--- pid: tmp/pids/thin.pid address: 0.0.0.0 timeout: 30 wait: 30 port: 4810 log: log/thin.log max_conns: 1024 require: [] max_persistent_conns: 512 #environment: development environment: production servers: 4 daemonize: true chdir: /var/www/myapp
Use with Apache
Set up modules:
a2enmod proxy a2enmod proxy_balancer a2enmod proxy_http a2enmod rewrite
The virtual host file should look something like this:
<VirtualHost *:80> ServerName myapp.com ServerAlias www.myapp.com LogLevel warn ErrorLog /var/log/apache2/myapp-error.log CustomLog /var/log/apache2/myapp-access.log combined DocumentRoot /var/www/myapp/public RewriteEngine On <Proxy balancer://thinservers> BalancerMember http://127.0.0.1:5000 BalancerMember http://127.0.0.1:5001 BalancerMember http://127.0.0.1:5002 </Proxy> # Redirect all non-static requests to thin RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://thinservers%{REQUEST_URI} [P,QSA,L] ProxyPass / balancer://thinservers/ ProxyPassReverse / balancer://thinservers/ ProxyPreserveHost on <Proxy *> Order deny,allow Allow from all </Proxy> </VirtualHost>