首页 > Web > nginx > 正文

如何在CentOS 6上通过YUM安装Nginx和PHP-FPM
2014-03-10 14:39:32 点击:

原文地址:http://www.lifelinux.com/how-to-install-nginx-and-php-fpm-on-centos-6-via-yum/开始安装Nginx和PHP-FPM之前,你必须卸载系统...

原文地址:http://www.lifelinux.com/how-to-install-nginx-and-php-fpm-on-centos-6-via-yum/

 

开始安装Nginx和PHP-FPM之前,你必须卸载系统中以前安装的Apache和PHP。用root登录输入下面的命令:

# yum remove httpd* php*

增加额外资源库

    默认情况下,CentOS的官方资源是没有php-fpm的, 但我们可以从Remi的RPM资源中获得,它依赖于EPEL资源。我们可以这样增加两个资源库:

 

# yum install yum-priorities -y
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

输出样例

 

Retrieving http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
warning: /var/tmp/rpm-tmp.00kiDx: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...########################################### [100%]
1:epel-release ########################################### [100%]

安装Nginx

输入下列命令

 

# yum install nginx
输出样例

 

Dependencies Resolved

================================================================================
 Package                  Arch      Version                    Repository  Size
================================================================================
Installing:
 nginx                    x86_64    0.8.54-1.el6               epel       358 k
Installing for dependencies:
 GeoIP                    x86_64    1.4.8-1.el6                epel       620 k
 fontconfig               x86_64    2.8.0-3.el6                base       186 k
 freetype                 x86_64    2.3.11-6.el6_1.8           updates    358 k
 gd                       x86_64    2.0.35-10.el6              base       142 k
 libX11                   x86_64    1.3-2.el6                  base       582 k
 libX11-common            noarch    1.3-2.el6                  base       188 k
 libXau                   x86_64    1.0.5-1.el6                base        22 k
 libXpm                   x86_64    3.5.8-2.el6                base        59 k
 libjpeg                  x86_64    6b-46.el6                  base       134 k
 libpng                   x86_64    2:1.2.46-1.el6_1           base       180 k
 libxcb                   x86_64    1.5-1.el6                  base       100 k
 libxslt                  x86_64    1.1.26-2.el6               base       450 k
 perl                     x86_64    4:5.10.1-119.el6_1.1       base        10 M
 perl-Module-Pluggable    x86_64    1:3.90-119.el6_1.1         base        37 k
 perl-Pod-Escapes         x86_64    1:1.04-119.el6_1.1         base        30 k
 perl-Pod-Simple          x86_64    1:3.13-119.el6_1.1         base       209 k
 perl-libs                x86_64    4:5.10.1-119.el6_1.1       base       575 k
 perl-version             x86_64    3:0.77-119.el6_1.1         base        49 k

Transaction Summary
================================================================================
Install      19 Package(s)
Upgrade       0 Package(s)

Total download size: 14 M
Installed size: 47 M
Is this ok [y/N]: y

如果你想在系统启动时自动运行nginx,输入下列命令:

 

# chkconfig --level 345 nginx on

第一次启动nginx,输入下列命令:

 

# /etc/init.d/nginx start

输出样例

 

Starting nginx:                                            [  OK  ]

安装PHP-FPM

输入下列命令:

 

# yum --enablerepo=remi install php php-fpm

输出样例

 

Dependencies Resolved

====================================================================================
 Package            Arch        Version                          Repository    Size
====================================================================================
Installing:
 php                x86_64      5.3.10-2.el6.remi                remi         2.3 M
 php-fpm            x86_64      5.3.10-2.el6.remi                remi         1.1 M
Installing for dependencies:
 apr                x86_64      1.3.9-3.el6_1.2                  base         123 k
 apr-util           x86_64      1.3.9-3.el6_0.1                  base          87 k
 apr-util-ldap      x86_64      1.3.9-3.el6_0.1                  base          15 k
 httpd              x86_64      2.2.15-15.el6.centos.1           updates      813 k
 httpd-tools        x86_64      2.2.15-15.el6.centos.1           updates       70 k
 libedit            x86_64      2.11-4.20080712cvs.1.el6         base          74 k
 mailcap            noarch      2.1.31-2.el6                     base          27 k
 php-cli            x86_64      5.3.10-2.el6.remi                remi         2.2 M

Transaction Summary
====================================================================================
Install      10 Package(s)
Upgrade       0 Package(s)

Total download size: 6.8 M
Installed size: 21 M
Is this ok [y/N]: y

如果你想在系统启动时自动运行php-fpm,输入下列命令:

 

# chkconfig --level 345 php-fpm on

PHP仅安装了核心模块,你很可能需要安装其他的模块,比如MySQL、 XML、 GD等等,你可以输入下列命令:

 

# yum --enablerepo=remi install php-gd php-mysql php-mbstring php-xml php-mcrypt

第一次启动php-fpm,输入下列命令:

 

# /etc/init.d/php-fpm restart

输出样例

 

Starting php-fpm:                                          [ OK ]

配置PHP-FPM和Nginx,让他们一起工作

nginx的配置文件在/etc/nginx/nginx.conf,输入下列命令编辑这个文件:
# vi /etc/nginx/nginx.conf

像下面这样编辑取消注释:
        ...
	location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm index.php;
        }
        ...
	location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        ...

重启Nginx会重新读取配置文件,输入
# /etc/init.d/nginx reload

现在在document root目录下建立下列PHP文件

# vi /usr/share/nginx/html/info.php

文件内容如下:

 

<?php
phpinfo();
?>

访问 http://YOUR-SERVER-IP

Nginx虚拟主机设置

设置例子

IP: 192.168.1.113
Domain: domain.local
Hosted at: /home/www/domain.local

输入下列命令新建名叫“www”的用户

 

# useradd www
创建必要的目录

 

# mkdir -p /home/www/domain.local/public_html
# mkdir -p /home/www/domain.local/log
# chown -R www.www /home/www/
# chmod 755 /home/www/

创建虚拟主机配置文件

 

# cd /etc/nginx/conf.d/
# cp virtual.conf www.conf

输入下面命令打开www.conf文件

 

# vi /etc/nginx/conf.d/www.conf

增加以下配置

 

server {
        server_name  domain.local;
        root /home/www/domain.local/public_html;
        access_log /home/www/domain.local/log/domain.local-access.log;
        error_log /home/www/domain.local/log/domain.local-error.log;

        location / {
                index  index.html index.htm index.php;
        }
        location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

你可以用下列方法检查配置文件是否有语法错误

 

# /etc/init.d/nginx configtest

输出样例

 

the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful

现在编辑/etc/php-fpm.d/www.conf文件,将运行php-fpm进程的用户改为“www”,输入

 

# vi /etc/php-fpm.d/www.conf
找到“group of processes”,编辑成下面的样子:

 

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = www
; RPM: Keep a group allowed to write in log dir.
group = www

最后重启nginx

 

# /etc/init.d/nginx restart
# /etc/init.d/php-fpm restart


相关热词搜索:

上一篇:centos中yum安装nginx
下一篇:Nginx配置性能优化的方法