在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。

广告
将在 10 秒后关闭
bannerAds