Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.

풀어 주다: 2023-07-26 17:05:23
앞으로
4807명이 탐색했습니다.

Nginx 소개

1.1 Nginx란 무엇입니까

Nginx是一个高性能的http和反向代理服务器,其特点是占用内存小,并发能力强。Nginx 성능은 높은 부하 테스트를 견딜 수 있다는 보고가 있습니다. 최대 50,000개의 동시 연결을 지원할 수 있습니다.

1.2 역방향 프록시

정방향 프록시: 브라우저에서 프록시 서버를 구성하고 프록시 서버를 통해 인터넷에 접속합니다.

역방향 프록시: 역방향 프록시 서버에 요청을 보내고, 역방향 프록시 서버는 데이터를 얻기 위해 대상 서버를 선택한 후 클라이언트에 반환합니다. 이때 역방향 프록시 서버와 대상 서버는 하나입니다. 서버를 외부로 유출시키면 프록시 서버 주소가 노출됩니다.

1.3 로드 밸런싱

요청량이 너무 많아 단일 서버에서 처리할 수 없는 경우 서버 수를 늘려 각 서버에 요청을 집중시키는 원래 상황입니다. 단일 서버가 분산을 요청하도록 변경됩니다.

1.4 동적 및 정적 분리

서버의 구문 분석 속도를 높이기 위해 동적 페이지와 정적 페이지를 구문 분석을 위해 다른 서버로 넘겨서 구문 분석 속도를 높이고 작업 부담을 줄일 수 있습니다. 원래 단일 서버.

두 번째 Nginx 설치

Nginx에는 pcre,openssl ,zlib, nginx는 이러한 종속성을 먼저 설치해야 합니다. Nginx需要几个依赖包,分别是pcreopensslzlib,在安装nginx之前需要先安装这几个依赖。

2.1 安装pcre依赖

  1. 使用命令下载pcre压缩包

1wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
로그인 후 복사
  1. 解压压缩文件

1tar -xvf  pcre-8.37.tar.gz
로그인 후 복사
  1. 进入解压后的名录,执行以下命令

1./configure
로그인 후 복사
  1. 使用以下命令进行编译安装

1make && make install
로그인 후 복사
  1. 查看安装的pcre

    🎜2.1 pcre 종속성 설치 🎜🎜 🎜🎜
      < li style="font-size: 상속;color: 상속;line-height: 상속;margin-bottom: 0.5em;">

      명령을 사용하여 다운로드pcre압축 패키지🎜

    1pcre-config --version
    로그인 후 복사
    로그인 후 복사
    1. 🎜압축 파일의 압축을 풀어주세요🎜🎜

    1yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
    로그인 후 복사
    로그인 후 복사
    1. 🎜압축해제된 디렉터리에 들어가서 실행하세요. 다음 명령 🎜🎜

    1./nginx
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    1. 🎜다음 명령을 사용하여 컴파일하고 설치하세요🎜 🎜

    1./nginx -v
    로그인 후 복사
    로그인 후 복사
      < li style="font-size: 상속;color: 상속;line-height: 상속;margin-bottom: 0.5em;">

      설치된 항목 보기pcre버전 번호🎜

    1pcre-config --version
    로그인 후 복사
    로그인 후 복사

    2.2 安装openssl,zlib等依赖

    1yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
    로그인 후 복사
    로그인 후 복사

    2.3 安装nginx

    1. nginx官网下载nginx,官网地址:https://nginx.org/download/;

    2. 将压缩包拖到服务器上;

    3. 使用命令tar -xvf nginx-1.12.2.tar.gz解压压缩包;

    4. 使用命令./configure检查;

    5. 使用命令make &amp;&amp; make isntall编译安装;

    安装成功后,在usr会多出来一个文件夹,local/nginx,在nginxsbin文件夹下有启动脚本。

    2.4 启动nginx

    /usr/local/nginx/sbin文件夹下,使用以下命令启动

    1./nginx
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사

    然后浏览器访问服务器ip,nginx默认端口是80,出现以下页面则证明nginx安装成功;

    Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.

    2.5 Nginx常用的命令

    使用这些命令时需要进入/usr/local/nginx/sbin文件夹

    • 查看nginx的版本号

    1./nginx -v
    로그인 후 복사
    로그인 후 복사
    • 启动nginx

    1./nginx
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    • 关闭nginx

    1./nginx -s stop
    로그인 후 복사
    • 重新加载nginx

    1./nginx -s reload
    로그인 후 복사

    2.6 Nginx的配置文件

    nginx的配置文件在/usr/local/nginx/conf中的nginx.conf。我们将nginx.conf中注释的内容删除一下。

     1#user  nobody;
     2worker_processes  1;
     3
     4#pid        logs/nginx.pid;
     5
     6events {
     7    worker_connections  1024;
     8}
     9
    10http {
    11    include       mime.types;
    12    default_type  application/octet-stream;
    13
    14    sendfile        on;
    15    #tcp_nopush     on;
    16
    17    #keepalive_timeout  0;
    18    keepalive_timeout  65;
    19
    20    #gzip  on;
    21
    22    server {
    23        listen       80;
    24        server_name  localhost;
    25
    26        location / {
    27            root   html;
    28            index  index.html index.htm;
    29        }
    30    }
    31}
    로그인 후 복사

    nginx的配置文件包含三部门。

    1.全局块

    从配置文件开始到events块之间的内容,主要会设置一些nginx服务器整体运行的配置指令。

    1worker_processes  1;
    로그인 후 복사

    这个代表nginx处理并发的关键配置,值越大,处理并发能力越强。但是会受到硬件、软件等约束。

    2.events块

    events块涉及的指令主要影响nginx服务器与用户网络的连接。

    1worker_connections  1024;
    로그인 후 복사

    这个代表nginx支持的最大连接数。

    3.http全局块

    nginx服务器配置最频繁的부분분。http전체局块包含http块서버nginx服务器配置最频繁的部分。http全局块包含http块server块

    三 Nginx配置反向代理

    3.1 ngix代理流程

    Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.

    本地浏览器访问nginx服务器,nginx服务器反向代理tomcat服务器,当我们请求nginx的时候直接访问到tomcattomcat的安装这里就不在讲了,我将tomcatnginx

    三 Nginx配置反向代理

    3.1 ngix代理流程 < /span>

    Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.

    本地浏览器访问nginx服务器,nginx服务器反向代理tomcat服务器,当我们请求nginx의 时候直接访问到tomcattomcat적안심这里就不在讲了,我将tomcatnginx< /code>안심이동일台服务器上。🎜🎜<h3 style="color: inherit;line-height: inherit;margin-top: 1.6em;margin-bottom: 1.6em;font-weight: bold;border-bottom: 2px solid rgb(239, 112, 96);font-size: 1.3em;"><span style="font-size: inherit;line-height: inherit;display: inline-block;font-weight: normal;background: rgb(239, 112, 96);color: rgb(255, 255, 255);padding: 3px 10px 1px;border-top-right-radius: 3px;border-top-left-radius: 3px;margin-right: 3px;">3.2 配置ip和域名的绑定关系</span><span style="display: inline-block;vertical-align: bottom;border-bottom: 36px solid rgb(239, 235, 233);border-right: 20px solid transparent;"> </span></h3><p style="font-size: inherit;color: inherit;line-height: inherit;margin-top: 1.7em;margin-bottom: 1.7em;">由于我们的<code style="font-size: inherit;line-height: inherit;overflow-wrap: break-word;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;color: rgb(248, 35, 117);background: rgb(248, 248, 248);">nginx没有域名,为了演示,因此我们在本地host文件中配置nginx服务器ip和域名进行绑定。这个host文件的具体位置在C:\Windows\System32\drivers\etc。在host文件中增加一句配置:

    147.104.xxx.xxx www.javatrip.com
    로그인 후 복사

    前面的ip是服务器的ip地址,后面的域名是我随便起的用于绑定这个ip的一个域名。配置好之后,我们使用域名访问一下tomcat,如果能请求到tomcat默认页面,则配置成功。

    Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.

    3.3 在nginx配置请求转发

    1  server {
    2        listen       80;
    3        server_name  localhost;
    4
    5        location / {
    6            root   html;
    7            index  index.html index.htm;
    8        }
    9  }
    로그인 후 복사

    我们将以上默认的配置文件做个修改:

     1server {
     2    listen       80;
     3    server_name  47.104.xxx.xxx;
     4
     5    location / {
     6        root   html;
     7        proxy_pass http://127.0.0.1:8080;
     8        index  index.html index.htm;
     9    }
    10}
    로그인 후 복사

    以上这段配置的意思就是请求是47.104.xxx.xxx:80,都会转发至47.104.xxx.xxx:8080

    现在浏览器访问www.javatrip.com,发现直接转发到了tomcat上了,这样简单的反向代理就完成了。

    3.4 根据请求后缀分发

    我们再解压一个tomcat,端口号设置为8081,分别在两个tomcatwebapps目录下面新建devprod目录,然后在该目录下写一个文件。

    将请求www.javatrip.com:7001/dev转发到tomcat8080,将请求www.javatrip.com:7001/prod转发到tomcat8081。现在我们的nginx监听的端口号是7001。打开nginx的配置文件,新建一个server如下:

     1server {
     2    listen       7001;
     3    server_name  47.104.xxx.xxx;
     4
     5    location ~ /dev/ {
     6        proxy_pass http://127.0.0.1:8080;
     7    }
     8
     9    location ~ /prod/ {
    10        proxy_pass http://127.0.0.1:8081;
    11    }
    12}
    로그인 후 복사

    然后试试效果,分别访问www.javatrip.com:7001/dev/a.html和www.javatrip.com:7001/prod/a.html,效果如下:

    Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.

    Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.

    其中,配置转发的时候用到了~,其含义内容如下:

    • = 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。

    • ~ 대소문자 구분 일치(정규식 사용 가능)

    • !~ 대소문자 구분 일치

    • ~* 대소문자 구분 없음 일치(정규식 사용 가능)

    • !~*는 대소문자를 구분하지 않습니다.

    • ^~ 이 접두사가 일반 문자열에 사용되는 경우 nginx경로가 일치하면 정규식을 테스트하지 않습니다. nginx如果路径匹配那么不测试正则表达式。

    四 Nginx配置负载均衡

    4.1 什么是负载均衡

    负载均衡(Load Balance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。

    现在我们想实现的效果是通过访问www.javatrip.com:7001/prod/a.html,将请求分别分发到两个tomcat上面去,首先我们在tomcat8080上新建一个prod的文件夹,里面放一个a.html的文件。这样tomcat8081tomcat8080两个上就都有了一个prod的文件加且里面有一个a.html

    🎜4가지 Nginx 구성 로드 밸런싱🎜

    4.1 로드 밸런싱이란 무엇입니까🎜 🎜

    로드 밸런스(Load Balance)는 부하(작업 작업, 액세스 요청)를 여러 곳에 분산하고 할당하는 것을 의미합니다. 운영 시 실행이 발생합니다. 단위(서버, 구성 요소). 고성능, 단일 장애 지점(고가용성), 확장성(수평 확장)을 해결하는 궁극적인 솔루션입니다. 🎜

    이제 우리가 달성하려는 효과는 다음과 같습니다. www.javatrip.com:7001/prod/a.html을 방문하여 요청을 각각 두 개의 Tomcat에 배포합니다. 먼저 prod 폴더에 a.html 파일. 이렇게 하면tomcat8081tomcat8080 prod의 파일과 a.html 파일. 🎜

    4.2 配置nginx.conf

    首先,在http块中配置两个tomcat的服务列表

    1upstream myserver{
    2    server 127.0.0.1:8080;
    3    server 127.0.0.1:8081;
    4}
    로그인 후 복사
    로그인 후 복사

    其次,在server块中配置规则:

     1server {
     2    listen       80;
     3    server_name  47.104.xxx.xxx;
     4
     5    location / {
     6        root   html;
     7        proxy_pass http://myserver;
     8        index  index.html index.htm;
     9    }
    10}
    로그인 후 복사

    4.3 测试效果

    访问地址:www.javatrip.com:7001/prod/a.html,多刷新几次。发现有的请求到tomcat8080上,有的请求到tomcat8081上。

    Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.

    Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.

    4.4 nginx支持的几种负载策略

    • 轮询(默认):每个请求按时间顺序逐一分配到不同的服务器,如果服务器down了,会自动剔除。

    1upstream myserver{
    2    server 127.0.0.1:8080;
    3    server 127.0.0.1:8081;
    4}
    로그인 후 복사
    로그인 후 복사
    • weight(权重):默认为1,权重越高,分配的请求越多。

    1upstream myserver{
    2    server 127.0.0.1:8080 weight=1;
    3    server 127.0.0.1:8081 weight=2;
    4}
    로그인 후 복사
    • ip hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后台服务器,可以解决session的问题。

    1upstream myserver{
    2    ip_hash;
    3    server 127.0.0.1:8080;
    4    server 127.0.0.1:8081;
    5}
    로그인 후 복사
    • fair(第三方):按后端响应时间进行分配,响应时间越短分配的请求越多。

    1upstream myserver{
    2    server 127.0.0.1:8080;
    3    server 127.0.0.1:8081;
    4    fair;
    5}
    로그인 후 복사

    由于动静分离在实际开发中也不常用,就不再写了。本篇文章做为一个nginx入门,到这里就基本完结了。最后留给大家一个问题思考一下:如何保证nginx的高可用?

위 내용은 Nginx 매우 간단한 튜토리얼, 시작하려면 이 기사를 읽으세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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