ホームページ > バックエンド開発 > PHPチュートリアル > [Linux] LAMP アーキテクチャはモジュールを使用して php と httpd を連携させます

[Linux] LAMP アーキテクチャはモジュールを使用して php と httpd を連携させます

WBOY
リリース: 2016-06-20 12:39:03
オリジナル
940 人が閲覧しました

LAMP は、Linux、Apache、Mysql、および PHP の頭字語です。


実験環境

Linux: CentOS-3 2.6.32-431.el6.x86_64

Apache: httpd-2.4.16.tar.gz

Mysql: mysql-5.5.24.tar.gz

PHP: php-5.6.11.tar.bz2


インストール順序は : Apahce --> Mysql --> PHP


実験手順


実験を容易にするために、まず iptables と selinux をオフにします

[root@CentOS- 3 ~ ]# service iptables stop

[root@CentOS-3 ~]# setenforce 0


以下のコンパイル ツールと依存関係パッケージ

[root@CentOS-3 ~]# yum -y install gcc

> 🎜>> make

> cmake

>


apr と apr-util をインストールします🎜>

apr は Apache オペレーティング環境を構築します


apr と apr を作成します-util インストールディレクトリ

[root@CentOS-3 ~]# mkdir /usr/local/apr [root@CentOS-3 ~]# mkdir /usr/local/ apr-util

ソースパッケージを解凍します

[root@CentOS-3 ~]# tar xf /mnt/apr- 1.5.2 .tar.gz -C /usr/local/src/ [root@CentOS-3 ~]# tar xf /mnt/apr-util-1.5.4.tar.gz -C / usr/local /src/

ソース パッケージが配置されているパスに切り替えます

[root@CentOS-3 ~]# cd /usr/local/src /apr-1.5.2/

インストール ディレクトリを指定するように apr を構成します

[root@CentOS-3 apr-1.5.2]# ./configure -- prefix=/usr/local/apr

上記の設定が完了してもエラーが報告されない場合は、

[root@CentOS-3 apr-1.5] をコンパイルしてインストールします。 .2]# make && make install

apr-util ソース ディレクトリに切り替えます

[root@CentOS-3 ~]# cd /usr/local/src/apr-util-1.5. 4/

apr-util のインストール ディレクトリを設定し、apr が配置されているパスを指定します

[root@CentOS-3 apr-util-1.5.4 ]# ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr

上記はエラーなくコンパイルおよびインストールできます

[root@CentOS-3 apr-util-1.5.4]# make && make install

apache をコンパイルします

Apache ルート ディレクトリを作成します

[root@CentOS-3 ~]# mkdir /usr/local/apache

解凍して、Apache ソース パッケージ ディレクトリに切り替えます

[ root@CentOS-3 ~]# tar xf /mnt/httpd-2.4.16 .tar.gz -C /usr/local/src/

[root@CentOS-3 ~]# cd /usr/ local/src/httpd-2.4.16/


カスタマイズされた httpd


[root@CentOS-3 httpd-2.4.16]# ./configure

> --prefix= /usr/local/apache

//インストールディレクトリを指定します

> cgid

> --enable-modules=most

> --enable-mods-shared =most ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ -- with-apr=/usr/local/apr

//すべての MPM モジュールをサポート

> --with-apr-util=/usr/local/apr-util

/ /apr-util の場所を指定します

エラーなくコンパイルしてインストールします

[root@CentOS-3 httpd-2.4.16]# make && make install

httpd の起動

[root@CentOS-3 ~]# /usr /local/ apache/bin/apachectl start

httpd が適切に動作しているかどうかを確認するテスト

サーバーの IP アドレスは: 192.168 .10.250

Mysql データベースのインストール


データのインストールには ncurses-devel のインストールが必要です

[root@CentOS-3 mysql-5.5.24]# yum -y install ncurses-devel

Mysql インストール ディレクトリを作成します

[root@CentOS-3 ~]# mkdir /usr/local/mysql

mysql ユーザーを作成します。「-s」はログイン シェルを指定します

[root@CentOS-3 ~]# useradd -s /sbin/nologin mysql

Mysql を抽出し、ソース パッケージが存在するディレクトリに切り替えます

[root @CentOS-3 ~]# tar xf /mnt/mysql-5.5.24.tar.gz -C /usr/local/src/

[root@CentOS-3 ~]# cd /usr/local /src/mysql-5.5.24/


cmake ツールを使用して mysql を定義します

[root@ CentOS-3 mysql-5.5.24]# cmake

> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

インストールディレクトリを指定します

> ; -DMYSQL_DATADIR=/home/mysql

データ ファイル パス (指定されていない場合、インストール ディレクトリ

>) - DSYSCONFDIR=/etc

構成ファイル パス

> -DWITH_INNOBASE_STORAGE_ENGINE=1

INNOBASE ストレージ エンジンをインストールします

> -dwith_archive_storage_engine = 1

> -DWITH_READLINE=1

loadinfile を使用して mysql データをバッチインポートできるようにします

> -DWITH_SSL=system

SSL セッションに基づくサポート

> -DWITH_SSL=bundled

> -DWITH_ZLIB=システム

圧縮ライブラリ

> -DWITH_LIBWRAP=0

> -DMYSQL_UNIX_ADDR=/tmp/mysql sock

デフォルトのソケット ファイル パス

> -DEXTRA_CHARSETS=all

すべての文字セットをサポート

> -DDEFAULT_CHARSET=utf8

デフォルトの文字セット

> -DDEFAULT_COLLATION=utf8_general_ci

文字セットの照合順序

上記でエラーが報告されない場合は、データベースをコンパイルしてインストールします

[root@CentOS-3 mysql-5.5.24]# make && make install

システムセキュリティのため、mysql ディレクトリ下のグループを mysql

[root@CentOS-3 ~]# chown :mysql /usr/local/mysql/


データベースの初期化

[ root@CentOS-3 mysql-5.5.24 ]# /usr/local/mysql/scripts/mysql_install_db

> --user=mysql


> --ldata=/var/ lib/mysql

> --basedir=/usr/local/mysql > --datadir=/home/mysql

設定ファイルの作成

[root@CentOS-3 mysql-5.5.24]# cp support-files/my-large.cnf /etc/my.cnf


起動スクリプトを作成し、サービス管理に追加します

[root@CentOS-3 mysql-5.5.24 ]# cp support-files/mysql.server /etc /init.d/mysqld


起動の構成

[root@CentOS-3 mysql-5.5.24 ]# chkconfig --add mysqld

[root@CentOS-3 mysql-5.5.24]# chkconfig mysqld on


追加実行権限

[root@CentOS-3 mysql-5.5.24]# chmod 755 /etc/init.d/mysqld

mysql を $PATH 環境変数に追加します

[root@CentOS-3 mysql -5.5.24]# vim /etc/profile.d/mysql.sh
次のように入力します

export PATH=$PATH:/usr/local/mysql/bin

スクリプトを実行してすぐに有効にします。

[root@CentOS-3 mysql-5.5.24]# . d/mysql.sh


mysql の起動

[root@CentOS-3 mysql-5.5. 24]# service mysqld start


後のテストの便宜のためにアカウントを認証します

mysql データベースを入力します


[root@CentOS-3 ~ ]# mysql -u root

Tom ユーザーにすべての権限を付与します

mysql> GRANT all ON *.* TO 'tom' @'192.168.10.250' IDENTIFIED BY '123456'

;

認可情報を更新します

mysql> フラッシュ権限;


PHP をインストールします


デフォルトでは、Apache は静的な Web サイトのみをサポートします。動的 Web サイトをサポートしたい場合は、PHP を使用する必要があります。

PHP が httpd と連携する 3 つの方法: CGI、モジュール、FastCGI


以下のモジュール モードで PHP をインストールします

インストールディレクトリを作成します


[ root@CentOS-3 ~]# mkdir /usr/local/php

PHP を抽出し、 PHP ソース パッケージが配置されているディレクトリに切り替えます

[root@CentOS-3 ~]# tar xf /mnt/php-5.6.11.tar .bz2 -C /usr/local/src

[root@CentOS-3 ~]# cd / usr/local/src/php-5.6.11/


GD ライブラリと関連プログラムをインストールします

[root@CentOS-3 php-5.6.11]# yum -y install

> libjpeg-devel

> libpng-devel

> freetype-devel

> zlib-devel

> libXpm-devel

>

> fontconfig-devel

> openssl-devel

> bzip2-devel


PHP の構成


[root@CentOS-3 php-5.6.11]# ./configure

> --prefix=/usr/local/php

インストール パスを指定します

> --with-mysql=/usr/local/mysql

mysql の場所を指定

> --with-openssl

openssl 関数を有効にする

> ; --with-mysqli=/usr/local/mysql/bin/mysql_config

別の mysql アクセス インターフェイス

> --enable-mbstring

> --with-freetype-dir

フリータイプ フォント ライブラリをロードします

> --with-jpeg-dir

サポート画像

> --with-png-dir

> --with-zlib

最初にデータ ファイルを圧縮します

> --with-libxml-dir=/usr

XML ライブラリのディレクトリを指定します

> --enable - xml

XML サポートを有効にする

> --enable-sockets

PHP がソケットをサポートできるようにする

> --with-apxs2=/usr/local/apache/bin/apxs

mysql を Apache モジュールにコンパイルします

> --with - config-file-path=/etc

PHP 設定ファイルの場所

> --with-config-file-scan-dir=/etc/php。

> --with-bz2 > --enable-maintainer-zts

Apache の MPM がイベントまたはワーカー Plus を使用する場合は必要ありません


上記でエラーが報告されない場合は、コンパイルしてインストールできます


[root@CentOS - 3 php-5.6.11]# make && make install

設定ファイルの作成


[root@CentOS-3 php - 5.6.11]# cp php.ini-production /etc/php.ini

httpd 構成ファイルを編集し、「」を検索します/AddType" に次のコンテンツを追加して、Apache が php 形式のページをサポートできるようにします


[root@CentOS-3 ~]# vim /usr/local/apache/conf/httpd.conf

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

引き続き「
/DirectoryIndex

」を検索し、ここにコンテンツを追加しますPHP メイン ページをサポートします


LoadModule php5_module modules/libphp5.so

DirectoryIndex

index.php

Index.html

httpd のデフォルトのホームページを「

.php

」に変更し、テスト用に次のコードを入力します。


に切り替えます。 Web ページのファイルディレクトリ

[root@CentOS-3 ~]# cd /usr/local/apache/htdocs/

index.php に変更します

[root@CentOS-3 htdocs]# mvindex.htmlindex.php

ファイルを編集して元のコンテンツを削除します次の内容を追加します

phpinfo(); ?>

httpd サービスを再起動します

[root@ CentOS-3 htdocs]# /usr/local /apache/bin/apachectl restart

アクセスサーバーテスト

上記のインターフェイスの説明は、PHP と httpd が正常に連携したように見えます

関連付けられたデータベース テスト

Web ページ ファイルを編集して元のコンテンツを削除し、次のコードを入力します


[root@ CentOS-3 htdocs]# vimindex.php

$conn=mysql_connect('192.168.10.250','tom','123456');

if($conn)

echo "データベース接続に成功しました! ! ";

else

echo "データベース接続に失敗しました! ! ";

?>


アクセスサーバーテスト


上記はランプアーキテクチャの内容です

PHP と httpd をモジュール形式で連携させる PHP は httpd モジュールにコンパイルされ、httpd が必要なときに単独で実行することはできません。 php を使用すると、プロセスはディスクから直接ロードされ、新しいプロセスを開始せずにディスク内で実行されます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート