apt - get 방식 nginx 설치 후 모듈 추가 - with - httpperl_module

7233 단어 apt-get
사이트 의 이미지 형식 방식 을 imageMagick 으로 바 꾸 려 고 하기 때문에 서버 측 에 원래 설 치 된 nginx 는 perl 모듈 을 추가 해 야 합 니 다. 원래 서버 가 설치 할 때 apt - get 방식 으로 설치 한 것 은 소스 코드 가 설치 되 어 있 지 않 지만 저 는 직접 제거 하고 다시 설치 하고 싶 지 않 습 니 다. 그래서 반나절 동안 정 리 했 습 니 다. 아래 에 방법 과 발생 한 문 제 를 다음 과 같이 기록 하여 같은 수요 가 있 는 사람 이 참고 하도록 하 겠 습 니 다.
우선, 원래 설 치 된 nginx 버 전과 원래 설 치 된 모듈 을 알 고 nginx - V 를 사용 하면 됩 니 다.
/usr/sbin/nginx -V
configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/build/nginx-sbbMZs/nginx-1.2.1/debian/modules/nginx-auth-pam --add-module=/build/nginx-sbbMZs/nginx-1.2.1/debian/modules/nginx-echo --add-module=/build/nginx-sbbMZs/nginx-1.2.1/debian/modules/nginx-upstream-fair --add-module=/build/nginx-sbbMZs/nginx-1.2.1/debian/modules/nginx-dav-ext-module

끝 에 있 는 - add - module 을 다시 설치 할 때 여 기 는 지 울 수 있 습 니 다.
그리고 홈 페이지 에 가서 같은 버 전의 소스 패 키 지 를 다운로드 하 세 요.http://nginx.org/download/
내 경 로 는 / usr / src 에 놓 여 있다.
tar zxf nginx-1.2.1.tar.gz;

cd nginx-1.2.1;

압축 을 풀 고 소스 코드 경로 에 들 어간 다음 configure, 가입
--prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/incloude/openssl --with-md5=/usr/incloude/openssl --with-mail --with-mail_ssl_module --with-openssl=/usr/src/openssl-1.0.1c --with-zlib=/usr/src/zlib-1.2.8 --with-pcre=/usr/src/pcre-8.21 --with-http_perl_module

실행 에 문제 가 생 길 수 있 습 니 다.
the HTTP XSLT module requires the libxml2/libxslt libraries
sudo apt-get install libxml2 libxml2-dev libxslt-dev

 the HTTP image filter module requires the GD library.
sudo apt-get install libgd2-xpm libgd2-xpm-dev

the GeoIP module requires the GeoIP library.
sudo apt-get install geoip-database libgeoip-dev

 the HTTP rewrite module requires the PCRE library.
apt-get install libpcre3 libpcre3-dev

관련 패 키 지 를 다운로드 하여 설치 하면 됩 니 다. configure, 완료 후 make
make;

lperl not found 의 오 류 를 보고 할 수 있 습 니 다.
apt-get install libperl-dev  

설치 되 어 있 으 면 설치 경 로 를 봅 니 다.
perl -V
 Compiled at Sep 29 2013 13:26:03

  @INC:

    /etc/perl

    /usr/local/lib/perl/5.14.2

    /usr/local/share/perl/5.14.2

    /usr/lib/perl5

    /usr/share/perl5

    /usr/lib/perl/5.14

    /usr/share/perl/5.14

    /usr/local/lib/site_perl

usr / lib 에 가서 libperl. so 가 존재 하 는 지 확인 하고 존재 하지 않 으 면 연결 을 만 듭 니 다.
ln -s libperl.so.5.14.2 /usr/lib/libperl.so 

make 가 완료 되면 / usr / src / nginx - 1.2.1 에서 폴 더 obbs 를 생 성 합 니 다.
nginx 바 이 너 리 파일 을 sbin 으로 복사 합 니 다. 원본 nginx 백업 에 주의 하 십시오.
cp objs/nginx /usr/sbin/nginx

nginx 프로필 시험 해 보기
/usr/sbin/nginx -t

잘못 을 보고 하 다
Can't locate nginx.pm in @INC 

(@INC contains: 

/usr/lib/perl5 

/etc/perl

/usr/local/lib/perl/5.14.2 

/usr/local/share/perl/5.14.2 

/usr/lib/perl5 

/usr/share/perl5 

/usr/lib/perl/5.14 

/usr/share/perl/5.14 

/usr/local/lib/site_perl .).

make install 이 없 기 때문에 다음 파일 을 수 동 으로 추가 합 니 다.
위 치 는 / usr / local / lib / perl / 5.14.2
여기 저 장 된 것 은 perl 의 일부 라 이브 러 리 입 니 다. perl - V 는 경 로 를 볼 수 있 습 니 다.
모두 다섯 개의 파일 을 수 동 으로 추가 해 야 합 니 다. 파일 은 nginx 소스 패키지 에 설치 한 후 생 성 된 파일 obj 에서 찾 을 수 있 습 니 다.
/ usr / local / lib / perl / 5.14.2 / auto / nginx 다음 두 nginx. bs nginx. so 는 / usr / local / src / nginx - 1.4.4 / objs / src / http / modules / perl / blib / arch / auto / nginx / 에서 복사 할 수 있 습 니 다.
/ usr / local / lib / perl / 5.14.2 두 개의 nginx. pm perllocal. pod nginx. pm 는 / usr / local / src / nginx - 1.4.4 / objs / src / http / modules / perl / blib / lib 에서 복사 할 수 있 습 니 다.
perllocal. pod 에 nginx 버 전 정 보 를 기 록 했 습 니 다. 텍스트 를 다음 과 같이 수 동 으로 추가 할 수 있 습 니 다.
=head2 Mon Jan 13 15:01:43 2014: C<Module> L<nginx|nginx>



=over 4



=item *



C<installed into: /usr/local/share/perl/5.14.2>



=item *



C<LINKTYPE: dynamic>



=item *



C<VERSION: 1.4.4>



=item *



C<EXE_FILES: >



=back

마지막: / usr / local / man / man 3 에 ngix. 3pm 추가
nginx. 3pm 는 / usr / local / src / nginx - 1.4.4 / objs / src / http / modules / perl / blib / man 3 / nginx. 3pm 에서 파일 을 찾 지 못 해도 명령 을 사용 할 수 있 습 니 다.
find / -name "       " 

마지막 으로 업데이트 후 copy 의 nginx 바 이 너 리 파일 로 시작 하면 됩 니 다!
 
 






좋은 웹페이지 즐겨찾기