Table of Contents
nginx introduction:
Specific methods for optimizing nginx in Linux system
What is a Linux system
Home Operation and Maintenance Nginx How to optimize nginx under Linux system

How to optimize nginx under Linux system

May 12, 2023 pm 08:34 PM
linux nginx

nginx introduction:

  • Nginx Nginx (engine x) is a high-performance HTTP and reverse proxy web server,Nginx is a lightweight web server/reverse proxy server

  • As a rising star, Nginx’s charm has attracted many people to invest in it embrace. The configuration is simple and the implementation principle is simple. There's nothing better than doing a load balancing thing.

Specific methods for optimizing nginx in Linux system

1. Optimize Nginx concurrency

 [root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/
 Benchmarking 192.168.4.5 (be patient)
 socket: Too many open files (24)                //提示打开文件数量过多
Copy after login

 Modify Nginx configuration file , increase the amount of concurrency

 [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
 .. ..
 worker_processes  2;                    //与CPU核心数量一致
 events {
 worker_connections 65535;        //每个worker最大并发连接数
 use epoll;
 }
 .. ..
 [root@proxy ~]# nginx -s reload
Copy after login

2. Optimize Linux kernel parameters (maximum number of files)

 [root@proxy ~]# ulimit -a                        //查看所有属性值
 [root@proxy ~]# ulimit -Hn 100000                //设置硬限制(临时规则)
 [root@proxy ~]# ulimit -Sn 100000                //设置软限制(临时规则)
 [root@proxy ~]# vim /etc/security/limits.conf
     .. ..
 *               soft    nofile            100000
 *               hard    nofile            100000
 #该配置文件分4列,分别如下:
 #用户或组    硬限制或软限制    需要限制的项目   限制的值
Copy after login

 Test server concurrency after optimization

 [root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/
Copy after login

3. Optimize Nginx packet header cache

 [root@proxy ~]# cat lnmp_soft/buffer.sh
 #!/bin/bash
 URL=http://192.168.4.5/index.html?
 for i in {1..5000}
 do
     URL=${URL}v$i=$i
 done
 curl $URL                                //经过5000次循环后,生成一个长的URL地址栏
 [root@proxy ~]# ./buffer.sh
 .. ..
 414 Request-URI Too Large        //提示头部信息过大
Copy after login

Modify the Nginx configuration file and increase the packet header cache size

 [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
 .. ..
 http {
 client_header_buffer_size    1k;        //默认请求包头信息的缓存    
 large_client_header_buffers  4 4k;        //大请求包头部信息的缓存个数与容量
 .. ..
 }
 [root@proxy ~]# nginx -s reload
Copy after login

4. Compress the page

 [root@proxy ~]# cat /usr/local/nginx/conf/nginx.conf
 http {
 .. ..
 gzip on;                            //开启压缩
 gzip_min_length 1000;                //小文件不压缩
 gzip_comp_level 4;                //压缩比率
 gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
                                     //对特定文件压缩,类型参考mime.types
 .. ..
Copy after login

5. Server memory cache

 http {
 open_file_cache          max=2000  inactive=20s;
         open_file_cache_valid    60s;
         open_file_cache_min_uses 5;
         open_file_cache_errors   off;
 //设置服务器最大缓存2000个文件句柄,关闭20秒内无请求的文件句柄
 //文件句柄的有效时间是60秒,60秒后过期
 //只有访问次数超过5次会被缓存
 }
Copy after login

6. Browser caches static data locally

 [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
 server {
         listen       80;
         server_name  localhost;
         location / {
             root   html;
             index  index.html index.htm;
         }
 location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
 expires        30d;            //定义客户端缓存时间为30天
 }
 }
 [root@proxy ~]# cp /usr/share/backgrounds/day.jpg /usr/local/nginx/html
 [root@proxy ~]# nginx -s reload
Copy after login

What is a Linux system

Linux is a UNIX-like operating system that is free to use and spread freely. It is a POSIX-based multi-user, multi-tasking, multi-threading and A multi-CPU operating system that uses Linux to run major Unix tool software, applications, and network protocols.

The above is the detailed content of How to optimize nginx under Linux system. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the permissions problem encountered when viewing Python version in Linux terminal? How to solve the permissions problem encountered when viewing Python version in Linux terminal? Apr 01, 2025 pm 05:09 PM

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

WordPress site file access is restricted: Why is my .txt file not accessible through domain name? WordPress site file access is restricted: Why is my .txt file not accessible through domain name? Apr 01, 2025 pm 03:00 PM

Wordpress site file access is restricted: troubleshooting the reason why .txt file cannot be accessed recently. Some users encountered a problem when configuring the mini program business domain name: �...

Why does an error occur when installing an extension using PECL in a Docker environment? How to solve it? Why does an error occur when installing an extension using PECL in a Docker environment? How to solve it? Apr 01, 2025 pm 03:06 PM

Causes and solutions for errors when using PECL to install extensions in Docker environment When using Docker environment, we often encounter some headaches...

How to make PHP5.6 and PHP7 coexist through Nginx configuration on the same server? How to make PHP5.6 and PHP7 coexist through Nginx configuration on the same server? Apr 01, 2025 pm 03:15 PM

Running multiple PHP versions simultaneously in the same system is a common requirement, especially when different projects depend on different versions of PHP. How to be on the same...

How to efficiently integrate Node.js or Python services under LAMP architecture? How to efficiently integrate Node.js or Python services under LAMP architecture? Apr 01, 2025 pm 02:48 PM

Many website developers face the problem of integrating Node.js or Python services under the LAMP architecture: the existing LAMP (Linux Apache MySQL PHP) architecture website needs...

How to solve permission issues when using python --version command in Linux terminal? How to solve permission issues when using python --version command in Linux terminal? Apr 02, 2025 am 06:36 AM

Using python in Linux terminal...

What is the reason for redirecting 404 errors after logging in with Selenium? How to solve it? What is the reason for redirecting 404 errors after logging in with Selenium? How to solve it? Apr 01, 2025 pm 10:54 PM

Solution to Redirecting 404 Errors after Simulation Login When using Selenium for Simulation Login, we often encounter some difficult problems. �...

Can the Python interpreter be deleted in Linux system? Can the Python interpreter be deleted in Linux system? Apr 02, 2025 am 07:00 AM

Regarding the problem of removing the Python interpreter that comes with Linux systems, many Linux distributions will preinstall the Python interpreter when installed, and it does not use the package manager...

See all articles