GNU/Linux >> Linux の 問題 >  >> Linux

LAMP を使用して Web サイトをデプロイするには、Linux についてどの程度学習する必要がありますか?

私の頭の上からあなたがする必要があるでしょう:

<オール>
  • ファイル システムの使い方を学びます。
  • 使用しているプロセス (サービス) を開始/停止する方法を学びます。
  • 基本的なテキスト エディタ (Vim、JOE、または Pico) を見つけるか、学習する
  • プロセスが実行されているかどうかを確認する方法を学びます (ps, top)
  • サーバーを保守している場合は、パッケージのインストール方法を学ぶ必要があります。
  • これらはあくまでも基本です。次のステップは、いつ問題が発生したかを認識し、どこに行けばその問題に関する詳細情報を入手できるかを知ることです。これらすべてがあっても、表面をなぞっただけであり、多くのことが意味をなさない可能性があります。とはいえ、良いスタートです。


    問題の 80% はパーミッションです。 Windows はそれらを別の方法で行います。 root として (または root のような特権で) ログインすると、パーミッションをバイパスできます。 Apache はできませんし、しません。

    • ファイルとディレクトリの所有権を適切に設定する方法を学びます。 Unix の本はどれもこれをカバーしています:実際にそれを理解するようにしてください.Windows セキュリティの綴りが異なるのではなく、セキュリティの別のモデルです.

    残りの問題のうち、80% は PATH の問題です。 PHP には、Java や Python ほど大きな PATH の問題はありませんが、いずれも PATH 設定を使用してコンポーネントとライブラリを検索します。あなたは定期的にそれらを間違えます。 Windows には PATH がありますが、レジストリもあり、非常に簡単または極秘になります。 Unix は秘密を保持しません。

    • PHP と MySQL が使用する環境変数について学びます。それらがどこでどのように設定されるかを知っていることを確認してください。 Apache は独自の環境で実行され、mod_php を介してランタイム環境設定を提供するコマンドがあります。 . echo $PATH を短く書く 何が起こっているかを明らかにするためのシェル スクリプト。

    残りの問題のうち、80% はデータベース関連です。データベースのアクセス許可を整理した後も、接続する必要があり、「名前付きパイプ」対「localhost」のものは、あいまいで紛らわしい方法で間違っています。 MySQL は非常に寛容ですが、ここで間違いを犯す可能性があります。

    • それぞれの代替接続を試し、それらがどのように機能するかを理解します。 Windows に似ている、または "より単純" であるため、1 つを選択しないでください。それぞれ実際に運動させます。ユーザー名とパスワードを Web アプリからデータベース サーバーに渡す方法も重要です。 Apache は「nobody」として実行されます。また、デフォルトのアクセス権を何も与えたくありません。アプリは、デフォルトを使用せずに意図的にデータベースに接続する必要があります。

    残りの問題のうち、80% は Apache 構成です。 Apache は非常にシンプルですが、100 万のオプションがあります。すべてを行うには 4 つの方法があります。常に、まったく機能しない 2 つを試して、厄介な 3 つ目の方法で解決します。はるかに単純な 4 番目は、決して思い浮かびません。

    • Apache の設定についてたくさん読んでください。 httpd.apache.org サイトには多くの情報があります。シンプルさを追求してください。既存の例をコピーして使用します。 IIS の経験や Windows デスクトップの経験に基づいて、要件や望ましい実装を構成しないでください。機能するものをコピーします。

    残りの問題のうち、80% はアプリケーションによるファイル システムの使用です。ローカル ファイルを開いたり、読み書きしたりしようとすると、(a) 使用しようとしているディレクトリのアクセス許可が正しくない [上記を参照] および (b) Unix ファイル パスが異なることがわかります。大きな違いはありませんが、あいまいな方法で何かが壊れるほどの違いがあります。

    • Unix/Linux のすべてのプログラミング本でこれがカバーされています。 Windows と大差ありませんが、最初はつまずくだけの違いがあります。 「hello world」のような PHP ページを作成して、可能な限り単純なバージョンのアップロードまたはダウンロードを急増させて、すべての要素とパーツが適切に配置されていることを確認します。次に、アプリ全体を正しく修正してください。

    残りの問題のうち、80% はサブプロセスの作成になります。 Windows はこれを別の方法で行います。 Unix で最も重要なことの 1 つは、サブプロセスが子プロセスであり、OS がクリーンアップできるようにサブプロセスが終了するまで実際に待つ必要があることを覚えておくことです。サブプロセスを並列の「ファイア アンド フォーゲット」と考えると、ゾンビ プロセスが発生し、定期的な再起動が必要になります。

    • 非常に単純な PHP ページを作成して、サブプロセス管理をスパイクします。黄金律は、子供たちを管理し、後片付けをすることです。次に、アプリ全体を正しく修正してください。

    残りの問題は些細なアプリケーション ロジックですが、プラットフォームが異なるため、PHP アプリケーションのバグを突き止める前に Unix のせいにする必要があります。

    • 効果的にデバッグできるように、単体テストとログ記録を片付けます。

    Linux
    1. gdbを使用してLinuxでCプログラムをデバッグする方法

    2. Ansibleを使用してLinuxユーザーを作成する方法

    3. Linux システムの内部を学ぶ方法

    1. コマンドラインを使用してLinuxを再起動する方法

    2. コマンドを使用してLinuxでプロセスを強制終了する方法は?

    3. Linux Deploy を使用した Android 上の Kali Linux

    1. なぜ誰もがLinuxを試してみるべきなのか

    2. Linuxでスワップファイルを使用してスワップスペースを拡張する方法

    3. Crontabを使用してLinuxでタスクを自動化する方法