ターミナルで1行で仮想ホストとフォルダー構造をすばやく作成する方法
たまたま、Web開発のために、Debianベースの別のサーバーを使用しています。 これは、主に私が家の外で働くことが多いという事実によるものであり、同僚と一緒にプロジェクトに協力することもできます。
以前は、サイトのディレクトリを手動で作成し、構成をコピーして編集する必要がありました。 私はこれに多くの時間を費やし、時には間違いを犯し、それから必死にどこで何を逃したかを探しました。
少し前まで、仮想ホストの作成プロセスを自動化することを考えました。 インターネットを少し駆け巡り、同時にbashを思い出して、スクリプトを作成しました。これにより、日常業務とエラーを同時に回避できました。
私の構成は次のとおりです。
- フロントエンドとしての標準LAMP + NGINX。
- ホストを含むディレクトリ/ var / www / hosting /
- 仮想ホストディレクトリ=ドメイン名
- 仮想ホスト構造
- test.ru/cgi-bin
- test.ru/www
- test.ru/log
ファイルを作成します。
cd ~ touch addvhost.sh chmod +x addvhost.sh
そして、それに以下を書きます
コードを少し理解しましょう:
- スクリプトを「コピー」することにした場合は、「<\ / Directory>」のバックスラッシュを削除します。 編集者が行を食べないように、バックスラッシュを追加しました。
- フロントエンド/バックエンドテクノロジーを使用しているため、各ホストは個別のApacheポート上にあり、NGINXでプロキシします。
ポートは
/etc/apache2/ports.conf configにリストされている必要があります
Listen 8080 Listen 8081 Listen 8082 Listen 8083 #__
$ {HOSTING_HOST}および$ {HOSTING_ROOT}はApache2変数です。 それらが必要です。
代わりに、変数を使用するか、アドレス/パスを明示的に指定できます。
また、$ {HOSTING_ROOT}は$ www_pathと同じ意味を持つため、使用できます。
わかったので、起動します
sudo ./addvhost.sh test.ru 8080
ここで、「test.ru」はドメインの名前($ 1が割り当てられています)、「8080」はこのテストドメインが置かれるポート($ 2が割り当てられています)です。
その結果 、仮想ホスト用のディレクトリが自動的に作成されます。 必要なパラメーターを持つApacheおよびNginxの仮想ホスト構成も自動的に生成され、必要に応じて追加され、サービスが再起動されます。 利益。
PS。 もちろん、このスクリプトは非常に原始的であり、オリジナルのふりをしていませんが、初心者の開発者や管理者の生活を大幅に簡素化することができます。
ローカル開発では、MAMP Proを使用します。 上記のすべての機能、およびそれ以上の機能は、美しく便利なGUIを介して利用できますが、すべてがMacで動作するわけではなく、常に動作するわけではありませんが、どうにかして生きる必要があります。
PPS または、「すべての行」をエコーする代わりに、構成ファイルのテンプレートを使用できます。 しかし、今のところ、それは私にとってとても普通です。
時間があるでしょう-私は最終決定し、レイアウトします。
UPD-構成テンプレートを使用したスクリプトの新しいバージョンは、
ここから入手でき
ます。エコーの「タオル」は通常のsed -eに置き換えられました。 スクリプトはより柔軟でシンプルになりました。
UPD II-スクリプトと記事を更新しました。 この記事では、コードのハイライトを考慮し、スクリプトではいくつかのバグを台無しにしました。