您的位置:首页 > 运维架构 > Nginx

CentOS 6.3下nginx、php-fpm、drupal快速部署

2017-04-13 00:00 423 查看
一切本着从简原则来做,能yum/rpm的,坚决不手工编译 :)
本次部署环境基于CentOS 6.3 x86_64系统。
0. 准备工作
#更新yum
[root@imysql ~]# yum -y update
[root@imysql ~]# yum install libaio-devel.x86_64
#drupal 8.0需要用到curl模块
[root@imysql ~]# yum install curl-devel
[root@imysql ~]# yum -y install libpng-devel libjpeg-devel freetype-devel gmp-devel libxml2-devel

1. 安装nginx
#安装nginx官方yum源包
[root@imysql ~]# rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm [root@imysql ~]# yum -y install nginx
[root@imysql ~]# chkconfig nginx on

2. 安装php-fpm
#安装php yum源包
[root@imysql ~]# rpm -ivh rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm [root@imysql ~]# 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. 启动测试
每次修改完配置文件后,都记得执行下面的命令测试配置文件正确性:
[root@imysql ~]# /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,使其生效:
[root@imysql ~]# /etc/init.d/nginx reload

#或者restart
[root@imysql ~]# /etc/init.d/nginx restart

大功告成 :)

--------------------------------------分割线--------------------------------------

知数堂 (http://zhishuedu.com)培训是由资深MySQL专家叶金荣、吴炳锡联合推出的专业优质培训品牌,主要有MySQL DBA实战优化和Python运维开发课程,是业内最有良心、最有品质的培训课程。

本文出自 “老叶茶馆” 博客,请务必保留此出处http://imysql.blog.51cto.com/1540006/1879767
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php Linux Nginx