Nginx

Tag: Nginx/設定

目次

関連ページ

参考情報

設定の基本

  • CentOS6の場合/etc/nginx/conf.d/default.confを編集。

location

PHP-FPMとの連携

  • CentOS6の場合default.confを以下のように設定する。最後のlocationディレクティブが肝心。
    server {
        listen       8080;
        server_name  localhost;
    
        #charset koi8-r;                                                                              
        #access_log  /var/log/nginx/log/host.access.log  main;                                        
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
       (以下中略)   
        location ~ \.php$ {
            root   /usr/share/nginx/html;
    	fastcgi_pass   127.0.0.1:9000;
    	fastcgi_index  index.php;
    	fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    	include        fastcgi_params;
        }
    }
    
  • ポート番号を変える場合iptablesで穴を買えることを忘れないように。locationディレクティブでrootとfastcgi_paramを変更すること。
  • /etc/php-fpm.d/www.confの編集。Unix Socketを使う場合さらなる変更が必要。
    user = nginx
    group =	nginx
    

Unix Socketで連携

  • /etc/php-fpm.d/www.confの編集
    listen = /var/run/php-fpm/www.sock
  • /etc/nginx/conf.d/default.confの編集。先頭にunixが必要なことに注意。
    fastcgi_pass   unix:/var/run/php-fpm/www.sock

タイムアウトする場合の調節

fastcgi_params を include する場所について。

WordPress用の設定(ルート)

設定ファイル

  • サブディレクトリ運用ははまりやすいのでルートで運用するのが簡単。
  • default.confのサンプル。
    server {
        listen       8080;
        server_name  centos6maroon;
        index index.php;
        root /home/sora/public_html/wp2;
        location / {
           try_files $uri $uri/ /index.php?$query_string;
        }
        location ~* /wp-config.php {
          deny all;
        }
        location ~ \.php$ {
            fastcgi_pass   unix:/var/run/php-fpm/www.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
    
  • http://centos6maroon:8080を開く。

php-fpmの設定

トラブルシューティング

  • PHPがダウンロードされてきた: 設定が正しい場合ブラウザのキャッシュの可能性あり。他のブラウザやcurlで試してみる。
  • forbiddonが表示された: try_filesの設定かも?

WordPress用の設定(サブディレクトリ)

設定ファイル

  • 以下のような設定ファイルを使用する。
server {
    listen       80;
    server_name  localhost;

    index index.php;
    root /home/sora/public_html;

    location /wordpress {
        try_files $uri $uri/ /wordpress/index.php?$query_string;
    }

    location ~* /wp-config.php {
        deny all;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php5-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
  • ポイントはrootを外出しにして、最後の「location ~ \.php$ {」に含まないことぐらいか。

トラブルシューティング

ダッシュボードが表示されない

  • nginxのエラーログを確認する。以下のようなエラーが表示されていた場合PHP-FPMのメモリ割り当てがたらない。
    Allowed memory size of 134217728
  • php.iniでmemory_limitを変更する。
    memory_limit = 512M

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-03-03 (火) 10:47:00