之前发过一个帖子介绍我正在做的一个支持多个 OS 的包管理器,最近更新了下 Nginx 和 Passenger 的安装,将用到我自己的一个 Rails 项目的部署,因此想提前拿出分享给大家。
首先,安装packman,它是一个类似于 Homebrew 一样的包管理器,用 Ruby 写的,DSL 模仿了 Homebrew,但是所有程序都是从头写的。
然后,安装:
$ packman install nginx -with_passenger=true
再然后就是设置 nginx.conf 了:
http {
...
passenger_root /opt/software/passenger/5.0.22/libexec; # <-- 自动加入
passenger_ruby /opt/software/ruby/2.2.3/bin/ruby; # <- 自动加入
server {
listen 80;
server_name <...>;
...
root <应用根目录>/public;
passenger_enabled on;
}
}
安装好后启动 nginx:
$ packman start nginx
关闭 nginx:
$ packman stop nginx
其它需要的包如 postgresl, redis 的使用类似:
$ packman start postgresl redis
我之所以再写一个包管理器是因为厌倦了不同 OS 上不尽相同的包安装流程,有了 packman 就只用熟悉一套安装流程和控制流程。当然现在有 vagrant,docker,但是在里面还是要安装软件包,总得有先人帮你装好~