>  기사  >  백엔드 개발  >  Linux에서 nginx 설치 및 구성에 대한 자세한 설명

Linux에서 nginx 설치 및 구성에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-02-07 16:52:263752검색

1. Linux에서 nginx 설치 및 구성

nginx를 처음 설치하는 과정에서 발생하는 문제는 단계별로 해결됩니다.

서버에 연결하고 로그인하는 데 사용되는 도구는 secureCRT입니다.

1.1 rz 명령을 실행하면 대화 상자가 나타나면 업로드할 nginx 압축 패키지를 선택하세요.

#rz

1.2 압축 풀기

[root@vw010001135067 ~]# cd /usr/local/
[root@vw010001135067 local]# tar -zvxf nginx-1.10.2.tar.gz

1.3 nginx 폴더에 들어가서 ./configure 명령을 실행합니다

[root@vw010001135067 local]# cd nginx-1.10.2
[root@vw010001135067 nginx-1.10.2]# ./configure

다음과 같이 오류가 보고됩니다.

checking for OS
 + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... not found
 
./configure: error: C compiler cc is not found

이 오류가 발생합니다. 그러면 gcc 패키지가 설치되지 않습니다.

1.3.1 gcc 설치

gcc 보기

[root@vw010001135067 nginx-1.10.2]# whereis gcc
gcc:

gcc 설치

[root@vw010001135067 nginx-1.10.2]# yum -y install gcc

설치 성공 후 다시 확인해 보세요

[root@vw010001135067 nginx-1.10.2]# whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz

gcc가 설치되어 있습니다.

1.3.2 계속 실행하여 ./configure

[root@vw010001135067 nginx-1.10.2]# ./configure
checking for OS
 + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... found
......
checking for PCRE library ... not found
checking for PCRE library in /usr/local/ ... not found
checking for PCRE library in /usr/include/pcre/ ... not found
checking for PCRE library in /usr/pkg/ ... not found
checking for PCRE library in /opt/local/ ... not found
 
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --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-pcre=<path> option.

위 오류가 발생합니다. pcre-devel

[root@vw010001135067 nginx-1.10.2]# yum install pcre-devel

1.3.3을 설치하고 다시 실행하세요./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.

이 오류가 발생하면

yum install zlib-devel
를 실행하세요.

1.3.4 ./configure

[root@vw010001135067 nginx-1.10.2]# ./configure
checking for OS
 + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
.......
Configuration summary
 + using system PCRE library
 + OpenSSL library is not used
 + md5: using system crypto library
 + sha1: using system crypto library
 + using system zlib library
 
 nginx path prefix: "/usr/local/nginx"
 nginx binary file: "/usr/local/nginx/sbin/nginx"
 nginx modules path: "/usr/local/nginx/modules"
 nginx configuration prefix: "/usr/local/nginx/conf"
 nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
 nginx pid file: "/usr/local/nginx/logs/nginx.pid"
 nginx error log file: "/usr/local/nginx/logs/error.log"
 nginx http access log file: "/usr/local/nginx/logs/access.log"
 nginx http client request body temporary files: "client_body_temp"
 nginx http proxy temporary files: "proxy_temp"
 nginx http fastcgi temporary files: "fastcgi_temp"
 nginx http uwsgi temporary files: "uwsgi_temp"
 nginx http scgi temporary files: "scgi_temp"

1.4 openssl 기능을 사용하려면 sha1 기능을 실행한 후 오류가 보고되지 않습니다. 그런 다음 openssl을 설치하고 sha1

[root@vw010001135067 nginx-1.10.2]# yum install openssl openssl-devel
[root@vw010001135067 nginx-1.10.2]# install perl-Digest-SHA1.x86_64

1.4.1 SSL 모듈 실행을 활성화합니다./configure –with-http_ssl_module

[root@vw010001135067 nginx-1.10.2]# ./configure --with-http_ssl_module

1.4.2 활성화 " server+status" 페이지에서 ./configure –with-http_stub_status_module

[root@vw010001135067 nginx-1.10.2]# ./configure --with-http_stub_status_module

위의 두 명령을 동시에 시작할 수 있습니다

[root@vw010001135067 nginx-1.10.2]# ./configure --with-http_stub_status_module --with-http_ssl_module

1.5 위의 구성에는 통과

make 명령어 실행, make install 명령어 실행

[root@vw010001135067 nginx-1.10.2]# make
[root@vw010001135067 nginx-1.10.2]# make install

이때 nginx 실행 성공

1.6 환경변수 설정

/etc /profile에서 구성 추가

구성 파일 열기

[root@vw010001135067 nginx-1.10.2]# vi /etc/profile

구성 파일에

#nginx configure
export NGINX_HOME=/usr/local/nginx-1.10.2
export PATH=$PATH:$NGINX_HOME/sbin

추가

위와 같이 채우기 시작했는데, nginx -v를 사용해도 찾을 수 없었습니다. 위의 nginx_home 구성 주소가 잘못되었음을 확인했습니다. 먼저 nginx

[root@vw010001135067 nginx-1.10.2]# whereis nginx
nginx: /usr/local/nginx

설치 주소를 찾아보세요. 주소가 정말 틀리네요. 위의 내용을

#nginx configure
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin

로 변경하세요. 🎜>

컴파일 후 저장하고 종료한 후

[root@vw010001135067 nginx-1.10.2]# source /etc/profile


를 실행하여 구성을 적용합니다.

1.7 nginx 버전 보기

[root@vw010001135067 nginx]# nginx -v
nginx version: nginx/1.10.2

전체 과정이 성공적으로 완료되었습니다!

2. nginx.conf 수정

2.1 nginx 시작

내 nginx 서비스는 http://10.1.135.67/에 있습니다. 이제 nginx를 시작하세요.

[root@vw010001135067 nginx]# cd /usr/local/nginx
[root@vw010001135067 nginx]# nginx -c conf/nginx.conf

성공적으로 시작되었습니다. 브라우저에서 http://10.1.135.67/을 엽니다. 기본 포트 번호는 80입니다.

Linux에서 nginx 설치 및 구성에 대한 자세한 설명

위와 같이 nginx는 이미 정상적으로 작동하고 있습니다.

2.2 Tomcat 서비스 구성

이제 내 Tomcat 서비스는 10.1.29.15에 있으며 nginx를 통해 전달되어야 합니다. 그런 다음 nginx.conf를 열고 구성 파일을 수정합니다. 다음과 같이 추가하세요:

#user nobody;
worker_processes 1;
 
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
 
#pid  logs/nginx.pid;
 
 
events {
 worker_connections 1024;#最大连接数,默认为512
 accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
 multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
 #use epoll;  #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport 
}
 
 
http {
 #文件扩展名与文件类型映射表
 include  mime.types;
 
 #默认文件类型,默认为text/plain 
 default_type application/octet-stream;
 
 #自定义格式
 log_format main &#39;$remote_addr - $remote_user [$time_local] "$request" &#39;
      &#39;$status $body_bytes_sent "$http_referer" &#39;
      &#39;"$http_user_agent" "$http_x_forwarded_for"&#39;; 
 
 #combined为日志格式的默认值
 access_log logs/access.log main;
 
 #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块
 sendfile  on;
 sendfile_max_chunk 100k; #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
 
 #tcp_nopush  on;
 
 #连接超时时间,默认为75s,可以在http,server,location块。
 keepalive_timeout 65;
 
 #gzip on;
 
 upstream upload {
  server 10.1.29.15:8080;
 }
 
 error_page 404 https://www.baidu.com; #错误页
 
 server {
  keepalive_requests 120; #单连接请求上限次数。
  listen  80; #监听端口
  server_name localhost; #监听地址 
 
  #charset koi8-r;
 
  #access_log logs/host.access.log main;
 
  location ~ ^.*?/upload/[^/]*?$ {
   proxy_connect_timeout 15;
   proxy_send_timeout 15;
   proxy_read_timeout 15;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header Connection "";
   proxy_pass http://upload; #请求转向upload 定义的服务器列表
   client_max_body_size 1024m;
} 
 }
}

구성 후 구성 파일을 저장하고 nginx를 다시 시작하세요

[root@vw010001135067 nginx]# nginx -s reload

브라우저에서 업로드 프로젝트 호출 성공 여부

Linux에서 nginx 설치 및 구성에 대한 자세한 설명

그림과 같이 프로젝트에 올바르게 접근이 되면서 설정에 성공하게 됩니다!

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.

Linux에서 nginx 설치 및 구성에 대한 자세한 내용을 보려면 PHP 중국어 웹사이트를 참고하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.