web-dev-qa-db-ja.com

Nginx構成ファイルの名前と場所(htaccess相当)は何ですか?

Apacheの.htaccessファイルを模倣するNginxリライトルールの記述方法については tutorials がたくさんありますが、このいわゆるNginx構成ファイルの名前または場所が実際に何であるかを確実に理解しているとは言えません。サーバーパスとPHPディレクティブを記述できるようにするNginx構成ファイルを具体的に探しています。Ubuntu12 linuxとCodeigniterをmy PHPとして使用しています=フレームワーク。

これが私がこれまでに知っていることです:

  1. このファイル: /etc/nginx/nginx.confその魅力的な名前にもかかわらず、サーバーディレクティブの場所ではないようです。
  2. このファイル: /etc/nginx/sites-available/default必要なように見えます(自分のアプリに固有のphpエラーを生成できます)が、Codeigniter固有のパスルーティングを正しく取得できません。まず第一に、これは誰もが言う「config」ファイル/.htaccessと同等ですか?
31
tim peterson

私はPHPを開発サーバーのnginxで次の構成で使用します:

  1. /etc/nginx/nginx.confに追加しました:最後のinclude /etc/nginx/sites-enabled/*;の前に}を追加しました。

  2. 次のコマンドを実行して、サイト構成を作成します。

    mkdir /etc/nginx/sites-available/
    mkdir /etc/nginx/sites-enabled/
    cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/<site>
    
  3. サイト構成、いくつかの可能な構成を編集します(これは私のセットアップで参照したものです): http://kbeezie.com/view/nginx-configuration-examples/

  4. 利用可能なサイトにリンクして有効にします

    ln -s /etc/nginx/sites-available/<site> /etc/nginx/sites-enabled/<site>
    
  5. 実際に構成内のほとんどどこにでもファイルを含めることができることに注意してください。これにより、類似の構成をまとめて配置したい場合に、複数のサイトを簡単に作成できます。

はい、.htaccessはnginxのserver{}ブロックと比較できますが、非常に異なります。 nginxは、構成を解析するためのはるかに軽量なアプローチを備えており、追加の構成についてサイトディレクトリをスキャンしません。nginx.confで確認できるものだけが実行されます。

28
abestic9