2012-06-16 28 views
8

Tại một thời điểm tôi đã có mọi thứ chạy tốt trên hệ thống của mình với NGINX, Rails và Hành khách.Mô-đun NGINX hành khách Không có

Hôm qua, tôi đã cài đặt Hành khách mới, và bây giờ passenger-install-nginx-module không thành công.

/Users/mgaughan/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/nginx/../common/libpassenger_common.a /Users/mgaughan/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/nginx/../common/libboost_oxt.a -lstdc++ -  lpthread -lm -lpcre -lssl -lcrypto -lz 
Undefined symbols for architecture x86_64: 
"_pcre_free_study", referenced from: 
    _ngx_pcre_free_studies in ngx_regex.o 
ld: symbol(s) not found for architecture x86_64 
collect2: ld returned 1 exit status 
make[1]: *** [objs/nginx] Error 1 
make: *** [build] Error 2 

Vấn đề chính xác này đã được đăng hôm qua trên ServerFault, nhưng tôi nghĩ rằng có nhiều khả năng sẽ được trả lời ở đây (tôi xin lỗi nếu đó là vấn đề).

https://serverfault.com/questions/399304/cannot-install-phusion-passenger-3-0-13-with-nginx-1-2-1

Cảm ơn bạn đã trợ giúp.

+0

bạn đã cài đặt libpcre chưa? Bạn đã bật nó chưa? – chrislovecnm

+0

Tôi đang chạy một hệ điều hành Mac và đã cài đặt pcre thông qua brew ... Tôi không thể tìm thấy libpcre (ít nhất là không có brew). Nếu tôi có những gì tôi cần, làm thế nào để đảm bảo nó được kích hoạt? – mgaughan

Trả lời

6

Tôi thấy NGINX có một ticket vì điều này đã bị đóng, nhưng giải pháp không hiệu quả đối với tôi.

Tôi đã làm, tuy nhiên, hãy NGINX chạy và chạy lại với Hành khách bằng cách chạy cài đặt được tùy chỉnh. Đó rõ ràng là vấn đề tương thích với phiên bản 2 trở lên.

Đầu tiên tôi chỉ cần kéo xuống nguồn NGINX (1.0.15).

Trong tôi/usr/local

wget http://www.nginx.org/download/nginx-1.0.15.tar.gz nginx_source 

tar

tar -xvz nginx-1.0.15.tar.gz 

Sau đó tiến hành cài đặt hành khách. Chọn phương án 2 (Customized Instalation)

sudo passenger-install-nginx-module 

Có nó nhắc cho nơi mà nguồn gốc là /usr/local/nginx-1.0.15 và nơi bạn muốn nó được cài đặt /usr/local/nginx (trong trường hợp của tôi).

Mọi thứ hoạt động tốt từ đó, bất kỳ ai biết về bất kỳ cố định nào thực sự cho NGINX 2, vui lòng cho tôi biết.

+1

Sự cố có thể xảy ra với phiên bản pcre được cài đặt. Vui vì bạn đã có một cái gì đó làm việc – chrislovecnm

+1

Tôi đã chắc chắn pcre đã được cập nhật với một bản cập nhật brew pcre – mgaughan

+0

Tuyệt vời! Cảm ơn bạn! Tôi chỉ mất hai giờ cố gắng để xây dựng nó trên mac os x sư tử – Flov

6
brew install pcre 

khi cấu hình bước cũng thêm

--with-pcre --with-ipv6 --with-ld-opt=-L/usr/local/lib 

nó cũng sử dụng với-ld-opt như homebrew, nó không phải là hoàn hảo.

cũng có thể xem http://wiki.nginx.org/InstallOptions

+0

Cờ '--with-ld-opt' mà bạn đã đề cập là điều đã sửa cho tôi. –

Các vấn đề liên quan