Mastering Nginx 필기 1 - Nginx 기초 및 위치 설명
Installing NGINX using a package
manager
yum install nginx
CentOS
Add the NGINX repository to your yum configuration by creating the following file:
vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
Preparing a build environment
yum install pcre-devel
yum install zlib-devel
yum install openssl-devel
Installing NGINX from source
I would therefore recommend the following configure options for a web
accelerator/proxy:
$ ./configure --with-http_ssl_module --with-http_realip_module --with-
http_geoip_module --with-http_stub_status_module --with-openssl=${BUILD_
DIR}/openssl-1.0.1c
And the following for a web server:
$ ./configure --with-http_stub_status_module
installing third-party modules
1. Locate the module you would like to use (either search on
https://github.com or see http://wiki.nginx.org/3rdPartyModules ).
2. Download the module.
3. Unpack the source.
4. Read the README file, if included. See if there are any dependencies
that you will need to install.
5. Configure NGINX to use the module as follows. /configure –add-
module=
A Configuration Guide
The server_name directive is fairly straightforward, but can be used to solve a number
of configuration problems. Its default value is "" , which means that a server section
without a server_name directive will match a request that has no Host header field
set. This can be used, for example, to drop requests that lack this header:
server {
listen 80;
return 444;
}
The non-standard HTTP code, 444 , used in this example will cause NGINX to
immediately close the connection.
NGINX uses the following logic when determining which virtual server should
serve a specific request:
1. Match the IP address and port to the listen directive.
2. Match the Host header field against the server_name directive as a string.
3. Match the Host header field against the server_name directive with a
wildcard at the beginning of the string.
4. Match the Host header field against the server_name directive with a
wildcard at the end of the string.
5. Match the Host header field against the server_name directive as a regular
expression.
6. If all the Host headers match fail , then direct to the listen directive
marked as default_server .
7. If all the Host headers match fail and there is no default_server ,
direct to the first server with a listen directive that satisfies step 1.
Locations
The location directive may be used within a virtual server section and indicates a
URI that comes either from the client or from an internal redirect
A location is defined as follows:
location [modifier] uri {...}
Or for a named location:
location @name {…}
A named location is only reachable from an internal redirect. It preserves the URI
as it was before entering the location block. It may only be defined at the server
context level.
Location modifiers
Modifier Handling
= Use exact match and terminate search.
~ Case-sensitive regular expression matching.
~* Case-insensitive regular expression matching.
^~ Stops processing before regular expressions are
checked for a match of this location's string, if
it's the most specific match. Note that this is not
a regular expression match – its purpose is to
preempt regular expression matching. uri 는 일반적인 문자열 로 시작 하여 url 경로 와 일치 하 는 것 으로 이해 하면 됩 니 다. nginx 는 url 에 인 코딩 을 하지 않 기 때문에 / static / 20% / aa 로 요청 하면 규칙 ^ ~ / static / / / aa 에 일치 할 수 있 습 니 다 (빈 칸 주의).
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.