最新CentOS+Nginx+PHP-FPM+MySQLを1分で完全インストール

15064 ワード

PHP 5.3.1

MySQL 5.0.89

Nginx 0.8.33   0.7.65 (  )

  ,            CentOS + Nginx + PHP-FPM + MySQL     

                    ,        ,         

               ,      ,    

         PHP       , PDO,eaccelerator,memcache,tidy  

      repo

# vi /etc/yum.repos.d/centos.21andy.com.repo 

      

[21Andy.com]  

name=21Andy.com Packages for Enterprise Linux 5 - $basearch  

baseurl=http://www.21andy.com/centos/5/$basearch/  

enabled=1 

gpgcheck=0 

protect=1 

   EPEL repo

i386

rpm -ihv

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

x86_64

rpm -ihv   

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

    key

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL  

  ,    

# yum install nginx php-fpm mysql-server  

   nginx     0.7.65      , yum -y install nginx  yum -y install nginx-stable    

      

yum -y update  

yum -y mysql-server  

service mysqld start  

mysqladmin -u root password root  

service mysqld stop  

yum -y 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  

# APC   eAccelerator    ,2 1  

yum -y install php-pecl-apc  

        ,    

yum -y install nginx mysql-server 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

    ,   

Dependencies Resolved 

==========================================================  

Package Arch Version Repository Size 

==========================================================  

Installing:  

mysql x86_64 5.0.89-1.el5 21Andy.com 3.5 M  

mysql-server x86_64 5.0.89-1.el5 21Andy.com 10 M  

nginx x86_64 0.8.33-3.el5 21Andy.com 422 k  

php-cli x86_64 5.3.1-2.el5 21Andy.com 2.4 M  

php-eaccelerator x86_64 2:0.9.6-1.el5 21Andy.com 118 k  

php-fpm x86_64 5.3.1-2.el5 21Andy.com 1.2 M  

php-gd x86_64 5.3.1-2.el5 21Andy.com 110 k  

php-mbstring x86_64 5.3.1-2.el5 21Andy.com 1.1 M  

php-mcrypt x86_64 5.3.1-2.el5 21Andy.com 27 k  

php-mysql x86_64 5.3.1-2.el5 21Andy.com 84 k  

php-pdo x86_64 5.3.1-2.el5 21Andy.com 91 k  

php-pear noarch 1:1.9.0-1.el5 21Andy.com 420 k  

php-pecl-memcache x86_64 2.2.5-3.el5 21Andy.com 44 k  

php-tidy x86_64 5.3.1-2.el5 21Andy.com 31 k  

php-xml x86_64 5.3.1-2.el5 21Andy.com 115 k  

php-xmlrpc x86_64 5.3.1-2.el5 21Andy.com 48 k  

Installing for dependencies:  

gmp x86_64 4.1.4-10.el5 base 201 k  

libXaw x86_64 1.0.2-8.1 base 329 k  

libXmu x86_64 1.0.2-5 base 63 k  

libXpm x86_64 3.5.5-3 base 44 k  

libedit x86_64 2.11-2.20080712cvs.el5 epel 80 k  

libmcrypt x86_64 2.5.8-4.el5.centos extras 105 k  

libtidy x86_64 0.99.0-14.20070615.el5 epel 140 k  

php-common x86_64 5.3.1-2.el5 21Andy.com 554 k  

sqlite2 x86_64 2.8.17-5.el5 21Andy.com 165 k  

t1lib x86_64 5.1.1-7.el5 epel 208 k  

Updating for dependencies:  

libevent x86_64 1.4.12-1.el5 21Andy.com 129 k  

Transaction Summary 

==========================================================  

Install 26 Package(s)  

Update 1 Package(s)  

Remove 0 Package(s  

     yum -y update   ,     

       

chkconfig --level 345 mysqld on  

chkconfig --level 345 php-fpm on  

chkconfig --level 345 nginx on  

               

http://www.21andy.com/blog/20100219/1703.html

  :          /etc    ,   nginx, php-fpm, mysql      ,       ,      nginx      

      /www   ,           

          ,        access_log     /www/logs

  :fastcgi_params       

# vim /etc/nginx/fastcgi_params

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  

# vi /etc/nginx/nginx.conf

user nobody nobody;  

 

worker_processes 8; #      CPU     ,   2 10 OK  

 

error_log  /www/logs/nginx_error.log  crit;  

 

pid        /usr/local/nginx/logs/nginx.pid;  

 

#Specifies the value for maximum file descriptors that can be opened by this process.  

worker_rlimit_nofile 51200;  

 

events {  

    use epoll;  

    worker_connections 51200;  

}  

 

http {  

    include       mime.types;  

    default_type  application/octet-stream;  

 

    #charse  gb2312; #     ,       

 

    server_names_hash_bucket_size 128;  

    client_header_buffer_size 16k;  

    large_client_header_buffers 4 16k;  

    client_max_body_size 8m;  

 

    sendfile on;  

    tcp_nopush     on;  

 

    keepalive_timeout 60;  

 

    tcp_nodelay on;  

 

    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 128k;  

 

    gzip on;  

    gzip_min_length  1k;  

    gzip_buffers     4 16k;  

    gzip_http_version 1.0;  

    gzip_comp_level 5;  

    gzip_types       text/plain text/javascript application/x-javascript text/css application/xml;  

    gzip_vary on;  

 

    #limit_zone  crawler  $binary_remote_addr  10m;  

    server {  

        listen 80;  

        server_name localhost;  

        root  /www;  

        location /status {  

            stub_status on;  

            access_log  off;  

        }  

        location / {  

            #                ,     index.php     

            try_files $uri $uri/ /index.php?q=$uri&$args;  

        }  

          

        #        server.conf       server      ,    ,  /etc/nginx/      

        include server.conf;  

 

        log_format  access  '$remote_addr - $remote_user [$time_local] "$request" ' 

             '$status $body_bytes_sent "$http_referer" ' 

             '"$http_user_agent" $http_x_forwarded_for';  

        access_log  /www/logs/access.log  access;  

    }  

 

    server {  

        listen 80;  

        server_name www.21andy.com 21andy.com *.21andy.com;  

        root  /www/21andy.com;  

        if ($host !~* 21andy.com$) {  

            return 444;  

        }  

        location / {  

            try_files $uri $uri/ /index.php?q=$uri&$args;  

        }  

        include server.conf; #

        access_log  /www/logs/21andy.com_access.log  access;  

    }  

} 

# vi /etc/nginx/server.conf

index index.html index.htm index.php;  

 

#limit_conn   crawler  20;  

 

location ~ /.ht {  

    deny all;  

}  

 

location ~ .*.(sqlite|sq3)$ {  

    deny all;  

}  

 

location ~ .*.php$ {  

    fastcgi_pass  unix:/tmp/php-cgi.sock;  

    #fastcgi_pass  127.0.0.1:9000;  

    fastcgi_index index.php;  

    include fastcgi_params;  

}  

 

location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$ {  

    expires      30d;  

    access_log   off;  

}  

 

location ~ .*.(js|css)?$ {  

    expires      30d;  

    access_log   off;  

} 

          

php-fpm         ,       ,    

location ~ .php$ {  

    root           /www;  

    fastcgi_pass   127.0.0.1:9000;  

    fastcgi_index  index.php;  

    #         /etc/nginx/fastcgi_params    

    #fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  

    include        fastcgi_params;  

} 

      php-cgi.sock   9000     ,nginx   php-fpm           

nginx          ,       php-fpm.conf      

# vi /etc/php-fpm.conf

127.0.0.1:9000

 

unix:/tmp/php-cgi.sock

    :http://www.21andy.com/blog/20100219/1701.html