NGINX Cookbook
上QQ阅读APP看书,第一时间看更新

How to do it...

Passenger comes with a basic tool to help create your NGINX configuration for you. To use it, run the following:

passenger start --debug-nginx

I have simplified the generated configuration, simply because many of the directives were setting it to the defaults anyway.

In the main NGINX configuration (generally, /etc/nginx/nginx.conf), we need to add the following within the http directive block:

include '/var/lib/gems/2.3.0/gems/passenger-5.0.27/resources/mime.types'; 
passenger_root '/var/lib/gems/2.3.0/gems/passenger-5.0.27'; 
passenger_abort_on_startup_error on; 
passenger_ctl cleanup_pidfiles L3RtcC9wYXNzZW5nZXItc3RhbmRhbG9uZS41aDBnZG0vdGVtcF9kaXJfdG91Y2hlci5waWQ=; 
passenger_ctl integration_mode standalone; 
passenger_ctl standalone_engine nginx; 
passenger_user_switching off; 
passenger_ruby /usr/bin/ruby2.3; 
passenger_user www-data; 
passenger_default_user www-data; 
passenger_analytics_log_user www-data; 
passenger_log_level 3; 

We then add a server configuration specific to our demo site, for example, /etc/nginx/conf.d/rails.conf:

server { 
    server_name  railsdemo.nginxcookbook.com; 
    listen 80; 
    access_log  /var/log/nginx/rails-access.log  combined; 
    root /var/www/railsdemo/public; 
    passenger_app_root /var/www/railsdemo; 
    passenger_enabled on; 
 
    location ~ ^/assets/ { 
    } 
} 
passenger_pre_start http://0.0.0.0:3000/;