Board logo

标题: 请问独立服务器php,mysql ,nginx 配置文件什么参数可以优化调整 [打印本页]

作者: 垃圾熊    时间: 2012-11-23 13:53     标题: 请问独立服务器php,mysql ,nginx 配置文件什么参数可以优化调整

之前听军歌说现在lnmp一键包配置基本是vps可以使用的,请问独立服务器php,mysql ,nginx 配置文件什么参数可以呢
麻烦大哥大姐回答一下,谢谢。
作者: licess    时间: 2012-11-23 18:24

修改/usr/local/php/etc/php-fpm.conf php 5.2调整:max_children的值
php 5.3以上版本调整:pm.min_spare_servers和pm.max_spare_servers的值适当增加
最大值可以按内存xxMB/2/20 的整数来算,最小值可以按内存/2/40 的整数来算,可以少点或多大,可以自己调整运行看看。
************************************

MySQL参数优化可以自己适当调整/etc/my.cnf 里的参数
key_buffer_size
table_open_cache
sort_buffer_size
read_buffer_size
myisam_sort_buffer_size
thread_cache_size
query_cache_size
tmp_table_size
innodb_buffer_pool_size
innodb_log_file_size
performance_schema_max_table_instances
等,可以参考:https://github.com/licess/lnmp/blob/master/include/mysql.sh#L84 里面的内存设置

***********************************
nginx可以调整 /usr/local/nginx/conf/nginx.conf 的worker_processes
Nginx作者说的:
一般一个进程足够了,你可以把连接数设得很大。如果有SSL、gzip这些比较消耗CPU的工作,而且是多核CPU的话,可以设为和CPU的数量一样。或者要处理很多很多的小文件,而且文件总大小比内存大很多的时候,也可以把进程数增加,以充分利用IO带宽(主要似乎是IO操作有block)。

现在大部分版本上也可以设置为:worker_processes auto; 自动调整

*****************************************
所有调整均需要重启对应的程序使其生效。
建议改配置前备份一下配置文件,以便出错时恢复或查找错误。
作者: 垃圾熊    时间: 2012-11-23 18:38

谢谢军哥!!!!!!!!!!

[ 本帖最后由 垃圾熊 于 2012-12-10 12:05 编辑 ]
作者: anneyliu    时间: 2012-11-23 23:49

正好用到,学习了! 收藏下!
作者: netcat    时间: 2012-12-17 16:12

我的服务器是8核,内存8GB,操作系统CentOS5.5。max_children设为10能正常工作,若设为100时,nginx和mysql还可以,但oracle10g工作不到2小时就挂了,是为什么?
作者: licess    时间: 2012-12-17 17:36     标题: 回复 5# 的帖子

这个不大清楚,oracle没用过
作者: wenhuxiu    时间: 2013-7-13 12:40

军哥 我装的是1.0版啊 在/usr/local/mysql/share/mysql/没找到!能详细点吗!
作者: licess    时间: 2013-7-13 13:19     标题: 回复 7# 的帖子

mysql 5.5以上已经没这个目录了,在 lnmp1.0-full/mysql-5.5.28/support-files/  下面
作者: wenhuxiu    时间: 2013-7-13 13:52

也是将lnmp1.0-full/mysql-5.5.28/support-files/my-innodb-heavy-4G.cnf复制到/etc/my.cnf  ?
作者: wenhuxiu    时间: 2013-7-13 14:01

Stoping LNMP...
Stopping nginx daemon: nginx.
Gracefully shutting down php-fpm . done
MySQL server PID file could not be found!                  [FAILED]
Starting LNMP...
Starting nginx daemon: nginx.
Starting php-fpm  done
Starting MySQL.The server quit without updating PID file (/usr/local/mysql/data/server660.pid).                                            [FAILED]
[root@server660 etc]#


提示这样 重启!
作者: licess    时间: 2013-7-13 21:59

需要按置顶帖反馈mysql日志
作者: xptong    时间: 2015-6-24 18:10

学习了,留一个记号。
作者: liyucmh    时间: 2015-8-11 09:15

引用:
原帖由 licess 于 2012-11-23 18:24 发表
修改/usr/local/php/etc/php-fpm.conf php 5.2调整:max_children的值
php 5.3以上版本调整:pm.min_spare_servers和pm.max_spare_servers的值适当增加
最大值可以按内存xxMB/2/20 的整数来算,最小值可以按内存/2/40 的整 ...
军哥, 1.1版本的lnmp 有没有my-innodb-heavy-4G.cnf  这个文件呢, 你说的文件夹找了没有
还有这个好像是对应4G内存的, 如果是16G的要如何设置
作者: dyunok    时间: 2015-8-20 10:40     标题: mysql5.6版本装好后,无my-innodb-heavy-4G.cnf

php5.4+mysql5.6
/usr/local/mysql/support-files
/root/lnmp1.2-full
下面都没有这个大文件配置文件

我的服务器情况是8G四核,跑innodb和myisam,
请问下军哥,该从哪里寻找my.cnf优化配置文件
谢谢
作者: licess    时间: 2015-8-20 13:12     标题: 回复 14# 的帖子

mysql 5.6以及将该类文件移除,可以使用5.5的,见附件
作者: dyunok    时间: 2015-8-20 14:51

谢谢军哥,用上了,军哥很敬业呵,向你学习!致敬!
作者: Wention    时间: 2016-2-25 21:59

MYSQL是5.5.42 我是lnmp1.2的,为何我替换了etc下的my.cnf文件不行的?如果用默认my.cnf,动态文件就很卡或者502错误,如果替换为my-huge的话,后台可以打开,但是出现No such file or directory。我的机器是linode 1G的RAM 1CPU

[ 本帖最后由 Wention 于 2016-2-25 22:09 编辑 ]
作者: licess    时间: 2016-2-26 10:34     标题: 回复 17# 的帖子

什么地方报No such file or directory?
mysql日志有什么信息?
502时php-fpm和慢日志有什么信息?
反馈问题要尽可能提供多的信息
作者: Wention    时间: 2016-2-26 13:22     标题: 回复 18# 的帖子

No such file or directory是动态页面或者后台会出现,php-fpm重启了就不会卡,但是过会儿就卡成渣我是用飞飞CMS我试了下,如果把my.cnf替换了,可以打开播放页,但是搜索和后台会出现No such file or directory

[ 本帖最后由 Wention 于 2016-2-27 13:14 编辑 ]
作者: Wention    时间: 2016-2-27 11:14

始终502好蛋疼啊~!不知道怎么解决,哎
作者: qiqiy_rui    时间: 2017-3-14 10:45     标题: 同时在线如达到几百个人,一会网站就挂掉,显示no such file or directory

军哥,你的忠实粉丝,默默支持了你好几年~~, 这几天网站只要达到同时几百人在线,就挂掉,出现no such file or directory,应该是mysql死掉了,差看mysql, 得到如下mysql垂死挣扎的过程:

170313 21:40:11 [Note] Event Scheduler: Loaded 0 events
170313 21:40:11 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.5.48-log'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
170313 23:24:56 mysqld_safe Number of processes running now: 0
170313 23:24:56 mysqld_safe mysqld restarted
170313 23:24:56 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.5.48-log) starting as process 18163 ...
170313 23:24:56 [Note] Plugin 'FEDERATED' is disabled.
170313 23:24:56 InnoDB: The InnoDB memory heap is disabled
170313 23:24:56 InnoDB: Mutexes and rw_locks use GCC atomic builtins
170313 23:24:56 InnoDB: Compressed tables use zlib 1.2.3
170313 23:24:56 InnoDB: Initializing buffer pool, size = 128.0M
170313 23:24:56 InnoDB: Completed initialization of buffer pool
170313 23:24:56 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 1589182633
170313 23:24:56  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 1589183080
170313 23:24:56  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 5299928, file name ./mysql-bin.000018
170313 23:24:57  InnoDB: Waiting for the background threads to start
170313 23:24:58 InnoDB: 5.5.48 started; log sequence number 1589183080
170313 23:24:58 [Note] Recovering after a crash using mysql-bin
170313 23:24:58 [Note] Starting crash recovery...
170313 23:24:58 [Note] Crash recovery finished.
170313 23:24:58 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
170313 23:24:58 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
170313 23:24:58 [Note] Server socket created on IP: '0.0.0.0'.
170313 23:24:58 [Note] Event Scheduler: Loaded 0 events
170313 23:24:58 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.5.48-log'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
170313 23:56:21 mysqld_safe Number of processes running now: 0
170313 23:56:21 mysqld_safe mysqld restarted
170313 23:56:21 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.5.48-log) starting as process 18532 ...
170313 23:56:21 [Note] Plugin 'FEDERATED' is disabled.
170313 23:56:21 InnoDB: The InnoDB memory heap is disabled
170313 23:56:21 InnoDB: Mutexes and rw_locks use GCC atomic builtins
170313 23:56:21 InnoDB: Compressed tables use zlib 1.2.3
170313 23:56:21 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
170313 23:56:21 InnoDB: Completed initialization of buffer pool
170313 23:56:21 InnoDB: Fatal error: cannot allocate memory for the buffer pool
170313 23:56:21 [ERROR] Plugin 'InnoDB' init function returned error.
170313 23:56:21 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
170313 23:56:21 [ERROR] Unknown/unsupported storage engine: InnoDB
170313 23:56:21 [ERROR] Aborting

170313 23:56:21 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

170313 23:56:21 mysqld_safe mysqld from pid file /usr/local/mysql/var/li1206-174.pid ended


用的是 Linode 4096系列主机,想问一下是主机不行还是需要更改mysql的什么配置文件? 如下是php-fpm 设置

[www]
listen = /tmp/php-cgi.sock
listen.backlog = -1
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 = 50
pm.start_servers = 30
pm.min_spare_servers = 20
pm.max_spare_servers = 50
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log


恳请军哥看到了回复下...
作者: licess    时间: 2017-3-14 15:55     标题: 回复 21# 的帖子

只按这个日志看是内存不够用了,需要调小innodb_buffer_pool_size的值,调小再看看
作者: qiqiy_rui    时间: 2017-3-14 17:58     标题: 回复 22# 的帖子

谢谢军哥回复,我先改改试试~
作者: qiqiy_rui    时间: 2017-5-14 12:21

军哥,修改后再也没有出现网站崩溃的情况了,太感谢了




欢迎光临 VPS侦探论坛 (http://bbs.vpser.net/) Powered by Discuz! 6.0.0