cari
Rumahpembangunan bahagian belakangtutorial phpMengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?

Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?

Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? ada di mana-mana dan boleh dikatakan sebagai bahasa yang paling banyak digunakan untuk aplikasi web Internet.

Walau bagaimanapun, prestasi tingginya tidak diketahui umum, terutamanya apabila ia berkaitan dengan sistem konkurensi tinggi. Itulah sebabnya untuk kes penggunaan khusus sedemikian, ia diambil alih oleh bahasa seperti Node (ya, saya tahu, ia bukan bahasa), Go dan Elixir.

Maksudnya, terdapat banyak perkara yang boleh anda lakukan untuk meningkatkan prestasi Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? pada pelayan anda. Artikel ini memfokuskan pada php-fpm, iaitu konfigurasi lalai pada pelayan jika anda menggunakan Nginx.

Jika anda tahu apa itu php-fpm, sila langkau terus ke bahagian pengoptimuman.

Apakah itu php-fpm?

Ramai pembangun tidak begitu berminat dengan pengetahuan DevOps, malah mereka yang amat sedikit yang mengetahui prinsip asasnya. Menariknya, apabila penyemak imbas menghantar permintaan kepada pelayan yang menjalankan Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?, Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? bukanlah perkhidmatan pertama untuk memproses permintaan sebaliknya, pelayan HTTP, Apache dan Nginx adalah dua yang paling penting; "Pelayan web" memutuskan cara berkomunikasi dengan Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? dan kemudian menghantar jenis permintaan, data dan maklumat pengepala kepada proses Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?.

Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?

Gambar di atas ialah kitaran hayat permintaan-tindak balas projek Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? (Sumber imej: ProinerTech)

Dalam aplikasi Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? moden, "find file Bahagian " ialah fail index.php, iaitu proksi yang dikonfigurasikan dalam fail konfigurasi pelayan untuk mengendalikan semua permintaan.

Tepatnya cara pelayan web menyambung ke Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? sedang berkembang pada masa kini, dan jika kita menyelidiki semua butiran, panjang artikel ini akan meletup. Tetapi secara kasarnya, semasa Apache menjadi pelayan web pilihan, Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? dimasukkan sebagai modul dalam pelayan.

Jadi apabila permintaan diterima, pelayan akan memulakan proses baharu, yang secara automatik akan mengandungi Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? dan melaksanakan permintaan itu. Kaedah ini dipanggil mod_php, singkatan untuk "Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? sebagai modul". Pendekatan ini mempunyai hadnya, dan Nginx dan php-fpm mengatasinya.

Dalam php-fpm, tanggungjawab untuk mengurus Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? terletak pada program Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? di dalam pelayan. Dalam erti kata lain, pelayan web (Nginx, dalam kes ini), tidak peduli di mana atau bagaimana Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? berjalan, selagi ia tahu cara menghantar dan menerima data. Jika perlu, dalam kes ini, anda boleh menganggap Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? sebagai pelayan lain yang menguruskan beberapa proses sub-Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? untuk permintaan masuk (jadi kami menghantar permintaan ke pelayan, yang diterima oleh pelayan dan dihantar ke pelayan — Sungguh gila! :- P).

Jika anda telah menggunakan Nginx, anda akan melihat kod ini:

     location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

Untuk baris ini: fastcgi_pass unix:/run/php/php7.2-fpm.sock;, ia memberitahu Nginx untuk lulus php7.2-fpm.sock dengan socket Komunikasi proses Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?. Jadi, untuk setiap permintaan yang masuk, Nginx menulis data melalui fail ini dan selepas menerima output, menghantarnya kembali ke penyemak imbas.

Saya mesti menegaskan sekali lagi bahawa ini bukanlah yang paling lengkap atau tepat tentang cara menjalankannya, tetapi ia benar-benar tepat untuk kebanyakan tugas DevOps.

Dengan itu, mari semak semula perkara yang telah kami pelajari setakat ini:

  • Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? tidak menerima permintaan yang dihantar secara langsung oleh penyemak imbas. Pelayan web seperti Nginx memintasnya terlebih dahulu.
  • Pelayan web tahu cara menyambung ke proses Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? dan menghantar semua data permintaan (tampal semua) ke Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?.
  • Setelah Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? menyelesaikan tugasnya, ia menghantar respons kembali ke pelayan web, yang kemudian menghantarnya kembali kepada klien (dalam kebanyakan kes, penyemak imbas).

Carta alir adalah seperti berikut:

Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?

Bagaimanakah Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? dan Nginx berfungsi bersama? (Sumber imej: Data Dog)

Setakat ini begitu baik, maka persoalan utamanya ialah: apakah sebenarnya Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?-FPM?

FPM dalam Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? bermaksud "Pengurusan Proses Pantas" Penjelasan yang menarik ialah Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? yang berjalan pada pelayan bukanlah satu proses, tetapi beberapa proses Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? yang dihasilkan, dikawal dan ditamatkan oleh pengurus proses FPM ini. Pengurus proses inilah yang pelayan web menghantar permintaan kepada.

Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?-FPM ialah lubang arnab secara keseluruhannya, jadi jangan ragu untuk menerokainya jika anda mahu, tetapi untuk tujuan kami, penjelasan ini sudah memadai. ?

Mengapa kita perlu mengoptimumkan php-fpm?

Secara amnya, dalam keadaan operasi biasa, mengapa kita perlu mempertimbangkan pengoptimuman? Kenapa tidak biarkan perkara seperti sedia ada.

Ironinya, saya biasanya memberikan kata-kata nasihat untuk kebanyakan kes penggunaan. Jika persediaan anda berfungsi dengan baik dan anda tidak mempunyai kes penggunaan khas, gunakan tetapan lalai. Walau bagaimanapun, jika anda ingin mengembangkan lebih daripada satu mesin, memerah kuasa pemprosesan yang paling banyak daripada satu mesin adalah penting, kerana ia boleh mengurangkan perbelanjaan pelayan anda kepada separuh (atau lebih!).

要说明的另一件事情是,Nginx是为处理巨大的工作负载而构建的。 它能够同时处理成千上万的连接,但是如果您的Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?设置不合理,那么您将浪费很多资源,因为Nginx必须等待Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?完成当前处理之后才可以接受下一个请求,最终Nginx不能为您的服务提供任何优势!

所以,接下来让我们看看尝试优化 php-fpm 时我们到底要优化什么。

如何优化 Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?-FPM ?

php-fpm 的配置文件在不同服务器上的位置可能不同,因此您需要做一些调查来确定它的位置。在 UNIX 上,你可以使用 find 命令。在我的 Ubuntu 上,它的路径是 /etc/php/7.2/fpm/php-fpm.conf 。当然,7.2是我正在运行的 Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? 版本。

下面是这个文件的前几行代码:

;;;;;;;;;;;;;;;;;;;;;
; FPM Configuration ;
;;;;;;;;;;;;;;;;;;;;;

; All relative paths in this configuration file are relative to Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?'s install
; prefix (/usr). This prefix can be dynamically changed by using the
; '-p' argument from the command line.

;;;;;;;;;;;;;;;;;;
; Global Options ;
;;;;;;;;;;;;;;;;;;

[global]
; Pid file
; Note: the default prefix is /var
; Default Value: none
pid = /run/php/php7.2-fpm.pid

; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; into a local file.
; Note: the default prefix is /var
; Default Value: log/php-fpm.log
error_log = /var/log/php7.2-fpm.log

很明显:这一行 pid = /run/php/php7.2-fpm.pid 告诉我们哪个文件包含了 php-fpm 进程的进程 id。

我们还看到 /var/log/php7.2-fpm.logphp-fpm 存储日志的地方。

在这个文件中,像下面这样添加三个变量:

emergency_restart_threshold 10
emergency_restart_interval 1m
process_control_timeout 10s

前两个设置是警告性的,它们告诉 php-fpm 进程,如果10个子进程在一分钟内失败,主 php-fpm 进程应该重新启动自己。

这听起来可能不够稳健,但是 Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? 是一个短暂的进程,它会泄漏内存,所以在出现高故障时重新启动主进程可以解决很多问题。

第三个选项是 process_control_timeout,它告诉子进程在执行从父进程接收到的信号之前需要等待这么长的时间。这个设置是非常有用的。例如,当父进程发送终止信号时,子进程正在处理某些事情的时候。十秒的时间,他们会有一个更好的机会完成任务并且优雅地退出。

令人惊讶的是,这 不是 php-fpm 的核心配置!这是因为,为了 web 请求服务,php-fpm 创建了一个新的进程池,它将具有一个单独的配置。在我的例子中,进程池的名称是 www,我想编辑的文件是 /etc/php/7.2/fpm/pool.d/www.conf

让我们来看看文件的内容:

; Start a new pool named 'www'.
; the variable $pool can be used in any directive and will be replaced by the
; pool name ('www' here)
[www]

; Per pool prefix
; It only applies on the following directives:
; - 'access.log'
; - 'slowlog'
; - 'listen' (unixsocket)
; - 'chroot'
; - 'chdir'
; - 'php_values'
; - 'php_admin_values'
; When not set, the global prefix (or /usr) applies instead.
; Note: This directive can also be relative to the global prefix.
; Default Value: none
;prefix = /path/to/pools/$pool

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www-data
group = www-data

快速浏览一下上面代码片段的末尾,您就会明白为什么服务器进程以 www-data 的形式运行了。如果您在设置网站时遇到文件权限问题,您可能要将目录的所有者或组更改为 www-data,从而允许Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?进程写入日志文件和上传文档等。

最后,我们到达了问题的根源,流程管理器 (pm) 设置。一般情况下,默认值是这样的:

pm = dynamic
pm.max_children = 5
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 200

那么,这里的 「dynamic(动态)」是什么意思呢?我认为官方文档最好地解释了这一点(我的意思是,这应该已经是您正在编辑的文件的一部分,但是我在这里复制了它,以防它不是):

; Choose how the process manager will control the number of child processes.
; Possible Values:
;   static  - a fixed number (pm.max_children) of child processes;
;   dynamic - the number of child processes are set dynamically based on the
;             following directives. With this process management, there will be
;             always at least 1 children.
;             pm.max_children      - the maximum number of children that can
;                                    be alive at the same time.
;             pm.start_servers     - the number of children created on startup.
;             pm.min_spare_servers - the minimum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is less than this
;                                    number then some children will be created.
;             pm.max_spare_servers - the maximum number of children in 'idle'
;                                    state (waiting to process). If the number
;                                    of 'idle' processes is greater than this
;                                    number then some children will be killed.
;  ondemand - no children are created at startup. Children will be forked when
;             new requests will connect. The following parameter are used:
;             pm.max_children           - the maximum number of children that
;                                         can be alive at the same time.
;             pm.process_idle_timeout   - The number of seconds after which
;                                         an idle process will be killed.
; Note: This value is mandatory.

由此可见,有三个可用值:

  • Static: 无论什么情况,都会保持一个固定的Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?进程数量。
  • Dynamic: 我们需要指定php-fpm在任何给定时间点会保持活动的最小以及最大进程数量。
  • ondemand: 按照需求创建和销毁进程。

那这些设置有什么影响呢?

简而言之,如果你有个小流量的网站,“dynamic”设置在大多数时间内都是一种资源的浪费。假设你的pm.min_spare_servers设置成了3,那会有三个Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?进程会被创建并保持运行,甚至是网站没有流量时。这种情况下,“ondemand” 就是个更好的选择, 可以让系统决定何时启动新的进程。

另一方面, 大流量 或者必须快速响应的网站将在这种情况下被惩罚。 最好避免创建新的 Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? 进程的额外开销,使其成为池的一部分并对其进行监控。

使用 pm = static 固定子进程的数量,使最大的系统资源用于服务请求而不是管理 Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?。假如你确定走这条路,注意它有其指导方针和陷阱.关于它的一篇相当密集但非常有用的文章是 这篇 。

写在最后

由于有关网络性能的文章可能会引发争论或使人们感到困惑,因此在结束本文之前,我觉得需要讲几句话。 性能调优既涉及系统知识,也涉及猜测和技巧。

即使您完全了解 php-fpm 的所有设置,也无法保证成功。 如果您不了解 php-fpm 的存在,那么您就不必浪费时间担心它。 继续做您已经在做的事情并继续下去。

Pada masa yang sama, cuba untuk tidak membuat keputusan sedramatik mungkin. Ya, anda boleh mendapatkan prestasi yang lebih baik dengan menyusun semula Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan? dari awal dan mengalih keluar semua modul yang tidak diperlukan, tetapi pendekatan ini tidak cukup masuk akal dalam persekitaran pengeluaran. Keseluruhan idea untuk mengoptimumkan sesuatu adalah untuk melihat sama ada keperluan anda berbeza daripada lalai (jarang sekali!) dan buat perubahan yang lebih kecil jika perlu.

Alamat asal bahasa Inggeris: https://geekflare.com/php-fpm-optimization/

Pembelajaran yang disyorkan: "Tutorial Video Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?"

Atas ialah kandungan terperinci Mengapa anda perlu mengoptimumkan php-fpm? Bagaimana untuk mengoptimumkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:learnku. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
PHP dan Python: Paradigma yang berbeza dijelaskanPHP dan Python: Paradigma yang berbeza dijelaskanApr 18, 2025 am 12:26 AM

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.

PHP dan Python: menyelam mendalam ke dalam sejarah merekaPHP dan Python: menyelam mendalam ke dalam sejarah merekaApr 18, 2025 am 12:25 AM

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Memilih antara php dan python: panduanMemilih antara php dan python: panduanApr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP dan Rangka Kerja: Memodenkan bahasaPHP dan Rangka Kerja: Memodenkan bahasaApr 18, 2025 am 12:14 AM

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Impak PHP: Pembangunan Web dan seterusnyaImpak PHP: Pembangunan Web dan seterusnyaApr 18, 2025 am 12:10 AM

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Apr 17, 2025 am 12:25 AM

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Apr 17, 2025 am 12:24 AM

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP vs Python: Gunakan Kes dan AplikasiPHP vs Python: Gunakan Kes dan AplikasiApr 17, 2025 am 12:23 AM

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

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.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma