drupal应用部署

Drupal是一款诞生于2000年的基于PHP语言编写的经典开源内容管理框架。

坊间传说drupal使用成本比wp高,偶然的机会看到一个基于drupal搭建的网站还不赖。兴趣使然,简单研究了一下drupal的搭建和使用。
以下简单给出搭建的关键步骤:

composer工具准备

1
2
3
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/sbin/
composer self-update

以lightning为例部署

1
2
composer create-project acquia/lightning-project drupal
chown -R nobody:nobody drupal
  • drupal/docroot为应用根目录
  • drupal默认使用sqlite数据库不需要单独配置

nginx配置

以上方式部署完成后,用nginx的默认php应用配置会导致除了首页能访问,其它所有页面全部404,
根据drupal的路由特点需要简单配置rewrite规则,nginx应用的基本配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
server {
listen *:80;
# include vhosts/vhosts.listen.addr;
# server_name localhost;

#charset koi8-r;

access_log logs/host.access.log main;

location / {
root html/drupal/docroot;
index index.php index.htm;
try_files $uri $uri/ @rewrite;
}

location ~ ^/sites/.*/private/ {
access_log off;
internal;
}

location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

location ~ \.php$ {
root html/drupal/docroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~ /\.ht {
deny all;
}
}

如此一来,基本上就可以用了。。。

冷月无声 wechat
关注也是一种力量
-------------End of article. I appreciate whoever read and leave commends on articles.-------------

本文标题:drupal应用部署

文章作者:冷月无声

发布时间:2018年03月21日 - 21:03

最后更新:2018年05月02日 - 21:05

原始链接:https://www.lengyuewusheng.com/2018/03/21/00035_drupal应用部署/

许可协议:本博客所有文章除特别声明外,均采用 BY-NC-SA 3.0许可协议。转载请注明出处!

感谢鼓励!