jobscore.passenger_nginx

Passenger NGINX

CI

用于安装 Ruby 应用程序的 Passenger 和 NGINX 的 Ansible 角色

要求

此角色要求目标机器上已经安装了 Ruby,可以使用 passenger_ruby 变量配置 Ruby 二进制文件的路径。

角色变量

Passenger 配置

passenger_app_root: /mnt/app/public

Rails 应用的公共文件夹路径

passenger_app_env: production

Passenger 将运行你的 Rails 应用的 RAILS_ENV

passenger_root: /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini

Passenger 配置根文件的路径,此文件不由此角色管理,因此只有在你手动配置了其他 Passenger 设置时才应更改。

passenger_ruby: /usr/local/bin/ruby

你的 Ruby 二进制文件的路径

passenger_extra_config: ''

在此变量中,你可以添加/自定义 Passenger 对你的应用的行为(在 mod-http-passenger.conf.j2 中使用),有关 NGINX 的 Passenger 参数的更多信息可以在 这里 找到。

NGINX 配置

nginx_server_name: www.example.com

NGINX 监听 HTTP 请求所用的服务器名称

nginx_user: "www-data"

NGINX 用于运行服务器的用户

nginx_extra_config: ''

你可能想要添加到根级别 nginx.conf 模板的其他配置参数。

nginx_events_extra_config: ''

你可能想要添加到 events 部分的 nginx.conf 模板的其他配置参数。

nginx_http_extra_config: ''

你可能想要添加到 http 部分的 nginx.conf 模板的其他配置参数。

nginx_vhost_config: |
  server {
    listen 80 default_server;
    server_name {{ nginx_server_name }};
    passenger_enabled on;
    passenger_app_env {{ passenger_app_env }};
    root {{ passenger_app_root }};
  }

Passenger 应用的 NGINX 配置,默认配置适用于所有应用,如果你想要添加/自定义行为,可以编辑此变量。你可以在这里像使用 Jinja 模板一样使用变量。

nginx_worker_processes: "auto"
nginx_worker_connections: "768"
nginx_keepalive_timeout: "65"

这些值用于在 nginx.conf 模板中配置相应的值。

示例剧本

- hosts: servers
  roles:
    - role: jobscore.ruby
    - role: jobscore.passenger_nginx
- hosts: servers
  pre_tasks:
    - apt:
      name: ruby-full
      state: present
  roles:
    - role: jobscore.passenger_nginx
      nginx_server_name: www.example.com
      passenger_extra_config: |
        passenger_max_pool_size 6;
        passenger_min_instances 6;
        passenger_pre_start {{ nginx_server_name }};

许可证

MIT

作者信息

此角色由 Eric MagalhãesGlauber Batista 在为 JobScore Inc 工作时创建。

关于项目

Ansible Role for installing Passenger and NGINX for Ruby apps

安装
ansible-galaxy install jobscore.passenger_nginx
许可证
mit
下载
6k
拥有者