IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Centos yum 安装nginx+PHP-FPM+eAccelerator+mysql

LinuxByte 2011-03-22 23:45:59 累计浏览 6,521 次
本机暂存

    记录下我在linodeVPS 的Centos下安装配置nginx+PHP-FPM+eAccelerator+mysql的过程。

    添加安装源

     Centos 默认官方源中没有nginx 和 php-fpm 所以必须添加第三方源,不然就只能自己编译了。

     添加[CentALT]源

     在/etc/yum.repo.d 目下创建 alt.ru.repo 文件内容如下:

[CentALT]
name=CentALT Packages for Enterprise Linux 5 - $basearch
baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
enabled=1
gpgcheck=0

    启用 EPEL

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

    32系统的用下面命令

rpm -Uvhhttp://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

    安装 nginx +PHP-FPM +eAccelerator +mysql

yum update
 yum install nginx php-fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd 
php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator

    配置优化Nginx

     修改 /etc/nginx/nginx.conf,下面只列出修改的部分。

#根据CPU 核心processes,VPS下几个核心几个processes,独立服务器可x2
worker_processes  4;
 
#启用epoll
worker_rlimit_nofile 51200;
events {
    worker_connections  51200;
    use epoll;
}
#参数调整
    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    server_tokens   off;
    keepalive_timeout  50;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 50m;
#fastcgi优化
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 256k;
 
#开启gzip并优化
    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml;
    gzip_vary on;

    php-fpm 调整

     修改/etc/php-fpm.conf 将max_children 调为20

20

    mysql 调整

     修改/etc/my.conf [mysqld] 段加入如下指令

skip-network
skip-innodb
skip-locking
skip-bdb
 
key_buffer              = 16K
max_allowed_packet      = 3M
thread_stack            = 64K
thread_cache_size       = 8
table_cache             = 3
query_cache_limit       = 1M
query_cache_size        = 16M

    系统内核调整

     在/etc/sysctl.conf 加入

net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 5000    65000
net.ipv4.tcp_max_tw_buckets = 6000
echo “ulimit -SHn 65535” >> /etc/rc.local
styctl -p

    开启服务并设置系统启动默认启动

ulimit -SHn 65535
/etc/init.d/nginx  start
/etc/init.d/php-fpm start
/etc/init.d/mysqld start
chkconfig nginx on
chkconfig php-fpm on
chkconfig mysqld on

同分类推荐文章

  1. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)
  2. WARNING: detected duplicate paths to the same disk导致crs无法正常启动故障解决 (2026-05-24 22:24:49)
  3. Terraform 极简入门:从 AWS-CLI 到基础设施即代码(IaC) (2026-05-20 08:00:00)

查看更多 DevOps 文章 →

建议继续学习

  1. 用Hyer来进行网站的抓取 (累计阅读 158,167)
  2. 配置Nginx+uwsgi更方便地部署python应用 (累计阅读 106,986)
  3. MySQL数据库在实际应用一些方面的介绍 (累计阅读 36,327)
  4. 搜狐闪电邮箱的 Nginx/Postfix 使用模式 (累计阅读 33,824)
  5. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,085)
  6. Mysql监控指南 (累计阅读 21,218)
  7. 记录一个软中断问题 (累计阅读 16,890)
  8. 解析nginx负载均衡 (累计阅读 16,511)
  9. 由浅入深探究mysql索引结构原理、性能分析与优化 (累计阅读 16,192)
  10. 在Apache2.2.XX下安装Mod-myvhost模块 (累计阅读 12,983)