【问题标题】:How do I recompile nginx我如何重新编译nginx
【发布时间】:2012-03-13 11:24:49
【问题描述】:

我正在设置一个新服务器(我的第一个!)。

我已经安装了Passenger并使用passenger-install-nginx-module来安装nginx。我随后进行了设置,一切正常。

但是我的应用是 Rails 3.1,因此使用资产管道,我没有意识到我需要 PCRE 库

nginx: [emerg] using regex "^/(assets)/" requires PCRE library in /opt/nginx/conf/nginx.conf:89

它需要它以便nginx.conf 中的以下内容正常工作:

location ~ ^/(assets)/  {  
  root /path/to/public;  
  gzip_static on; # to serve pre-gzipped version  
  expires max;  
  add_header  Cache-Control public;  
} 

我通过

安装了 PCRE

sudo apt-get install libpcre3 libpcre3-dev

现在我已经添加了这个,我认为有必要重新编译 nginx。

我看过一些关于如何重新编译它的博客文章/ nginx 帮助,但我真的是一个 n00b。有人可以指点我一步一步的说明吗?

谢谢!

【问题讨论】:

  • 你让它工作了吗,还是有问题?

标签: ruby-on-rails-3 nginx passenger pcre


【解决方案1】:

给定的答案将不起作用,因为您正在尝试将 Nginx 与Passenger 一起使用,并且Nginx 还需要编译Passenger 模块。

再次运行passenger-install-nginx-module 将为您重新编译nginx。如果没有,您可以在 /opt/nginx 上尝试rm -r(这是Passenger 安装的默认位置)。如果您重视它,请务必备份您的 /opt/nginx/conf/nginx.conf。

如果您使用的是独立乘客,并且需要重新编译,请删除 ~/.passenger/YOUR-MOST-RECENT-INSTALL 并再次运行乘客启动。

【讨论】:

    【解决方案2】:

    如果我没记错的话,你只需要重新编译nginx。因为你在安装 PCRE 之前编译了你的 nginx,所以 nginx 不能和 PCRE 对话。

    你可以通过写作找到你的配置参数

    > nginx -V
    

    复制你的参数:并通过这样做重新编译 nginx

    1. 转到您的 nginx 下载文件夹
    2. > ./configure [你的配置参数放在这里]
    3. > 制作
    4. > sudo make install

    如果它不起作用,请尝试将 --with-pcre=[path to pcre] 添加到您的配置参数中

    希望它会起作用;)

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 2012-03-21
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多