勉強したことのメモ

webプログラマが勉強したことのメモ。

Nginxのバーチャルホスト設定とLet's Encryptの導入

   

NginxでVirtualHostの設定し、複数のドメインを同一サーバに割り当てたい。また、Virtual Host設定したドメインに対してLet's Encryptを導入し、SSL対応したい。あとドメイン毎にaccess_logやerror_logを個別に出力させたい。以下に設定方法をメモ。

 

バーチャルホスト設定

#設定ファイルを編集
vi /etc/nginx/conf.d/default.conf

#以下を追記する(hoge.com部分は適宜変更する)
server { 
    listen 80; 

    server_name hoge.com;

    access_log /var/log/nginx/hoge.com.access.log main;
    error_log /var/log/nginx/hoge.com.error.log;

    location / { 
          root /usr/share/nginx/html/hoge.com; 
          index index.php;
    }

    location ~ \.php$ {
        root           /usr/share/nginx/html/hoge.com;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

バーチャルホスト毎にserver{}で囲って設定していくみたい。

尚、設定ファイルを編集後はすぐにNginxを再起動せずに以下で構文チェックが行えるとのこと。今後は必ず構文チェック後に再起動をかけるようにする。

#構文チェック
nginx -t

#以下が表示されるとOK
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

#nginx再起動
systemctl restart nginx

 

Let's Encryptインストール

#証明書インストールのテスト(hoge.com部分は適宜変更する)
certbot certonly --webroot -w /usr/share/nginx/html/hoge.com -d hoge.com --email test@hoge.com --dry-run

#問題無ければ証明書インストール
certbot certonly --webroot -w /usr/share/nginx/html/hoge.com -d hoge.com --email test@hoge.com

 

Nginx設定ファイル再編集

#設定ファイルを編集
vi /etc/nginx/conf.d/default.conf

#先ほどバーチャルホストしたserver{}内のlisten80の下あたりに以下を追記
    listen 443 ssl;
    ssl_certificate     /etc/letsencrypt/live/hoge.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/hoge.com/privkey.pem;

上記設定後、念のため構文チェックを行ってからNginxを再起動する。この時点でhttpsでのアクセスが可能となる。

 

所感

ApacheよりもNginxの設定ファイルの方が直感的で分かりやすいような気がする。後は今回とは別件だけどNginxはhtaccessが使えないらしいので、Basic認証やリダイレクトをどうするのか勉強しておきたいところ。

 

参考サイト

https://www.unix-power.net/networking/post-1116

 - Nginx, サーバー

  関連記事

CPIのレンタルサーバでRewriteEngineを使用する場合の注意点

CPIのレンタルサーバで開発する案件があり、htaccessファイルを用いてRe ...

FTP接続する際のユーザーとグループ設定

共用のレンタルサーバーを使用する時には気にならないが、VPSや専用サーバーを使う ...

apacheのprefork設定とKeepAlive設定

WordPressを設置しているサーバーが、ここのところ連日でピークタイム時にダ ...

さくらvpsでPHPのエラーログ設定

PHPのエラーログを設定した際のメモ。 vi /etc/php.ini で設定フ ...

X-Frame-Optionsの設定

X-Frame-Optionsの設定をする事があった。そもそも「X-Frame- ...

VPSのメモリ2GBでどのぐらいのPVに耐えられるのか?

VPSを分からないなりに勉強しているんだけど、実際どのぐらいのPVに耐えられるん ...

glibcライブラリの脆弱性とアップデート方法

レンタルしているサーバのアナウンスで「glibcライブラリの脆弱性」云々というの ...

サーバに置いてある大量のファイルをダウンロード・アップロードする場合

WordPressのデータなど、大量のファイルをダウンロード・アップロードする場 ...

サーバーが落ちた時にメール送信してくれるUptime Robotが便利

自サイトが落ちた時にメールを送信してくれるUptime Robotが超便利だった ...

ブログサービスの様にサブドメインを動的に生成する方法  

ブログサービスの様に「hoge」というログインIDを作成した際、「hoge.bl ...