在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堆栈中的各个组件进行资源限制。