Home > Operation and Maintenance > Nginx > How to build a picture and video server with Nginx

How to build a picture and video server with Nginx

WBOY
Release: 2023-05-19 13:47:03
forward
3274 people have browsed it

1 Preface

First of all, two stories:

1.1 About the video

Several years ago, when I was working in my last company, my work computer was not It is really uncomfortable to connect to the external network and develop the internal network. When checking any information, I can only use my mobile phone. What I can't do is find the code and I can only type it one by one.

One day, we received a customer and wanted to show him a promotional video for our new product, but the video had just been finished and was still on the intranet. They were sitting in the conference room chatting and waiting to watch it. Video, our boss came out to get the video, holding his laptop, dumbfounded, the video was on the intranet, and all USB ports were blocked on the desktop. It's so urgent that I don't know what to do. To get something from the intranet, I need to go through multiple levels of email approval. At this time, I stepped forward and used nginx to forward the video to the external network through the port opened by us and the three-party joint debugging. The customer was very happy after watching it. As a result, I was criticized and told that I did not comply with the company's procedures. In the end, my boss took the responsibility. . . The process was wonderful, but the results were not so great.

1.2 About the picture

Another time, I was working for a company later, which was engaged in car loan business. The user information page displayed the person, car, invoice, and driving license. The mess adds up to displaying more than 50 pictures. The uploads are uploaded by customers, but the operation has to check the photos for approval on the approval page. Today's mobile phones are very good, and the cameras are all 7M or 8M. The image display alone on a page takes 400M, and this is for one user. At that time, the images were stored on Alibaba's OSS, and downloading was extremely slow. At this time, the boss was unhappy. It took the operation staff five minutes to approve one person's information and four and a half minutes to wait for the picture to load. What does technology do? Then the pressure came to the front-end guys to compress the images when uploading them. But when it reaches about 2M3M at most, I can’t go any further. After studying hard for several days, I accidentally heard it. I said, wouldn’t it be beautiful to use nginx? Just build a local static resource server and save the pictures locally. Direct intranet access is not very fast. The boss is also very happy, and it is very comfortable to just do it like this, but the problem is that the server has a 1T disk and a large number of users. It may be full in a few days. But within a few days, the state cracked down on small loan companies, users did not repay, and the company disappeared before the servers were full. The process was wonderful, but the result was even worse, but I don’t blame it this time.

Let me briefly introduce these two deployment steps.

2 Build a picture server

This is simple, just configure it, but please note that gzip compression is useless for resources such as pictures and videos. If it is turned on, it will not reduce the size and occupy the CPU. resource. For demonstration purposes here, the image files are directly placed under html.

How to build a picture and video server with Nginx

2.1 Configuration file

server {
    listen       8081;
    server_name  somename  alias  another.alias;
        location /image {
            root   html;
            autoindex on;
        }
}
Copy after login

2.2 Display effect

Direct address plus port plus file name access

139.155.71.11:8081/image/test1.jpeg
Copy after login

How to build a picture and video server with Nginx

3 Build a video server

There are a few things you need to pay attention to

  • If you want to play it in chrome, the video encoding must be H264 , the others are all black screens with only sound and no images.

  • Need to add mp4 module

3.1 Add video module

Back up nginx configuration file, Note, be sure to back it up. You will be sad if you lose it during make.

Execute the following command in the decompression directory of nginx. Of course, if there are other modules, you must also add them together and execute them.

./configure --with-http_mp4_module
Copy after login

Then

make
make install
Copy after login

Put the backup configuration file and restart nginx

3.2 Configuration file

server {
    listen       8082;
    server_name  somename  alias  another.alias;

    location /video {
        root   html;
        mp4;
        mp4_buffer_size 1m;#处理mp4初始内存大小
        mp4_max_buffer_size 50m;#处理mp4最大内存大小
        limit_rate 150k; #限速
        limit_rate_after 20m;   #在20m后限速
    }
}
Copy after login

3.3 Display

You can access the video you want by adding the access address, port and file name.

139.155.71.11:8082/video/test4.mp4
Copy after login

The video effect is as follows:

How to build a picture and video server with Nginx

The above is the detailed content of How to build a picture and video server with Nginx. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template