Ubuntu nginx 설치

15959 단어 nginxubuntu
자체 가 져 온 nginx 버 전 을 마 운 트 해제 합 니 다.
만약 에 ubuntun 에 nginx 를 설치 하고 자체 버 전 을 먼저 마 운 트 해제 하 는 것 을 권장 합 니 다. 너무 낡 았 습 니 다. 0.7, uWsgi 가 지원 하지 않 습 니 다. 패 치 를 해 야 합 니 다. 너무 번 거 롭 습 니 다. 기본 설치 라면 apt - get 방식 으로 설 치 했 을 것 입 니 다. 그러면 저 는 apt - get 방식 으로 마 운 트 를 해제 하 겠 습 니 다.
sudo apt-get --purge remove nginx

완료 후 which nginx 가 존재 하지 않 고 존재 하지 않 으 면 성공 적 으로 제거 되 었 습 니 다.
소스 코드 로 설치 하 세 요. apt - get 소스 를 업데이트 하 는 것 이 성공 하 든 말 든 상관 하지 않 아 도 됩 니 다.
우선 소스 코드 를 찾 아 보 세 요. 현재 홈 페이지 의 최신 안정 판 은 1.2.6 이 니 입력 하 세 요.
wget http://nginx.org/download/nginx-1.2.6.tar.gz
현재 디 렉 터 리 를 가 져 와 서 토 닥 토 닥 하 는 tar - zxf xxxx. tar. gz
그리고 설치 하 세 요. 소스 코드 에서 3 단계 곡 을 설치 하 세 요. 의외 의 일이 없 었 다 면 잘 됐 을 텐 데..
./configure
make
sudo make install

먼저 실행 합 니 다. / configure 를 실행 한 후 서둘러 실행 하지 마 세 요. 설정 이 잘못 되 었 는 지 확인 하 세 요. 잘 보이 지 않 으 면 make 를 실행 하면 문제 가 생 길 수 있 습 니 다. 가까이 make 에서 볼 수 있 습 니 다.
make: * No rule to make target build', needed by default '. stop. 이러한 현상, 가까이 서 뒤 돌아 보 세 요. / configure 의 오류 정 보 는 구성 요 소 를 설치 하지 않 았 습 니까? 예 를 들 어 설치 하지 않 았 습 니 다.
가짜 정적 모듈 은 pcre 라 이브 러 리 가 필요 합 니 다. 이것 은 흔히 볼 수 있 는 문제 입 니 다. 설치 하지 않 았 으 면 설치 하 세 요. 현재 pcre 최신 버 전 은 8.12 입 니 다. 다운로드 하려 면 tar. gz 를 선택 하 는 것 이 좋 습 니 다. 물론 홈 페이지 도 압축 률 이 높 은 것 을 제공 합 니 다.
tar. bz2 형식, 하지만 압력 을 푸 는 것 이 좀 번 거 롭 습 니 다. bzip 2 라 는 도 구 를 사용 해 야 합 니 다. 먼저 압력 을 풀 고 가방 을 풀 고 xxx 를 사용 해 야 합 니 다. 하지만 우리 네트워크 속도 도 느 리 지 않 습 니 다. 귀 찮 으 면 성실 하 게 tar. gz 형식 을 사용 하 세 요.
bzip2 -d xxx.tar.bz2
tar -xf xxx.tar
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.gz

해결 되 었 습 니 다. 다시 실행 합 니 다. / configure, 재 make, make install, 문제 가 크 지 않 습 니 다. make install 은 루트 권한 을 원 합 니 다. ubuntu 라면 sudo 로 루트 권한 을 잠시 호출 할 수 있 습 니 다.
Linux 에서 PCRE 라 이브 러 리 를 컴 파일 하여 설치 합 니 다.
1. PCRE 패 키 지 를 다운로드 하려 면 먼저 홈 페이지 에서 pcre 패 키 지 를 다운로드 합 니 다. FTP 를 통 해 다운로드 주 소 는 다음 과 같 습 니 다.ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ http 방식 을 통 해 다운로드 주 소 는 다음 과 같 습 니 다.http://sourceforge.net/projects/pcre/files/pcre/ 현재 최신 버 전 은 8.32 이 며, Liux 에 대응 하 는 설치 패키지 이름 은 pcre - 8.32. tar. gz 입 니 다.
2. 패 키 지 를 서버 에 업로드 하고 압축 을 푼다.
[root@localhost local]# tar -zxvf pcre-8.32.tar.gz 

압축 을 풀 고 현재 디 렉 터 리 에 폴 더 를 만 들 었 습 니 다: pcre - 8.32
3. 설정
[root@localhost pcre-8.32]# ./configure 

설정 이 끝나 면 콘 솔 에서 pcre 설정 요약 정 보 를 출력 합 니 다.
pcre-8.32 configuration summary:
Install prefix .................. : /usr/local  
C preprocessor .................. : gcc -E  
C compiler ...................... : gcc  
C++ preprocessor ................ : g++ -E  
C++ compiler .................... : g++  
Linker .......................... : /usr/bin/ld  
C preprocessor flags ............ :   
C compiler flags ................ : -O2 -fvisibility=hidden  
C++ compiler flags .............. : -O2 -fvisibility=hidden -fvisibility-inlines-hidden  
Linker flags .................... :   
Extra libraries ................. :   

Build 8 bit pcre library ........ : yes  
Build 16 bit pcre library ....... : no  
Build 32 bit pcre library ....... : no  
Build C++ library ............... : yes  
Enable JIT compiling support .... : no  
Enable UTF-8/16/32 support ...... : no  
Unicode properties .............. : no  
Newline char/sequence ........... : lf  
\R matches only ANYCRLF ......... : no  
EBCDIC coding ................... : no  
EBCDIC code for NL .............. : n/a  
Rebuild char tables ............. : no  
Use stack recursion ............. : yes  
POSIX mem threshold ............. : 10  
Internal link size .............. : 2  
Match limit ..................... : 10000000  
Match limit recursion ........... : MATCH_LIMIT  
Build shared libs ............... : yes  
Build static libs ............... : yes  
Use JIT in pcregrep ............. : no  
Buffer size for pcregrep ........ : 20480  
Link pcregrep with libz ......... : no  
Link pcregrep with libbz2 ....... : no  
Link pcretest with libedit ...... : no  
Link pcretest with libreadline .. : no  
Valgrind support ................ : no  
Code coverage ................... : no  

4. 컴 파일 실행 make 작업: make 결 과 는 다음 과 같 습 니 다.
chesian@ubuntu:/usr/local/src/pcre2-10.20$ sudo make
rm -f src/pcre2_chartables.c ln -s /usr/local/src/pcre2-10.20/src/pcre2_chartables.c.dist /usr/local/src/pcre2-10.20/src/pcre2_chartables.c make all-am make[1]: Entering directory '/usr/local/src/pcre2-10.20' CC src/libpcre2_8_la-pcre2_auto_possess.lo CC src/libpcre2_8_la-pcre2_compile.lo
 CC src/libpcre2_8_la-pcre2_config.lo
 CC src/libpcre2_8_la-pcre2_context.lo
 CC src/libpcre2_8_la-pcre2_dfa_match.lo
 CC src/libpcre2_8_la-pcre2_error.lo
 CC src/libpcre2_8_la-pcre2_jit_compile.lo
 CC src/libpcre2_8_la-pcre2_maketables.lo
 CC src/libpcre2_8_la-pcre2_match.lo
 CC src/libpcre2_8_la-pcre2_match_data.lo
 CC src/libpcre2_8_la-pcre2_newline.lo
 CC src/libpcre2_8_la-pcre2_ord2utf.lo
 CC src/libpcre2_8_la-pcre2_pattern_info.lo
 CC src/libpcre2_8_la-pcre2_serialize.lo
 CC src/libpcre2_8_la-pcre2_string_utils.lo
 CC src/libpcre2_8_la-pcre2_study.lo
 CC src/libpcre2_8_la-pcre2_substitute.lo
 CC src/libpcre2_8_la-pcre2_substring.lo
 CC src/libpcre2_8_la-pcre2_tables.lo
 CC src/libpcre2_8_la-pcre2_ucd.lo
 CC src/libpcre2_8_la-pcre2_valid_utf.lo
 CC src/libpcre2_8_la-pcre2_xclass.lo
 CC src/libpcre2_8_la-pcre2_chartables.lo
 CCLD libpcre2-8.la
ar: `u' modifier ignored since `D' is the default (see `U')
 CC src/libpcre2_posix_la-pcre2posix.lo
 CCLD libpcre2-posix.la
ar: `u' modifier ignored since `D' is the default (see `U')
 CC src/pcre2grep-pcre2grep.o
 CCLD pcre2grep
 CC src/pcre2test-pcre2test.o
 CCLD pcre2test
make[1]: Leaving directory '/usr/local/src/pcre2-10.20'

5. 설치 실행 make install 작업: make install 이 끝나 면 pcre 컴 파일 설치 절차 가 끝 납 니 다.
nginx 는 설치 되 어 있 지만 아직 사용 할 수 없습니다. nginx 디 렉 터 리 에 들 어 갈 수 없습니다. 일반적으로. / configure 는 디 렉 터 리 를 지정 하지 않 고 설치 하면 / usr / local / nginx 에 설치 되 어 있 습 니 다. 다른 디 렉 터 리 를 지정 하려 면 – prefix = xxx 디 렉 터 리 를 사용 하 십시오. 기본 디 렉 터 리 에 설치 되 어 있다 면 소프트 링크 명령 을 실행 하여 nginx 를 / usr / bin 디 렉 터 리 에 연결 합 니 다. sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
주의 하 세 요. 루트 권한, 믿 어도 괜 찮 습 니 다. 그리고 어디서 든 nginx 를 실행 할 수 있 습 니 다. nginx - v 를 실행 하 세 요. 버 전 번 호 를 보면 설치 가 완료 되 더 라 도,
그리고 nginx 시작.
nginx 를 실행 하면 시작 에 오류 가 발생 했 습 니 다. error while loading shared libraries: libpcre. so. 0: cannot open shared object file: No such file or directory
그러면 시스템 에서 어떤 라 이브 러 리 를 찾 을 수 없 으 니 / usr / local 아래 에 소프트 링크 를 만들어 서 옮 기 면 됩 니 다.
sudo ln - s / usr / local / lib / libpcre. so. 0 / usr / lib / libpcre. so. 0 됐 습 니 다. nginx 를 시작 하 세 요. 검증 하고 싶 습 니 다. 브 라 우 저 로 localhost: 80 을 엽 니 다. nginx 환영 페이지 가 보 였 는 지 확인 하 세 요.
시작 nginx
chesian@ubuntu:/usr/local/nginx$ sudo ./sbin/nginx 

시작 에 오류 가 발생 하면, 이러한 정보 는
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
sudo /usr/local/sbin/nginx    (  )
/usr/local/sbin/nginx -s stop (  )
/usr/local/sbin/nginx -s reload (  )

nginx 설치 일반적인 문제:
1、src/core/ngx_regex.h:15:18: fatal error: pcre.h: No such file or directory
make nginx 오류 보고
솔 루 션: apt - get install libpcre3 - dev
2. pcre 라 이브 러 리 가 없습니다. / configure: error: HTTP 재 작성 모듈 은 PCRE 라 이브 러 리 가 필요 합 니 다. - without - http 를 사용 하여 모듈 을 비활성화 할 수 있 습 니 다.rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using – with - pcr = option. 해결 방법: 설치 pcre - 8.31 을 다운로드 하여 문 제 를 해결 하고 압축 을 푼 후 pcre 를 다음 과 같이 조작 합 니 다.
sudo wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.tar.gz 
sudo tar -xzvf pcre-8.31.tar.gz 
cd /usr/local/src/pcre-8.31 
./configure 
make 
sudo make install   

3. zlib 라 이브 러 리 부족
./configure: error: the HTTP gzip module requires the zlib library. 
You can either disable the module by using --without-http_gzip_module 
option, or install the zlib library into the system, or build the zlib library 
statically from the source with nginx by using --with-zlib=<path> option.    

해결책: 적은 것 을 설치 하 라.
sudo apt-get install openssl libssl-dev libperl-dev 

4. nginx, logs 디 렉 터 리 접근 권한 이 없습니다.
[alert]: could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied) 
2011/03/21 06:09:33 [emerg] 24855#0: mkdir() "/usr/local/nginx/client_body_temp" failed (13: Permission denied)    

해결 방법:
sudo chmod a+rwx -R logs 
sudo chmod a+rwx -R /usr/local/nginx   

기본 nginx 에 설 치 된 디 렉 터 리
기본 nginx 에 설 치 된 디 렉 터 리 는 / usr / local / nginx 에 있 습 니 다. 다음 을 포함 합 니 다.
/ usr / local / nginx / sbin \ # nginx 시작 파일 / usr / local / nginx / conf # 설정 파일 / usr / local / nginx / html # 기본 웹 파일 / usr / local / nginx / logs # 로그 파일 제어
Nginx 설치 총괄
nginx 는 다음 모듈 에 의존 합 니 다:
l gzip 모듈 은 zlib 라 이브 러 리 가 필요 합 니 다.
l rewrite 모듈 은 pcre 라 이브 러 리 가 필요 합 니 다.
l ssl 기능 은 openssl 라 이브 러 리 가 필요 합 니 다.
1.1. pcre 설치 1. pcre 컴 파일 설치 패 키 지 를 가 져 옵 니 다.http://www.pcre.org/현재 최신 버 전 을 가 져 올 수 있 습 니 다.
  • 압축 풀기 pcre - xx. tar. gz 패키지.
  • 압축 해제 디 렉 터 리 에 들 어가 서 실행 합 니 다. / configure.
  • make & make install

  • 1.2. openssl 설치 1. openssl 컴 파일 설치 패 키 지 를 가 져 옵 니 다.http://www.openssl.org/source/현재 최신 버 전 을 가 져 올 수 있 습 니 다.
  • 압축 풀기 openssl - xx. tar. gz 패키지.
  • 압축 해제 디 렉 터 리 에 들 어가 서 실행 합 니 다. / config.
  • make & make install

  • 1.3. zlib 설치 1. zlib 컴 파일 설치 패 키 지 를 가 져 옵 니 다.http://www.zlib.net/현재 최신 버 전 을 가 져 올 수 있 습 니 다.
  • 압축 풀기 openssl - xx. tar. gz 패키지.
  • 압축 해제 디 렉 터 리 에 들 어가 서 실행 합 니 다. / configure.
  • make & make install

  • 1. nginx 설치 1. nginx 가 져 오기http://nginx.org/en/download.html현재 최신 버 전 을 가 져 올 수 있 습 니 다.
  • 압축 풀기 nginx - xx. tar. gz 패키지.
  • 압축 해제 디 렉 터 리 에 들 어가 서 실행 합 니 다. / configure
  • make & make install
  • 좋은 웹페이지 즐겨찾기