centos6.5 安装nginx
原文地址:http://www.lifelinux.com/how-to-install-nginx-and-php-fpm-on-centos-6-via-yum/开始安装Nginx和PHP-FPM之前,你必须卸载系统中以前安装的Apache和PHP。用root登录输入下面的命令:
view plaincopy
[*]# yum remove httpd* php*
增加额外资源库
默认情况下,CentOS的官方资源是没有php-fpm的, 但我们可以从Remi的RPM资源中获得,它依赖于EPEL资源。我们可以这样增加两个资源库:
view plaincopy
[*]# 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
注:http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm 该源提示错误请用下面的源进行下载安装 =>http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
输出样例
view plaincopy
[*]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...###########################################
[*]1:epel-release ###########################################
安装Nginx
输入下列命令
view plaincopy
[*]# yum install nginx
输出样例
view plaincopy
[*]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
如果你想在系统启动时自动运行nginx,输入下列命令:
view plaincopy
[*]# chkconfig --level 345 nginx on
第一次启动nginx,输入下列命令:
view plaincopy
[*]# /etc/init.d/nginx start
输出样例
view plaincopy
[*]Starting nginx: [ OK ]
安装PHP-FPM
输入下列命令:
view plaincopy
[*]# yum --enablerepo=remi install php php-fpm
输出样例
view plaincopy
[*]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
如果你想在系统启动时自动运行php-fpm,输入下列命令:
view plaincopy
[*]# chkconfig --level 345 php-fpm on
PHP仅安装了核心模块,你很可能需要安装其他的模块,比如MySQL、 XML、 GD等等,你可以输入下列命令:
view plaincopy
[*]# yum --enablerepo=remi install php-gd php-mysql php-mbstring php-xml php-mcrypt
第一次启动php-fpm,输入下列命令:
view plaincopy
[*]# /etc/init.d/php-fpm restart
输出样例
view plaincopy
[*]Starting php-fpm: [ OK ]
配置PHP-FPM和Nginx,让他们一起工作
nginx的配置文件在/etc/nginx/nginx.conf,输入下列命令编辑这个文件:
view plaincopy
[*]# vi /etc/nginx/nginx.conf
像下面这样编辑取消注释:
view plaincopy
[*] ...
[*]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会重新读取配置文件,输入
view plaincopy
[*]# /etc/init.d/nginx reload
现在在document root目录下建立下列PHP文件
view plaincopy
[*]# vi /usr/share/nginx/html/info.php
文件内容如下:
view plaincopy
[*]<?php
[*]phpinfo();
[*]?>
访问 http://YOUR-SERVER-IP
Nginx虚拟主机设置
设置例子
IP: 192.168.1.113
Domain: domain.local
Hosted at: /home/www/domain.local
输入下列命令新建名叫“www”的用户
view plaincopy
[*]# useradd www
创建必要的目录
view plaincopy
[*]# 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/
创建虚拟主机配置文件
view plaincopy
[*]# cd /etc/nginx/conf.d/
[*]# cp virtual.conf www.conf
输入下面命令打开www.conf文件
view plaincopy
[*]# vi /etc/nginx/conf.d/www.conf
增加以下配置
view plaincopy
[*]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;
[*] }
[*]}
你可以用下列方法检查配置文件是否有语法错误
view plaincopy
[*]# /etc/init.d/nginx configtest
输出样例
view plaincopy
[*]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”,输入
view plaincopy
[*]# vi /etc/php-fpm.d/www.conf
找到“group of processes”,编辑成下面的样子:
view plaincopy
[*]; 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
view plaincopy
[*]# /etc/init.d/nginx restart
[*]# /etc/init.d/php-fpm restart
页:
[1]