Rumah > Operasi dan penyelenggaraan > Nginx > Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

Lepaskan: 2023-07-26 17:05:23
ke hadapan
4888 orang telah melayarinya

An Pengenalan kepada Nginx

1.1 Apa yang Nginx

Nginx是一个高性能的http和反向代理服务器,其特点是占用内存小,并发能力强。Nginx dibangunkan secara khusus untuk pengoptimuman prestasi. ia boleh menyokong sehingga 50,000 sambungan serentak.

1.2 Proksi songsang

Proksi hadapan: Konfigurasikan pelayan proksi dalam penyemak imbas dan akses Internet melalui pelayan proksi.

Proksi songsang: Hantar permintaan kepada pelayan proksi terbalik, dan pelayan proksi terbalik memilih pelayan sasaran untuk mendapatkan data, dan kemudian mengembalikannya kepada klien Pada masa ini, pelayan proksi terbalik dan pelayan sasaran adalah satu pelayan kepada dunia luar, mendedahkan kebocoran adalah alamat pelayan proksi.

1.3 Load Balancing

Jika jumlah permintaan terlalu besar dan tidak dapat dikendalikan oleh pelayan tunggal, kami meningkatkan bilangan pelayan dan kemudian mengedarkan permintaan kepada setiap pelayan. pelayan tunggal ditukar untuk meminta pengedaran Kepada berbilang pelayan adalah pengimbangan beban.

1.4 Pemisahan dinamik dan statik

Untuk mempercepatkan kelajuan penghuraian pelayan, halaman dinamik dan halaman statik boleh diserahkan kepada pelayan yang berbeza untuk penghuraian, mempercepatkan kelajuan penghuraian dan mengurangkan tekanan pada pelayan tunggal asal.

Pemasangan Nginx kedua

Nginx memerlukan beberapa pakej pergantungan, iaitu pcre,openssl ,zlib, selepas memasang nginx perlu memasang kebergantungan ini terlebih dahulu. Nginx需要几个依赖包,分别是pcreopensslzlib,在安装nginx之前需要先安装这几个依赖。

2.1 安装pcre依赖

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

1wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
Salin selepas log masuk
  1. 解压压缩文件

1tar -xvf  pcre-8.37.tar.gz
Salin selepas log masuk
  1. 进入解压后的名录,执行以下命令

1./configure
Salin selepas log masuk
  1. 使用以下命令进行编译安装

1make && make install
Salin selepas log masuk
  1. 查看安装的pcre

    🎜2.1 Pasang kebergantungan pcre 🎜🎜 🎜🎜
      < li style="font-size: inherit;color: inherit;line-height: inherit;margin-bottom: 0.5em;">

      Gunakan arahan untuk memuat turunpcrePakej termampat🎜

    1pcre-config --version
    Salin selepas log masuk
    Salin selepas log masuk
    1. 🎜Nyahzip fail yang dimampatkan🎜🎜

    1yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
    Salin selepas log masuk
    Salin selepas log masuk
    1. 🎜Masukkan direktori yang dinyahmampat dan laksana Perintah berikut 🎜🎜

    1./nginx
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    1. 🎜Gunakan arahan berikut untuk menyusun dan memasang🎜 🎜

    1./nginx -v
    Salin selepas log masuk
    Salin selepas log masuk
      < li style="font-size: inherit;color: inherit;line-height: inherit;margin-bottom: 0.5em;">

      Lihatpcrenombor versi🎜

    1pcre-config --version
    Salin selepas log masuk
    Salin selepas log masuk

    2.2 安装openssl,zlib等依赖

    1yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
    Salin selepas log masuk
    Salin selepas log masuk

    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
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk

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

    Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

    2.5 Nginx常用的命令

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

    • 查看nginx的版本号

    1./nginx -v
    Salin selepas log masuk
    Salin selepas log masuk
    • 启动nginx

    1./nginx
    Salin selepas log masuk
    Salin selepas log masuk
    Salin selepas log masuk
    • 关闭nginx

    1./nginx -s stop
    Salin selepas log masuk
    • 重新加载nginx

    1./nginx -s reload
    Salin selepas log masuk

    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}
    Salin selepas log masuk

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

    1.全局块

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

    1worker_processes  1;
    Salin selepas log masuk

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

    2.events块

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

    1worker_connections  1024;
    Salin selepas log masuk

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

    3.http全局块

    nginx服务器配置最频繁的部分。http全局块包含http块pelayan块nginx服务器配置最频繁的部分。http全局块包含http块server块

    三 Nginx配置反向代理

    3.1 ngix代理流程

    Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

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

    三 Nginx配置反向代理

    3.1 ngix代理流程 < /span>

    Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

    本地浏览器访问nginx服务器,nginx服务器反向代理kucing jantan服务器,当我们请求nginx的时候直接访问到tomcatkucing jantan的安装这里就不在讲了,<我将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);latar belakang: rgb(248, 248, 248);">kucing kucing和nginx< /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
    Salin selepas log masuk

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

    Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

    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  }
    Salin selepas log masuk

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

     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}
    Salin selepas log masuk

    以上这段配置的意思就是请求是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}
    Salin selepas log masuk

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

    Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

    Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

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

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

      .
    • !~* tidak peka huruf besar dan tidak sepadan dengan

    • ^~ Jika awalan ini digunakan untuk rentetan biasa, maka beritahu nginxTidak menguji ungkapan biasa jika laluan sepadan.

    Empat pengimbangan beban konfigurasi Nginx

  2. 4.1 Apakah pengimbangan beban
  3. Imbangan Beban (Imbangan Beban) bermaksud mengimbangi dan memperuntukkan beban (tugas kerja, permintaan akses) kepada berbilang Pelaksanaan berlaku pada operasi unit (pelayan, komponen). Ia adalah penyelesaian muktamad untuk menyelesaikan prestasi tinggi, titik kegagalan tunggal (ketersediaan tinggi), dan kebolehskalaan (penskalaan mendatar).

    Sekarang kesan yang ingin kami capai ialah melalui Lawati www.javatrip.com:7001/prod/a.html dan edarkan permintaan masing-masing kepada dua kucing jantan Pertama, kami prod's folder, letakkan a.html fail. Dengan cara initomcat8081 dan tomcat8080Terdapat satu pada kedua-dua prod's fail ditambah dengan a.html fail.

    4.2 配置nginx.conf

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

    1upstream myserver{
    2    server 127.0.0.1:8080;
    3    server 127.0.0.1:8081;
    4}
    Salin selepas log masuk
    Salin selepas log masuk

    其次,在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}
    Salin selepas log masuk

    4.3 测试效果

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

    Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

    Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula

    4.4 nginx支持的几种负载策略

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

    1upstream myserver{
    2    server 127.0.0.1:8080;
    3    server 127.0.0.1:8081;
    4}
    Salin selepas log masuk
    Salin selepas log masuk
    • weight(权重):默认为1,权重越高,分配的请求越多。

    1upstream myserver{
    2    server 127.0.0.1:8080 weight=1;
    3    server 127.0.0.1:8081 weight=2;
    4}
    Salin selepas log masuk
    • 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}
    Salin selepas log masuk
    • fair(第三方):按后端响应时间进行分配,响应时间越短分配的请求越多。

    1upstream myserver{
    2    server 127.0.0.1:8080;
    3    server 127.0.0.1:8081;
    4    fair;
    5}
    Salin selepas log masuk

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

Atas ialah kandungan terperinci Tutorial super mudah Nginx, cuma baca artikel ini untuk bermula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:Java学习指南
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan