カテゴリー
Linux

Laravel 6 で今データベース接続がどうなっているか簡単に確認する方法

まとめ

php artisan tinker
DB::connection()->getConfig();
DB::connection()->getPdo();

接続名も例えば DB::connection('foo')->getConfig(); のようにして指定可能です。

カテゴリー
Linux

Laracel 6 で、 `.env` ファイルの名前を変えて運用する方法 2 (補足)

まとめ

  • 前回 、 "Composer コンテナに環境変数を設定するほうが筋が良いかもしれない" とコメントしたが、実際にできたのでメモ
  • composer.jsonphp artisan コマンドに、 --env=laravel といったオプションが不要になる。
  • 開発時は運用時は、 --env=laravel オプションを付けなくとも (.env.laravel を読み込むように環境変数 APP_ENV に laravel を付けることで) php artisan コマンドを使えるようにするので、こちらの方が統一されており、望ましいと言える。
  • feat: Laravel の使用する .env ファイル名を変更する by oki2a24 · Pull Request #7 · oki2a24/sample_dockerized_laravel6
カテゴリー
Linux

Laracel 6 で、 `.env` ファイルの名前を変えて運用する方法

まとめ

  • composer.json を修正する。
    • "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" を修正する。例えば、 "@php -r \"file_exists('.env.laravel') || copy('.env.laravel.example', '.env.laravel');\"" とする。
    • @php artisan package:discover --ansi を修正する。例えば、 @php artisan package:discover --ansi --env=laravel とする。
    • 同様に @php artisan key:generate --ansi を修正する。例えば、 @php artisan key:generate --ansi --env=laravel とする。
  • サーバレベル、システムレベルやコンテナレベルで定義されている外部の環境変数によって使用する .env ファイル名を制御する。例えば、 APP_ENV=laravel とする。
カテゴリー
Linux

PostgreSQL の無難なロケールは “なし” (C) だと思うが、 Docker コンテナを使いたいときにロケールをなし (C) に設定する簡単な方法

まとめ

  • 起動時の環境変数 POSTGRES_INITDB_ARGS で設定することで、ロケールをなし (C) に設定可能
    • - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --locale=C
    • POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --locale=C" <= 注意。コッチっは試していない。
  • ちなみに、 docker run の場合は docker run --rm -it -e POSTGRES_PASSWORD=secret -e POSTGRES_INITDB_ARGS="--encoding=UTF-8 --locale=C" postgres:12.2 bash といった書式になる。
カテゴリー
Linux

Nginx のポート関係の変数を実際に出力して確認してみた

Nginx のポート関係の変数

  • $proxy_port: proxy_pass ディレクティブの中で指定されたプロキシされるサーバのポート番号、あるいはプロトコルのデフォルトのポート番号;
  • $proxy_protocol_port: PROXYプロトコルヘッダからのクライアントポート、そうでなければ空文字 (1.11.0)。 PROXYプロトコルはlistenディレクティブのproxy_protocol パラメータの設定によって前もって有効にされていなければなりません。
  • $proxy_protocol_server_port: server port from the PROXY protocol header (1.17.6). The PROXY protocol must be previously enabled by setting the proxy_protocol parameter in the listen directive.
  • $realip_remote_port: 元のクライアントポートを保持します
  • $remote_port: クライアントのポート
  • $server_port: リクエストを受け付けたサーバのポート

以上、公式ページとその日本語訳のページから抜粋でした。

カテゴリー
Linux

WordPress サイトヘルスの critical issue 2 つを解決したメモ

まとめ

  • Nginx 設定に proxy_set_header X-Forwarded-Port $server_port; を追加することで解決できた。
カテゴリー
Linux

docker-compose.yml に Schemaspy を利用するシンプルな service を書いて、データベースドキュメントを自動生成する

ポイント

  • property ファイルではなく command をわざと利用した。 command のオプションに .env のデータベース接続情報を渡したかったため。 property ファイルの場合、 .env の情報を property ファイルにも記述しなければならなくなる。
  • MySQL 8 の場合、データベースに接続するために SSL を false にしてやる必要があった。この時、エスケープの関係で cli では -connprops useSSL\\=false 、 (こちらはうろ覚えだが) property ファイルでは schemaspy.connprops=useSSL\=false と書く必要があり (試していないが schemaspy.connprops="useSSL\=false"schemaspy.connprops="useSSL=false" でもいいのかも) 、ややこしかった。
  • MySQL 8 の場合、データベースに接続するために別途ドライバーをダウンロードして用意してやる必要があった。
  • 作ったもの => oki2a24/sample_docker_schemaspy: Docker Schemaspy コンテナの使用例です。
カテゴリー
Linux

Ansible で CentOS 7 の自己署名の SSL 証明書を作成するタスク 2 種の方法をメモ

まとめ

sudo bash /etc/pki/tls/certs/make-dummy-cert filename を使う方法

  • PRIVATE KEY と CERTIFICATE が一つのファイルに出力される。
  • Nginx 設定ファイルで使えるようにするために、シンボリックリンクを作って ssl_certificate と ssl_certificate_key に指定する。

Ansible の openssl_privatekey, openssl_csr, openssl_certificate モジュールを使う方法

カテゴリー
Linux コンピューター

Amazon Lightsail に引越し後、 PageSpeed Insights のアドバイスに従って Nginx の gzip を調整しました

はじめに

以前も Nginx の gzip 設定は行っていました。けれども、引越しに伴い、別にいいか、、、と放置しておりました。

ふと、 PageSpeed Insights を行ってみたところ、 gzip を設定するといいよ! と言われましたので、久しぶりに行ってみることにしました。

なお、改善前の値は、確か 12 くらいで、改善後は 25 でした。

カテゴリー
Linux

メモリの 2 倍の領域を持つ swap を作成してマウントする Ansible プレイブックを作りました

はじめに

Amazon Lightsail 低スペックインスタンスのメモリ不足を解消するために Swap を作り、快適になりました♪ – oki2a24 の効果を実感しましたので、次からは自動で行えるようにするために Ansible のプレイブック化いたしました。