运维 - nginx + php 上传图片报warn
网站是nginx+php,有个接口是接受用户上传的图片,当接口并发量大的时候会报nginx warn
<code>a client request body is buffered to a temporary file /var/cache/nginx/client_temp/***** </code>
查了一下资料,应该是客户端请求内容大于缓冲区,请求内容被写入临时文件 一般用户上传的图片都有1M左右,是否可以
<code>client_body_buffer_size 1024k </code>
疑问:这样是否就是将请求保存在内存中?那么请求量大的时候会不会因为内存不足造成更大的问题
最近服务器负载会飙高,估计也和这个接口有关系,上传图片比较慢导致大量php进程在处理,是否有其它替代方案?
回复内容:
网站是nginx+php,有个接口是接受用户上传的图片,当接口并发量大的时候会报nginx warn
<code>a client request body is buffered to a temporary file /var/cache/nginx/client_temp/***** </code>
查了一下资料,应该是客户端请求内容大于缓冲区,请求内容被写入临时文件 一般用户上传的图片都有1M左右,是否可以
<code>client_body_buffer_size 1024k </code>
疑问:这样是否就是将请求保存在内存中?那么请求量大的时候会不会因为内存不足造成更大的问题
最近服务器负载会飙高,估计也和这个接口有关系,上传图片比较慢导致大量php进程在处理,是否有其它替代方案?
如果你设定了最大的buffersize,那么当这个maxbuffer_size小于可以使用的内存大小时,是不会报内存不足的,这点可以不用担心。如果要坚持用php做这个的话,我个人觉得只能加强些硬件性能了,否则可以换一种异步io的方式做做看(nodejs),但不见得一定有效,也不知道会不会有其他方面的问题。
这本身就不是个问题。我nginx设置的上传大小是100wGB。我认为就不应该设置这个限制。然后说回问题本身,有这么多用户你还愣用一个小水管!!?!?!这本身就不科学啊!!那腾讯网银新浪神马的岂不是都能一台服务器搞定所有事了= =

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





PHP digunakan untuk membina laman web dinamik, dan fungsi terasnya termasuk: 1. Menjana kandungan dinamik dan menghasilkan laman web secara real time dengan menyambung dengan pangkalan data; 2. Proses Interaksi Pengguna dan Penyerahan Bentuk, Sahkan Input dan Menanggapi Operasi; 3. Menguruskan sesi dan pengesahan pengguna untuk memberikan pengalaman yang diperibadikan; 4. Mengoptimumkan prestasi dan ikuti amalan terbaik untuk meningkatkan kecekapan dan keselamatan laman web.

PHP menggunakan sambungan MySQLI dan PDO untuk berinteraksi dalam operasi pangkalan data dan pemprosesan logik sisi pelayan, dan memproses logik sisi pelayan melalui fungsi seperti pengurusan sesi. 1) Gunakan MySQLI atau PDO untuk menyambung ke pangkalan data dan laksanakan pertanyaan SQL. 2) Mengendalikan permintaan HTTP dan status pengguna melalui pengurusan sesi dan fungsi lain. 3) Gunakan urus niaga untuk memastikan atomik operasi pangkalan data. 4) Mencegah suntikan SQL, gunakan pengendalian pengecualian dan sambungan penutup untuk debugging. 5) Mengoptimumkan prestasi melalui pengindeksan dan cache, tulis kod yang sangat mudah dibaca dan lakukan pengendalian ralat.

PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Cara mengkonfigurasi nama domain Nginx pada pelayan awan: Buat rekod yang menunjuk ke alamat IP awam pelayan awan. Tambah blok hos maya dalam fail konfigurasi Nginx, menyatakan port pendengaran, nama domain, dan direktori akar laman web. Mulakan semula nginx untuk memohon perubahan. Akses konfigurasi ujian nama domain. Nota Lain: Pasang sijil SSL untuk membolehkan HTTPS, pastikan firewall membenarkan trafik port 80, dan tunggu resolusi DNS berkuatkuasa.

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

Kaedah yang boleh menanyakan versi nginx adalah: gunakan perintah nginx -v; Lihat arahan versi dalam fail nginx.conf; Buka halaman ralat Nginx dan lihat tajuk halaman.

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").
