开发者社区> 问答> 正文

LNMP之AMH面板502错误解决方法,及优化。真的有效,真实案例。

我目前的环境:
杭州机房
硬件:1核 512M
带宽:2M
面板:AMH 4.2  (这个面板真心做的挺好,但是在阿里云运行感觉总是502错误,lnmp通病吧。)
网站主要跑 DZ 3.1
网址:http://www.05148.cc


前言:
网站搭建也两个多月了。但是总是时不时的502错误。很郁闷。网上各种看教程,各种参数优化。好像都无效。
而且,感觉跑不动 DZ 3.1。后来怀疑硬件配置不够。但后来还是基本算搞定502错误了。感觉基本不会宕机了。
前段时间云监控基本天天都要发短信到手机上提示网站无法访问。


优化配置:


1.PHP全局配置
位置:AMH面板 - 虚拟主机 - PHP配置




2.MySQL参数使用默认配置


3.php-fpm优化(重点)
位置:/usr/local/php/etc/fpm/05148.cc.conf


”05148.cc“大家自动对应自己的服务器域名

[global]
pid = run/pid/php-fpm-05148.cc.pid
log_level = error
error_log = /home/wwwroot/05148.cc/log/php-fpm.error.log
emergency_restart_threshold = 60
emergency_restart_interval = 60s
daemonize = yes
process_control_timeout = 5s


[05148.cc]
listen = 127.0.0.1:9000
user = www
group = www
pm = dynamic
pm.max_children = 15
pm.start_servers = 8
pm.min_spare_servers = 4
pm.max_spare_servers = 10
pm.max_requests = 1000
request_terminate_timeout = 60
rlimit_files = 65535
request_slowlog_timeout = 10s
slowlog = /home/wwwroot/05148.cc/log/php-fpm.log.slow

4.Nginx优化:
位置:/usr/local/nginx/conf/vhost/05148.cc.conf


”05148.cc“大家自动对应自己的服务器域名



server
{
        listen       80;
        server_name 05148.cc www.05148.cc; #server_name end
        index portal.php index.html index.htm index.php; #index end


        set $subdomain '';
        root  /home/wwwroot/05148.cc/web$subdomain;
        include rewrite/05148.cc.conf; #rewrite end


        #error_page
        error_page 400 /ErrorPages/400.html;
        error_page 403 /ErrorPages/403.html;
        error_page 404 /ErrorPages/404.html;
        error_page 502 /ErrorPages/502.html;
        location ~ /ErrorPages/(400|401|403|404|405|502|503)\.html$
        {
                root /home/wwwroot/05148.cc/web;
        }




        location ~ .*\.php$
        {
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                include fcgi-host.conf;
                fastcgi_param DOCUMENT_ROOT  /home/wwwroot/05148.cc/web$subdomain;
                fastcgi_param SCRIPT_FILENAME  /home/wwwroot/05148.cc/web$subdomain$fastcgi_script_name;
        }


        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$
        {
                expires      30d;
        }


        location ~ .*\.(js|css)$
        {
                expires      12h;
        }


        access_log off; #access_log end
        error_log /home/wwwroot/05148.cc/log/error.log crit; #error_log end
}



5.扩展模块安装:
我建议尽量少的装扩展模块。
我装的模块有:


注意:Memcache与Memcached千万别装,下面会说明原因。(装后DZ论坛变慢容易502错误。)
优化装APC就够了。

6.论坛图片优化
先注册七牛云存储:https://portal.qiniu.com/signup?code=3ljilzntizg42  
绑定手机后每个月有10G免费空间和10G免费流量,个人站长基本够用了。
登陆后,新建一个空间,然后选择新建的空间,点空间设置。

配置空间:
一件加速网站
镜像源: http://www.xxx.com/data/attachment/ (www.xxx.com改为自己的根目录,dz论坛这样设置。)
设置好后看到 [font=arial, 'Microsoft YaHei']域名设置下面为   [font=arial, 'Microsoft YaHei']*.qiniudn.com 的域名  复制
也可使用自己绑定的域名。


论坛设置
进入DZ论坛后台,
全局 - 上传设置 - 基本设置 - 本地附件 URL 地址:(填入刚才复制的域名)
保存,这样论坛的上传图片都将走七牛云存储,这样可以加快论坛图片访问。


下面来搞定502错误:
如果你按照上面优化基本不会特别容易出502错误了。
下面教一招 绝杀
用putty连接服务器登录命令界面:
输入:amh crontab add
再输入:*/30 * * * * amh php reload
就OK了。



关于阿里云容易502错误的原因猜测:
阿里云数据是保存三份的,而且应该是热备份的。
所以在快速读写时候容易出现IO错误。(热别一些内存硬盘数据进行交换时。)
所以一些涉及到过多硬盘反复读写的操作容易IO错误。
所以Memcache与Memcached装了以后性能反而下降。
IO错误PHP就会挂掉。且MySQL性能可能存在IO瓶颈。
以上只是个人猜测。非最终结论。

展开
收起
woaj01 2014-02-23 11:19:32 20153 0
5 条回答
写回答
取消 提交回答
  • nginx 502的原因真的非常的多。。。
    2014-05-16 08:43:32
    赞同 展开评论 打赏
  • ReLNMP之AMH面板502错误解决方法,及优化。真的有效,真实案例。
            顶!
    2014-05-16 03:28:41
    赞同 展开评论 打赏
  • 回1楼服务器之家的帖子
      顶!
    2014-03-30 11:43:30
    赞同 展开评论 打赏
  • 回1楼服务器之家的帖子
    上门很多优化看你的网站文章的。
    高手多多指导哦。
    2014-02-23 11:46:18
    赞同 展开评论 打赏
  • 服务器上的优化如同中药,忌讳千人一方,网上一谈优化绝大多数 不提硬件配置不提网站程序类型不提数据库情况,直接发配置参数,这些所谓的“优化”还是不要发出来误人了。
    2014-02-23 11:26:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
《Zabbix 监控常用手册》 立即下载
MySQL 5.7优化不求人 立即下载