在Nginx上搭建concrete5
达到目标
-
- concrete5が無事動く
- 次回のインストール時に自分がコケない
环境
VersionHostAzureOS14.04.1Nginx1.4.6PHP5.5.9MariaDB5.5
使用MariaDB只是一种兴趣爱好,MySQL也可以,没有问题。
请参考以下必要的系统要求。
系统要求
使用apache的情况似乎比想象中多…
安装
sudo apt-get nginx php5 php5-fpm mariadb-server php5-mysql unzip php5-gd php5-curl
使用php5-curl在连接社区时是必需的
使用SQL创建表
- phpmyadminを使用する方法は割愛します。(結局、この3行のためだけに入れるのは…)
此次创建了一个名为concrete5的表,以及一个名为concrete5的用户。
create database concrete5 character set utf8;
create user 'concrete5'@'localhost' identified by 'パスワードは決めてね';
grant all privileges on concrete5 .* to 'concrete5'@'localhost';
下载
请从官方网站下载。
如果要使用wget下载,可以使用复制链接地址并从该URL进行下载,这样会将其保存为index.html。请将其重新命名为zip。
将文件下载到本地计算机并解压后再上传是我个人不推荐的方式。原因是因为有大量的文件,传输可能会失败。至少应在服务器端进行解压。
下载后,更改concrete5文件夹中以下3个权限。
chmod 777 packages
chmod 777 application/config
chmod 777 application/files
nginx的配置
要点:
如果您使用的是高配置服务器,那么应该不会出现太多荒诞的情况,但如果在error.log中出现upstream timed out错误,则需要将”fastcgi_read_timeout”设置得更长一些。(创建数据库可能需要一些时间)
在安装完成后,将其注释掉应该就没有问题。
或许只要在第一次选择”空网站”时,以下设置可能就不再需要。
~略~
fastcgi_read_timeout 1000;
fastcgi_send_timeout 1000;
~略~
请将”YOUR_DOMAIN”替换为要运行的虚拟主机名。
server {
listen 80 default_server;
root /var/www/concrete5/;
index index.php index.html index.htm;
server_name YOUR_DOMAIN;
location / {
try_files $uri $uri/ /index.php?$args;
if (-f $request_filename) {
expires 14d;
break;
}
if ($uri ~ "^(.+?\.php?)(/.*)$") {
set $path_info $2;
}
if (!-e $request_filename) {
rewrite / /index.php last;
}
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
#コミュニティーに接続する場合必要
fastcgi_param PHP_VALUE "allow_url_fopen=On";
}
}
最终
-
- ツッコミがあればご指摘ください。
-
- WordPress関係のFTPアップデートで失敗する場合も“fastcgi_read_timeout”あたりが有効です。
-
- Nginx + php5-fpmあたりは設定をしっかりしないと意図した動作にならない。(このへんapacheは吸収してくれているのかな)
- 動いてしまえばあとはサクサク軽いものです。
请参考
上下文 – concrete5。