26
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pleskとは

VPS/専用サーバーで利用できるコントロールパネル。

  • 特徴
    コマンド操作が不要です(殆ど)。マウス操作で色々出来ちゃいます。
    取得済のドメインを追加して、
    既存のGitlabなどのリポジトリをペッと貼り付けるだけでほぼ完了です。

~~~~~ 終 ~~~~~

ではなく、こんなにも便利なpleskでの実際に運用する上での注意点や解決法を備忘録的に記載しておきます。

※この記事の前提:API側とFE側に分かれたリポジトリをアップロード、ドメインもAPIとFEで取得しています。

  • 問題発生
    フロントエンドのリポジトリの追加をしたのに画面が表示されない( ^ω^)・・・
    →ソースコードに本番ドメインを記載していなかった
    ドアホすぎて自分のことどついたろかと思いましたが皆様はどうか忘れないでください。。。
    ↓みたいにちゃんと記載してあるか確認必須です
axios.js
switch (hostname) {
    case "fe.production.jp":
            domain = 'api.production.jp'
            client = 'foo'
            break
    case "staging.jp":
                   
}

こちらはaxios.jsの例(他にもdomain.jsとか他にも関連したファイルも要注意)

composerはどう使う?

後から記載するターミナルからの操作も可能ですが、ボタン一つで出来ます。
composer.png
PHP composerをクリックすると下図がある画面に飛ぶので、Install or Update
クリックで出来ちゃいます。
image.png

※このとき、composer.json > require内に必要なパッケージの記載がされているか確認してください!

SSHターミナル

左メニューのExtensions > My extensions > SSH Terminal
ssh teminal.png
これを使用して各種コマンド操作も可能です。

例えば、artisanコマンドを使用したい場合はターミナルでcdを使用してartisanファイルのあるディレクトリに移動して実行することが出来ます。

Websites & Domains > PHP > include_pathからPHPファイルのパスを確認することも出来ます

  • Cron設定
    Websites & Domains > Scheduled Tasks > Add Tasksから設定することが出来ます。
    もちろんターミナルからcrontab -eやsystemctl status cronなどで状態を見ることも可能です。

出たエラーについての対応

Websites & Domains > Files > logsaccess_logやproxy_error_logなど様々なログを確認することができます。

  • エラー①
    upstream timed out
    調べてみるとNginxのエラーでした。
    アップストリームがリクエストに応答する際に時間がかかり過ぎてしまい、その結果アップストリームが既にリクエストの処理に失敗したと判断した場合に引き起こされるエラーだそうで。

⇒解決法
Websites & Domains > Apache & nginx Settingsに移動。
一番下にあるAdditional nginx directivesに追加で記載をします。
⇒プロキシサーバーからの応答を読み取る為のタイムアウトを長くします。

proxy_connect_timeout 180s;
proxy_send_timeout 180s;
proxy_read_timeout 180s;

//Nginxでphp-fpmを使用している場合は下記も追加してください。
fastcgi_send_timeout 180s;
fastcgi_read_timeout 180s;
  • エラー➁
    Allowed memory size of xxxx bytes exhausted (tried to allocate xxx bytes) in /var/www
    メモリリークです。cron設定がされている割にメモリが少なかったので引き起こされていました。

⇒解決法
Tool&Settings>PHP settings>8.0.30 FastCGI application>php.iniにて、memory_limit = 1024Mにするなどして対処。

  • エラーではないものの重要
    フロントに追加変更を加えてpleskでpull->deploy nowをしたものの確認しても変更が反映されていない・・・?

Websites & Domains > Node.jsからRun Scriptをクリック→yarn buildといったコマンドを走らせ、Restart Appをクリックしてみてください。
image.png

感謝してもしきれないブログ
この時は現状打破に必死過ぎて調査していなかったのですが、pleskのpanel.logも見てみたいと思ってます。

最後に

pleskを触っていくうちにNginxの役割やphpの実行のされ方、ターミナルでのコマンドの使い方など学べたことが多くありました。

「マウス操作で楽に管理が出来ること」が特徴のコントロールパネルですが、
それでも作成したプロジェクトがどう動くのかは勉強し続けないとなと気が引き締まりました。

🐯参考

  • pleskフォーラム
    →pleskのフォーラムは結構盛り上がっていると感じています。
    plesk以外でもwebサーバーの事などで勉強になる記事が多いのでオススメできます。

  • ぷれつく
    →pleskとはなんぞやから基本操作まで

  • リバースプロキシとは
    →Nginxを使っていて、リバースプロキシって何?となったので。

    • ブラウザはリバースプロキシサーバにリクエストをするので、大元のwebサーバの特定が難しくなること
    • リバースプロキシに対して複数台のwebサーバを割り当て可能なので負荷分散できる
      ということらしいです。
26
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?