/ 中存储网

CentOS 6.4系统中安装Nginx、PHP-fpm、drupal

2014-02-25 08:38:01 来源:中存储网

一切本着从简原则来做,能yum/rpm的,坚决不手工编译 

本次部署环境基于CentOS 6.3 x86_64系统。

0. 准备工作

#更新yum

[[email protected] ~]# yum -y update

[[email protected] ~]# yum install libaio-devel.x86_64

#drupal 8.0需要用到curl模块

[[email protected] ~]# yum install curl-devel

[[email protected] ~]# yum -y install libpng-devel libjpeg-devel freetype-devel gmp-devel libxml2-devel

1. 安装nginx

#安装nginx官方yum源包

[[email protected] ~]# rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

[[email protected] ~]# yum -y install nginx

[[email protected] ~]# chkconfig nginx on

2. 安装php-fpm

#安装php yum源包

[[email protected] ~]# rpm -ivh rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm

[[email protected] ~]# yum -y install php54w

3. 配置nginx+php

/etc/nginx/nginx.conf 配置文件可以不用做任何修改。

编辑 /etc/nginx/conf.d/default.conf,以本站为例,配置文件如下:

server {

listen       80;

server_name  imysql.com *.imysql.com;

root   /data/www/imysql.cn/;

index index.php index.htm index.html index.shtml;

error_page  404               /page_not_found;

error_page   500 502 503 504  /page_not_found;

location ~ /.ht {

deny  all;

}

if ($fastcgi_script_name ~ ..*/.*php) {

return 403;

}

location / {

if (!-e $request_filename) {

rewrite ^/(.*)$ /index.php?q=$1 last;

}

}

location ~ .php$ {

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}

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

expires 30d;

}

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

expires 1h;

}

location ^~ /sites/default/files/imagecache/ {

index index.php index.html;

if (!-e $request_filename) {

rewrite ^/(.*)$ /index.php?q=$1 last; break;

}

}

}

上述配置包括了nginx虚拟主机的配置,以及drupal的rewrite规则配置,简单快速。

4. 启动测试

每次修改完配置文件后,都记得执行下面的命令测试配置文件正确性:

[[email protected] ~]# /etc/init.d/nginx configtest

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

确认配置文件无误后,执行下面的命令重载nginx,使其生效:

[[email protected] ~]# /etc/init.d/nginx reload

#或者restart

[[email protected] ~]# /etc/init.d/nginx restart

大功告成