在Debian系统中,使用LNMP(Linux, Nginx, MySQL, PHP)堆栈时,可以通过以下方法对各个组件进行资源限制:
Nginx资源限制:
/etc/nginx/nginx.conf。http块中,可以使用worker_processes和worker_connections指令来限制Nginx的资源使用。例如:http {
worker_processes auto;
events {
worker_connections 1024;
}
}
server块中设置limit_conn和limit_req指令。MySQL资源限制:
/etc/mysql/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf。[mysqld]部分,可以使用以下设置来限制资源使用:[mysqld]
max_connections = 100
key_buffer_size = 128M
table_open_cache = 64
sort_buffer_size = 4M
[mysqld]部分添加max_user_connections设置。PHP资源限制:
/etc/php/版本号/fpm/pool.d/www.conf。www.conf文件中,可以使用以下设置来限制资源使用:php_admin_value[max_execution_time] = 30
php_admin_value[memory_limit] = 128M
php_admin_value[file_uploads] = 1
php_admin_value[upload_max_filesize] = 2M
php_admin_value[post_max_size] = 8M
location块中设置fastcgi_param指令。使用cgroups进行资源限制:
sudo apt-get install cgroup-tools。sudo cgcreate -g memory:/mygroup。sudo cgset -r memory.limit_in_bytes=1G mygroup。sudo cgclassify -g memory:mygroup <PID>。通过以上方法,您可以根据实际需求对Debian LNMP堆栈中的各个组件进行资源限制。