search
HomeOperation and MaintenanceNginxHow to implement Nginx log cutting configuration

How to implement Nginx log cutting configuration

How to implement Nginx log cutting configuration requires specific code examples

Nginx is a very popular high-performance web server and reverse proxy server that is widely used for building and running modern applications. As an operation and maintenance engineer, we often need to configure the log cutting function of the Nginx server so that the server's logs can be cut regularly to prevent excessive log files from affecting the server's performance. The following will introduce how to implement Nginx log cutting configuration and give specific code examples.

1. Why do you need to configure log cutting?

Nginx server writes all access logs and error logs to the same file by default. As the number of visits increases, the log file will gradually become It is huge and not only takes up a lot of disk space, but also reduces efficiency when looking for specific log information. In order to solve this problem, we need to regularly cut Nginx logs, cut log files according to a certain size or time interval, and archive or delete old log files to maintain server performance and manageability.

2. How to configure Nginx log cutting

  1. Install logrotate tool

logrotate is a commonly used log cutting tool that can be used for various Log files are automatically cut, archived and deleted. First, we need to install the logrotate tool on the server. If your server uses a Debian/Ubuntu system, you can use the following command to install it:

sudo apt-get install logrotate

If your server uses a CentOS/RHEL system, you can use the following command to install it:

sudo yum install logrotate
  1. Create log cutting configuration file

Next, we need to create an Nginx log cutting configuration file to define the cutting rules and operations to be performed. Normally, Nginx's log files are located in the /var/log/nginx/ directory. We can create a file named nginx.logrotate in this directory and edit it as follows Configuration:

/var/log/nginx/*.log {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    create 0644 nginx nginx
    sharedscripts
    postrotate
        /usr/sbin/nginx -s reopen
    endscript
}

In the above configuration, the meaning of each parameter is as follows:

  • daily: Cut according to the daily time interval;
  • missingok: If the log file does not exist, no error will be reported;
  • rotate 7: Keep the last 7 cut log files, and the old log files will be deleted ;
  • compress: Compress the log file after cutting;
  • delaycompress: Delay compression, that is, compression will be performed during the next cutting;
  • notifempty: If the cut log file is empty, no operation is performed;
  • create 0644 nginx nginx: Create a new log file, set permissions to 0644, owner and group to nginx;
  • sharedscripts: Execute the script only once before executing the cutting script;
  • postrotate and endscript: Scripts executed after the cutting is completed to reopen the log file on the Nginx server.
  1. Test log cutting configuration

After completing the writing of the configuration file, you can use the following command to test the log cutting:

sudo logrotate -f /etc/logrotate.d/nginx.logrotate

Execute After the above command, logrotate will cut the Nginx log file according to the rules of the configuration file. You can use the ls command to view the log files in the /var/log/nginx/ directory to see whether they have been cut and compressed according to the rules.

  1. Set the scheduled task of logrotate

In order to realize the automatic log cutting function, we need to add the execution task of logrotate to the scheduled task of the system. You can edit the /etc/crontab file and add the following line:

0 0 * * * root /usr/sbin/logrotate -f /etc/logrotate.d/nginx.logrotate

In this way, logrotate will perform a log cutting operation at midnight (0 hours, 0 minutes) every day.

Summary

It is very necessary to configure the log cutting function of Nginx, which can maintain the performance and manageability of the server. By installing the logrotate tool, creating a log cutting configuration file, and setting up scheduled tasks, you can realize the automatic log cutting function. I hope the specific code examples provided in this article can help you implement Nginx log cutting configuration.

The above is the detailed content of How to implement Nginx log cutting configuration. For more information, please follow other related articles on the PHP Chinese website!

Statement
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
NGINX Unit: Supporting Different Programming LanguagesNGINX Unit: Supporting Different Programming LanguagesApr 16, 2025 am 12:15 AM

NGINXUnit supports multiple programming languages ​​and is implemented through modular design. 1. Loading language module: Load the corresponding module according to the configuration file. 2. Application startup: Execute application code when the calling language runs. 3. Request processing: forward the request to the application instance. 4. Response return: Return the processed response to the client.

Choosing Between NGINX and Apache: The Right Fit for Your NeedsChoosing Between NGINX and Apache: The Right Fit for Your NeedsApr 15, 2025 am 12:04 AM

NGINX and Apache have their own advantages and disadvantages and are suitable for different scenarios. 1.NGINX is suitable for high concurrency and low resource consumption scenarios. 2. Apache is suitable for scenarios where complex configurations and rich modules are required. By comparing their core features, performance differences, and best practices, you can help you choose the server software that best suits your needs.

How to start nginxHow to start nginxApr 14, 2025 pm 01:06 PM

Question: How to start Nginx? Answer: Install Nginx Startup Nginx Verification Nginx Is Nginx Started Explore other startup options Automatically start Nginx

How to check whether nginx is startedHow to check whether nginx is startedApr 14, 2025 pm 01:03 PM

How to confirm whether Nginx is started: 1. Use the command line: systemctl status nginx (Linux/Unix), netstat -ano | findstr 80 (Windows); 2. Check whether port 80 is open; 3. Check the Nginx startup message in the system log; 4. Use third-party tools, such as Nagios, Zabbix, and Icinga.

How to close nginxHow to close nginxApr 14, 2025 pm 01:00 PM

To shut down the Nginx service, follow these steps: Determine the installation type: Red Hat/CentOS (systemctl status nginx) or Debian/Ubuntu (service nginx status) Stop the service: Red Hat/CentOS (systemctl stop nginx) or Debian/Ubuntu (service nginx stop) Disable automatic startup (optional): Red Hat/CentOS (systemctl disabled nginx) or Debian/Ubuntu (syst

How to configure nginx in WindowsHow to configure nginx in WindowsApr 14, 2025 pm 12:57 PM

How to configure Nginx in Windows? Install Nginx and create a virtual host configuration. Modify the main configuration file and include the virtual host configuration. Start or reload Nginx. Test the configuration and view the website. Selectively enable SSL and configure SSL certificates. Selectively set the firewall to allow port 80 and 443 traffic.

How to solve nginx403 errorHow to solve nginx403 errorApr 14, 2025 pm 12:54 PM

The server does not have permission to access the requested resource, resulting in a nginx 403 error. Solutions include: Check file permissions. Check the .htaccess configuration. Check nginx configuration. Configure SELinux permissions. Check the firewall rules. Troubleshoot other causes such as browser problems, server failures, or other possible errors.

How to start nginx in LinuxHow to start nginx in LinuxApr 14, 2025 pm 12:51 PM

Steps to start Nginx in Linux: Check whether Nginx is installed. Use systemctl start nginx to start the Nginx service. Use systemctl enable nginx to enable automatic startup of Nginx at system startup. Use systemctl status nginx to verify that the startup is successful. Visit http://localhost in a web browser to view the default welcome page.

See all articles

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)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.