lnmp一键安装包
基于thinkcmf后台系统
服务器配置centos7.6 双核8G
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/ MySQL数据库所在目录:/usr/local/mysql/var/
PHP目录 : /usr/local/php/
MySQL配置目录:/etc/my.cnf
[client]
password = 密码
port = 3306
socket = /tmp/mysql.sock[mysqld]
port = 3306
socket = /tmp/mysql.sock
datadir = /data/mysql/var
skip-external-locking
key_buffer_size = 128M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
net_buffer_length = 8K
read_buffer_size = 2M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 32M
thread_cache_size = 64
query_cache_size = 64M
tmp_table_size = 64M
performance_schema_max_table_instances = 4000explicit_defaults_for_timestamp = true
#skip-networking
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535#log-bin=mysql-bin
#binlog_format=mixed
server-id = 1
expire_logs_days = 10
early-plugin-load = ""default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_data_home_dir = /data/mysql/var
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /data/mysql/var
innodb_buffer_pool_size = 512M
innodb_log_file_size = 128M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50[mysqldump]
quick
max_allowed_packet = 16M[mysql]
no-auto-rehash[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 2M
read_buffer = 2M
write_buffer = 2M[mysqlhotcopy]
interactive-timeout
参数名称 | 说明 |
---|---|
port | 表示 MySQL 服务器的端口号 |
basedir | 表示 MySQL 的安装路径 |
datadir | 表示 MySQL 数据文件的存储位置,也是数据表的存放位置 |
default-character-set | 表示服务器端默认的字符集 |
default-storage-engine | 创建数据表时,默认使用的存储引擎 |
sql-mode | 表示 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度 |
max_connections | 表示允许同时访问 MySQL 服务器的最大连接数。其中一个连接是保留的,留给管理员专用的 |
query_cache_size | 表示查询时的缓存大小,缓存中可以存储以前通过 SELECT 语句查询过的信息,再次查询时就可以直接从缓存中拿出信息,可以改善查询效率 |
table_open_cache | 表示所有进程打开表的总数 |
tmp_table_size | 表示内存中每个临时表允许的最大大小 |
thread_cache_size | 表示缓存的最大线程数 |
myisam_max_sort_file_size | 表示 MySQL 重建索引时所允许的最大临时文件的大小 |
myisam_sort_buffer_size | 表示重建索引时的缓存大小 |
key_buffer_size | 表示关键词的缓存大小 |
read_buffer_size | 表示 MyISAM 表全表扫描的缓存大小 |
read_rnd_buffer_size | 表示将排序好的数据存入该缓存中 |
sort_buffer_size | 表示用于排序的缓存大小 |
以上是 InnoDB 存储引擎使用的参数,参数说明如下:
- innodb_additional_mem_pool_size:表示附加的内存池,用来存储 InnoDB 表的内容。
- innodb_flush_log_at_trx_commit:是设置提交日志的时机,若设置为 1,InnoDB 会在每次提交后将事务日志写到磁盘上。
- innodb_log_buffer_size:表示用来存储日志数据的缓存区的大小。
- innodb_buffer_pool_size:表示缓存的大小,InnoDB 使用一个缓冲池类保存索引和原始数据。
- innodb_log_file_size:表示日志文件的大小。
- innodb_thread_concurrency:表示在 InnoDB 存储引擎允许的线程最大数。
php-fpm配置目录 /usr/local/php/etc/php-fpm.conf
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice
[www]
listen = /tmp/php-cgi.sock
listen.backlog = 16384
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 400
pm.start_servers = 200
pm.min_spare_servers = 200
pm.max_spare_servers = 400
request_terminate_timeout = 300
request_slowlog_timeout = 0
slowlog = /var/log/slow.log
pm.max_requests = 51200
rlimit_files = 51200
配置解释:
[global]:全局配置
pid:指定进程id文件
error_log:指定错误日志文件
[www]:指定pool 资源池的名字
listen:指定监听方式与Nginx配置中一致 ;IP+端口或sock文件;
user:启动进程的用户
group:启动进程的用户组
动态、静态子进程pm = static/dynamic
如果选择static,则由pm.max_children指定固定的子进程数。
如果选择dynamic,则由以下参数决定:
pm.max_children ,子进程最大数
pm.start_servers ,启动时的进程数
pm.min_spare_servers ,保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers ,保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
对于专用服务器,pm可以设置为static。
慢执行日志用来性能追踪,进行定位php脚本哪里有问题。
每一个池子可以单独写一个慢日志;日志路径可以自定义位置;
slowlog = /var/log/slow.log
request_slowlog_timeout = 0 #慢日志的超时时间;
#设置单个请求的超时中止时间. 该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行的脚本有用. 设置为 '0' 表示 'Off'.当经常出现502错误时可以尝试更改此选项。
open_basedir的格式,目录需要自定义;
php_admin_value[open_basedir]=/data/www/:/tmp/