Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Kaedah pengoptimuman perkhidmatan Nginx

Kaedah pengoptimuman perkhidmatan Nginx

WBOY
WBOYke hadapan
2023-05-13 19:28:101066semak imbas

Pengoptimuman perkhidmatan Nginx boleh dioptimumkan dari beberapa aspek: menyembunyikan nombor versi, menukar pengguna dan kumpulan, mengkonfigurasi masa cache halaman web, memotong log, dan menetapkan tamat masa sambungan.

1. Nombor versi tersembunyi

Dalam persekitaran pengeluaran, nombor versi Nginx perlu disembunyikan untuk mengelakkan kebocoran versi Nginx dan menghalang pengguna daripada menyasarkan versi tertentu. Untuk menyemak versi Nginx, gunakan perintah curl -I http://172.16.10.10/ dalam CentOS.

[[email protected] ~]# curl -I http://172.16.10.10/ HTTP/1.1 200 OK Server: nginx/1.12.0   #Nginx版本信息 Date: Fri, 29 Jun 2018 08:52:27 GMT Content-Type: text/html Content-Length: 483 Last-Modified: Fri, 29 Jun 2018 06:56:20 GMT Connection: keep-alive ETag: "5b35d814-1e3" Accept-Ranges: bytes<br>

Terdapat dua cara untuk menyembunyikan nombor versi Satu ialah mengubah suai fail kod sumber Nginx untuk menentukan untuk tidak memaparkan nombor versi Yang kedua ialah mengubah suai fail konfigurasi utama.

Cara untuk mengubah suai fail konfigurasi utama adalah seperti berikut:

Tetapkan nilai pilihan server_tokens dalam fail konfigurasi Nginx kepada mati Jika tiada item konfigurasi sedemikian, tambahkan sahaja.

[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf   ...........    #省略内容     http {        include       mime.types;        default_type  application/octet-stream;        server_tokens     off;    #关闭版本号 ............    #省略内容<br>
rrree

Lawati tapak web sekali lagi, hanya Nginx dipaparkan, dan nombor versi telah disembunyikan.

[[email protected] ~]# nginx -t    #测试配置文件 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful<br>

Fail kod sumber Nginx mengandungi maklumat versi, yang boleh ditetapkan sesuka hati Kemudian susun semula dan pasang, dan maklumat versi akan disembunyikan.

[[email protected] ~]# service nginx restart #重新启动nginx服务 [[email protected] ~]# curl -I http://172.16.10.10/ HTTP/1.1 200 OK Server: nginx       #nginx隐藏了版本号 Date: Fri, 29 Jun 2018 09:09:36 GMT Content-Type: text/html Content-Length: 483 Last-Modified: Fri, 29 Jun 2018 06:56:20 GMT Connection: keep-alive ETag: "5b35d814-1e3" Accept-Ranges: bytes<br>

Susun semula dan pasang

[[email protected] ~]# vim /opt/nginx-1.12.0/src/core/nginx.h #编辑源码文件 #define NGINX_VERSION      "1.1.1"              #修改版本号 #define NGINX_VER          "IIS" NGINX_VERSION  #修改服务器类型<br>

Lawati URL sekali lagi dan hanya maklumat versi yang diubah suai akan dipaparkan.

[[email protected] ~]# cd /opt/nginx-1.12.0/ [[email protected] nginx-1.12.0]#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install<br>

2. Ubah suai pengguna dan kumpulan

Proses masa jalan Nginx memerlukan sokongan pengguna dan kumpulan untuk melaksanakan kawalan akses semasa membaca fail tapak web. Proses utama dibuat oleh akar, dan proses anak dibuat oleh pengguna dan kumpulan tertentu. Nginx menggunakan akaun pengguna dan akaun kumpulan nobody secara lalai, yang biasanya perlu diubah suai.

(1) Tentukan pengguna dan kumpulan apabila menyusun Nginx, iaitu, apabila mengkonfigurasi nginx, nyatakan parameter pengguna dan kumpulan selepas ./configure.
[[email protected] nginx-1.12.0]# service nginx restart      #重启nginx服务 [[email protected] nginx-1.12.0]# curl -I  http://172.16.10.10/HTTP/1.1 200 OK Server: IIS1.1.1            #nginx的版本信息 Date: Fri, 29 Jun 2018 09:30:09 GMT Content-Type: text/html Content-Length: 483 Last-Modified: Fri, 29 Jun 2018 06:56:20 GMT Connection: keep-alive ETag: "5b35d814-1e3" Accept-Ranges: bytes<br>
(2) Ubah suai fail konfigurasi Nginx nginx.conf untuk menentukan pengguna dan kumpulan.
[[email protected] ~]# cd /opt/nginx-1.12.0/ [[email protected] nginx-1.12.0]#./configure --prefix=/usr/local/nginx  --user=nginx    #指定用户名是nginx --group=nginx   #指定组名是nginx --with- && make && make install<br>

Mulakan semula nginx untuk menyemak status berjalan proses Proses utama dicipta oleh akaun akar, dan sub-proses dibuat oleh nginx.

[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf  user nginx nginx;     #修改用户为nginx,组为nginx<br>

3. Konfigurasikan masa cache halaman web

Selepas Nginx mengembalikan data halaman web kepada klien, masa cache boleh ditetapkan supaya permintaan masa hadapan untuk kandungan yang sama boleh dikembalikan secara langsung untuk mengelakkan permintaan berulang dan mempercepatkan akses Secara umumnya, ini hanya ditetapkan untuk sumber statik, dan di sana tidak perlu menetapkan masa cache untuk halaman web dinamik. Langkah-langkahnya adalah seperti berikut:

(1) Gunakan imej sebagai objek cache dan letakkan game.jpg dalam direktori laman web Nginx.
[[email protected] ~]# ps aux | grep nginx root      14923  0.0  0.0  20540   624 ?        Ss   17:30   0:00 nginx: master process /usr/local/nginx/sbin/nginx   #主进程由root创建 nginx     14925  0.0  0.1  22984  1412 ?        S    17:30   0:00 nginx: worker process           #子进程由nginx创建 root      19344  0.0  0.0 112720   984 pts/0    R+   17:47   0:00 grep --color=auto nginx<br>
(2) Lawati http://172.16.10.10/game.jpg, kemudian gunakan alat Fidder untuk menangkap paket dan semak mesej respons Tiada maklumat cache tentang imej.

Kaedah pengoptimuman perkhidmatan Nginx

(3) Ubah suai fail konfigurasi, tambah parameter tamat tempoh pada bahagian lokasi baharu dan nyatakan masa cache, 1d bermakna satu hari.
[[email protected] ~]# cd /usr/local/nginx/html/    #Nginx的网站目录 [[email protected] html]# ls 50x.html  error.png  game.jpg  index.html  test.html<br>
(4) Mulakan semula perkhidmatan nginx, akses URL untuk menangkap paket, dan mesej respons mengandungi parameter Tamat, yang menunjukkan masa cache.
[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf     location ~\.(gif|jpg|jepg|png|bmp|ico)$ {    #加入新的location         root html;         expires 1d;     #指定缓存时间         }<br>

[

Kaedah pengoptimuman perkhidmatan Nginx

Atas ialah kandungan terperinci Kaedah pengoptimuman perkhidmatan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam