> 운영 및 유지보수 > 엔진스 > Linux에서의 Nginx 설치 사례 분석

Linux에서의 Nginx 설치 사례 분석

WBOY
풀어 주다: 2023-05-22 08:46:05
앞으로
1355명이 탐색했습니다.

시스템 바이너리 소스 방법을 사용하여 설치

ubuntu/debian 시스템

sudo apt-get install nginx
로그인 후 복사

또는 redhat/centos 시스템

sudo yum install nginx
로그인 후 복사

이 방법이 가장 간단하고 빠른 방법이지만 최선의 방법은 아닙니다. 다음 이 주요 문제에 대해 이야기해 보세요.

장점

  • 모든 설치 바이너리 종속성이 처리되었으므로 호환성 문제에 대해 걱정할 필요가 없습니다. 즉시 사용할 수 있습니다.

  • nginx 연결 구성, 사용자 권한이 필요하지 않습니다. 차단됨

  • nginx 버그 유지 관리 및 업그레이드에 대해 걱정하지 말고 최신 시스템을 구입하세요.

  • 간단한 제거, 단 하나의 명령

  • 단점

설치된 버전을 독립적으로 선택할 수 없습니다

    컴파일된 모듈을 독립적으로 선택할 수 없습니다
  • 기능을 확장하기가 매우 번거롭고 다시 컴파일해야 합니다
  • 카테고리 구조가 복잡하고 구성 파일이 /etc 아래에 있습니다. /, 배포 파일은 /var/www에 있습니다
  • 서비스를 다시 시작하고 구성을 수정하려면 루트 권한이 필요합니다
  • 컴파일 및 설치 성능이 약간 떨어집니다
  • Linux 초보자라면 이 설치 방법을 사용하는 것이 좋습니다. 컴파일 종속성을 고려할 필요가 없으며 설치 후 바로 사용할 수 있습니다. 그러나 서버가 프로덕션 환경에서 사용되고 개발 및 점진적으로 개선되는 경우에는 이 방법을 권장하지 않습니다. 타사 모듈은 향후 추가될 수 있으며, 해당 시점에 컴파일하고 설치해야 합니다(아래 설명). 서버를 다시 시작할 때 루트 사용자를 사용하지 말고 sudo를 사용하여 잠시 루트를 얻으십시오. 서버가 주로 일부 웹 공간에 대해 일부 정적 파일을 배포하는 데 사용되고 일반적으로 ftp 도구를 사용하여 파일을 배포하는 경우 이 방법에는 확실히 문제가 없습니다.
  • 컴파일 및 설치

장단점에 대해서는 쓰지 않고 기본적으로 위의 내용을 반대로 작성합니다. 이 방법을 사용하여 설치하려면 Linux 컴파일에 대한 약간의 지식이 있어야 하며, 보통 수준의 Linux 사용자만 이를 제어할 수 있습니다. 인터넷의 대부분의 튜토리얼에서는 컴파일 종속성을 /usr/local/에 직접 설치하는 것을 보았습니다. 이 방법은 좋지 않습니다. 나중에 이러한 종속성을 제거하려면 매우 번거로운 작업이 될 것입니다. 카테고리 아래에서 직접 삭제할 수는 없습니다. 일부 Linux 배포판에서는 이러한 구성 파일을 어디서 찾을 수 있는지 모르겠습니다. 종속 버전이 다른 소프트웨어에 영향을 미치는 경우 버전 문제를 처리하는 방법. 우리는 nginx를 설치하고 싶었지만 많은 문제가 발생했습니다.

컴파일 환경 준비

시작하기 전에 Linux에 gcc, make, wget, g++ 및 기타 소프트웨어가 준비되어 있는지 확인하세요.

다운로드한 파일을 저장할 카테고리를 생성하고, 종속 라이브러리 소스 파일을 다운로드할 디렉터리를 입력하세요.

ssl 모듈 암호화에 주로 사용되는 openssl 다운로드, https 지원

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
로그인 후 복사

pcre를 다운로드하여 주소 리디렉션 및 주소 다시 쓰기 기능 구현 및 지원 로컬션 지시문 및 정규 표현식용

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
로그인 후 복사

zlib gzip 압축 모듈 다운로드

wget https://zlib.net/zlib-1.2.11.tar.gz
로그인 후 복사

nginx 다운로드

wget http://nginx.org/download/nginx-1.17.1.tar.gz
로그인 후 복사

tar를 사용하여 모든 파일의 압축 풀기

ls *.tar.gz | xargs -n1 tar xzvf
로그인 후 복사

컴파일 옵션

./configure를 사용하여 다음을 포함한 다양한 nginx 매개변수 스크립트 설정 소스 및 구성 파일 경로, 컴파일러 옵션, 링크 처리 방법 및 모듈 목록. 스크립트는 코드를 컴파일하고 nginx 오픈 소스를 설치하는 데 필요한 makefile을 생성하여 이를 수행합니다.

参数描述
–prefix=nginx安装目录,以及有其他配置脚本选项的路径设置的所有相对路径的基本位置。默认值/usr/local/nginx
–sbin-path=nginx二进制执行文件的名称,默认值:/sbin/nginx</td></tr><tr><td>–conf-path=<path></td><td>nginx配置文件的名称。但是,您可以通过在nginx命令行上使用选项指定其他文件来始终在启动时覆盖此值。默认值:<prefix> conf / nginx.conf-c <filename></td></tr><tr><td>–pid-path=<path></td><td>nginx.pid文件的名称,用于存储nginx主进程的进程id 。安装后,可以使用nginx配置文件中的pid指令更改文件名的路径。默认值:<prefix> /logs/nginx.pid</td></tr><tr><td>–error-log-path=<path></td><td>error,warn和诊断数据的日志文件的名称。安装后,可以使用nginx配置文件中的error_log指令更改文件名。默认值:<prefix> /logs/error.log</td></tr><tr><td>–http-log-path=<path></td><td>http服务器请求的主日志文件的名称。安装后,始终可以使用nginx配置文件中的access_log指令更改文件名。默认值:<prefix> /logs/access.log</td></tr><tr><td>–user=<name></td><td>nginx运行进程的拥有者。安装后,可以使用nginx配置文件中的user指令更改名称。默认:nobody</td></tr><tr><td>–group=name</td><td>nginx运行进程的拥有者用户组。安装后,可以使用nginx配置文件中的user指令更改名称。默认值:–user选项设置的值</td></tr><tr><td>–with-pcre=<path></td><td>pcre库源代码的路径,这是位置指令和rewrite模块中正则表达式支持所必需的</td></tr><tr><td>–with-pcre-jit</td><td>使用“即时编译”支持(pcre_jit指令)构建pcre库</td></tr><tr><td>–with-zlib=<path></td><td>zlib库的源代码路径,gzip模块需要该路径</td></tr><tr><td>–with-http_ssl_modul</td><td>启用https支持</td></tr><tr><td>–with-http_v2_module</td><td>开启 http/2请求支持</td></tr></tbody></table><p >还要太多编译参数我就不一一列举,有兴趣的同学可以自己去<br/></p><p >参看</p><p >编译安装<br/></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:bash;">./configure \ --with-openssl=../openssl-1.0.2s \ --with-pcre=../pcre-8.43 \ --with-zlib=../zlib-1.2.11 \ --with-pcre-jit --user=admin \ --prefix=/home/admin/nginx \ --with-http_ssl_module \ --with-http_v2_module
로그인 후 복사

输出以下信息,说明依赖没问题

configuration summary
 + using pcre library: ../pcre-8.43
 + using openssl library: ../openssl-1.0.2s
 + using zlib library: ../zlib-1.2.11
 
 nginx path prefix: "/home/admin/nginx"
 nginx binary file: "/home/admin/nginx/sbin/nginx"
 nginx modules path: "/home/admin/nginx/modules"
 nginx configuration prefix: "/home/admin/nginx/conf"
 nginx configuration file: "/home/admin/nginx/conf/nginx.conf"
 nginx pid file: "/home/admin/nginx/logs/nginx.pid"
 nginx error log file: "/home/admin/nginx/logs/error.log"
 nginx http access log file: "/home/admin/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"
로그인 후 복사

编译

make
로그인 후 복사

安装

make install
로그인 후 복사

设置权限

因为linux设置普通用户,不能占用1024一下的端口,直接启动nginx会出现权限不足的错误。将nginx分配给root用户,在分配特殊权限。

sudo chown root nginx
sudo chmod u+s nginx
로그인 후 복사

위 내용은 Linux에서의 Nginx 설치 사례 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿