


利用nginx proxy_cache进行网站缓存托底配置 nginx fastcgi cache nginx cache 配置 nginx file cach
众所周知nginx proxy_cache可以对请求的response进行缓存,起到类似CDN的作用,甚至有比CDN提供更多的功能,还可以用来缓存托底数据,当后台tomcat挂掉的时候,nginx直接将缓存中的托底数据返回给用户。
直接贴上详细配置
upstream tomcat_localhost {
//注意此处超时时间不要设置太长
server 127.0.0.1:8080 weight=10 max_fails=1 fail_timeout=1s;
}
1.nginx缓存空间配置,该配置定义在nginx配置文件的server上方即可
#proxy_cache_path : 代理缓存的缓存文件路径,/export/Data/huishou.jd.local 该目录一定要提前创建好,否则配置文件检测会失败,并且该目录不能删除,删除后缓存消失
# levels=1:2 nginx会在上述配置的缓存文件路径下再创建两级目录,第一级目录命名为一个字符,第二级目录命名为2个字符
#keys_z max_size=100m 定义缓存的名称和缓存大小 ,缓存的名称会在下面的location中使用,缓存大小可以结合自己服务器内存和系统需要缓存的内容大小进行考虑设置
# inactive=1d 缓存文件的有效时间,缓存到达该设置的时间后无论是否在使用都会从缓存路径下移除,然后回源获取新数据在生成缓存文件
proxy_cache_path /export/Datal/cache levels=1:2 keys_z max_size=300m inactive=1d;
2.nginx缓存托底拦截配置,该配置在具体的location内
location / {
#配置上面定义的缓存空间名称,必选配置
proxy_cache my_cache;
#设置缓存的key,还可以根据url中的参数进行自定义;$args表示所有参数,也可以使用其中的一个参数,例如:$arg_name,表示只取参数列表中的name参数,此处可以灵活配置,必选配置
proxy_cache_key $host$uri$is_args$args;
#设置绕过缓存的请求url,即url中包含该配置的值,则该请求不从缓存中获取数据,非必须配置
proxy_cache_bypass $arg_noCache;
#根据响应码设置缓存时间,超过这个时间即使缓存文件中有缓存数据,nginx也会回源请求新数据。此处的值还可以根据response中header中设置的Cache-Control缓存时间进行控制,header中的设置优先级最高,如果此处和header都没有设置缓存时间,则nginx不会生成缓存文件,非必须配置,如果此处不做配置,header中必须有设置
proxy_cache_valid 200 1m;
#此处是托底配置,旧的总比出错强,当nginx请求后台服务器报错的时候,如果返回配置的错误响应码,nginx则直接取缓存文件中的旧数据返回给用户,托底使用必选配置
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
#缓存并发锁,当nginx缓存没有命中的时候只有一个请求回源tomcat请求数据,其他请求会等待。非必选配置
proxy_cache_lock on;
#等待锁超时时间设置 非必选配置
proxy_cache_lock_timeout 1s;
proxy_pass tomcat_localhost ;
}
3.经过上述配置后,nginx的缓存托底配置就完成了,在缓存文件有效时间内,即使后台tomcat挂掉,被缓存过的页面或接口也能正常提供服务。
以上就介绍了利用nginx proxy_cache进行网站缓存托底配置,包括了nginx,cache方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kelebihan utama menggunakan sesi penyimpanan pangkalan data termasuk kegigihan, skalabilitas, dan keselamatan. 1. Kegigihan: Walaupun pelayan dimulakan semula, data sesi tidak dapat berubah. 2. Skalabiliti: Berkenaan dengan sistem yang diedarkan, memastikan data sesi disegerakkan di antara pelbagai pelayan. 3. Keselamatan: Pangkalan data menyediakan storan yang disulitkan untuk melindungi maklumat sensitif.

Melaksanakan pemprosesan sesi tersuai dalam PHP boleh dilakukan dengan melaksanakan antara muka sessionHandlerInterface. Langkah -langkah khusus termasuk: 1) mewujudkan kelas yang melaksanakan sessionHandlerInterface, seperti CustomSessionHandler; 2) kaedah penulisan semula dalam antara muka (seperti terbuka, rapat, membaca, menulis, memusnahkan, gc) untuk menentukan kitaran hayat dan kaedah penyimpanan data sesi; 3) Daftar pemproses sesi tersuai dalam skrip PHP dan mulakan sesi. Ini membolehkan data disimpan dalam media seperti MySQL dan REDIS untuk meningkatkan prestasi, keselamatan dan skalabiliti.

SesionID adalah mekanisme yang digunakan dalam aplikasi web untuk mengesan status sesi pengguna. 1. Ia adalah rentetan yang dijana secara rawak yang digunakan untuk mengekalkan maklumat identiti pengguna semasa pelbagai interaksi antara pengguna dan pelayan. 2. Pelayan menjana dan menghantarnya kepada klien melalui kuki atau parameter URL untuk membantu mengenal pasti dan mengaitkan permintaan ini dalam pelbagai permintaan pengguna. 3. Generasi biasanya menggunakan algoritma rawak untuk memastikan keunikan dan ketidakpastian. 4. Dalam pembangunan sebenar, pangkalan data dalam memori seperti REDIS boleh digunakan untuk menyimpan data sesi untuk meningkatkan prestasi dan keselamatan.

Menguruskan sesi dalam persekitaran tanpa kerakyatan seperti API boleh dicapai dengan menggunakan JWT atau cookies. 1. JWT sesuai untuk ketiadaan dan skalabilitas, tetapi ia adalah saiz yang besar ketika datang ke data besar. 2.Cookies lebih tradisional dan mudah dilaksanakan, tetapi mereka perlu dikonfigurasikan dengan berhati -hati untuk memastikan keselamatan.

Untuk melindungi permohonan dari serangan XSS yang berkaitan dengan sesi, langkah-langkah berikut diperlukan: 1. Tetapkan bendera httponly dan selamat untuk melindungi kuki sesi. 2. Kod eksport untuk semua input pengguna. 3. Melaksanakan Dasar Keselamatan Kandungan (CSP) untuk mengehadkan sumber skrip. Melalui dasar-dasar ini, serangan XSS yang berkaitan dengan sesi dapat dilindungi dengan berkesan dan data pengguna dapat dipastikan.

Kaedah untuk mengoptimumkan prestasi sesi PHP termasuk: 1. Mula sesi kelewatan, 2. Gunakan pangkalan data untuk menyimpan sesi, 3. Data sesi kompres, 4. Mengurus kitaran hayat sesi, dan 5. Melaksanakan perkongsian sesi. Strategi ini dapat meningkatkan kecekapan aplikasi dalam persekitaran konkurensi yang tinggi.

Thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata, setInseconds.1) it'sconfiguredinphp.iniorviaini_set (). 2) abalanceisneededtoavoidperformanceissuesandunexpectedlogouts.3) php'sgarbageCollectionisprobabilistic, influedbygc_probabi

Dalam PHP, anda boleh menggunakan fungsi session_name () untuk mengkonfigurasi nama sesi. Langkah -langkah tertentu adalah seperti berikut: 1. Gunakan fungsi session_name () untuk menetapkan nama sesi, seperti session_name ("my_session"). 2. Selepas menetapkan nama sesi, hubungi session_start () untuk memulakan sesi. Mengkonfigurasi nama sesi boleh mengelakkan konflik data sesi antara pelbagai aplikasi dan meningkatkan keselamatan, tetapi memberi perhatian kepada keunikan, keselamatan, panjang dan penetapan masa sesi.


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

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma
