LinuxでNginx+MySQL+PHPを構築する

7896 ワード

LinuxでNginx+MySQL+PHPを構築する.
まず紹介したいのですが、Ngix.Ngixは高機能なHTTPと逆プロキシサーバーであり、IMAP/POP 3/SMTPプロキシサーバーでもあります.Nginxはwebサーバーとしてだけでなく、負荷分散器としても利用できます.前にも記事で紹介されていますので、ご覧ください.
MySQLはオープンソース無料のデータソフトウェアで、MySQLは小型の関係型データベース管理システムであり、その体積が小さく、速度が速く、全体的にコストが低く、特にオープンソースという特徴があります.多くの中小ウェブサイトはウェブサイト全体のコストを下げるためにMySQLをウェブサイトデータベースとして選択しました.
PHPは、英語スーパーテキスト前処理言語Hypertext Prprocessorの略語です.PHPはHTML埋め込み式の言語で、サーバー端で実行されるHTMLドキュメントに埋め込まれたスクリプト言語で、言語のスタイルはC言語に類似しており、広く使われています.
現在の最新の安定版はnginx-1.0.13です.まず私達はnginxをダウンロードして、Linuxの下で下記のコマンドを実行します.
cd /usr/src                                           #              
wget http://nginx.org/download/nginx-1.0.13.tar.gz    #   
nginxはいくつかの依存パッケージがあります.まずインストールに依存します.インストール中にエラーが発生しないようにしてください.
yum  -y install zlib-devel pcre-devel openssl-devel
一般ソースコードのインストールは4つのステップ(最初のステップを省く人もいます)に分けられています.解凍(tar命令)のプリコンパイル(ソースパッケージを実行するconfigure)、コンパイル(make)、コンパイルインストール(make install)はまずソースパッケージを解凍します.
tar -zxvf nginx-1.0.13.tar.gz
ここで加圧パラメータを説明します.zはgzip(つまり後ろの.gzファイル)xを表し、加圧を表します.vは詳細を表示します.-fはファイルまたはデバイス(必須パラメータ)を使用します.
それから、私たちは事前コンパイルを行います.普通はいくつかのパラメータを持って、私たちがインストールしたい効果を達成しました.例えば、ある機能を有効にして、ある機能を無効にします.ソースパッケージに入って、プリコンパイルを行います.
cd nginx-1.0.13
 ./configure --prefix=/usr/local/nginx\   #        /usr/local/nginx
--with-openssl=/usr/include/openssl\  #   ssl
--with-pcre\                          #        
--with-http_stub_status_module        #       nginx     
コンテンツとは、現在のディレクトリの下にあるconfigureファイルを実行することです.
プリコンパイルが完了したら、コンパイルとインストールができます.
make           #  
実行後にmakeが大量に出力されます.出力完了後にエラーが発生しない場合はインストール実行できます.
make install   #  
インストールが完了したら、インストールされたファイルを相応のカタログで確認できます.
ls /usr/local/nginx/
conf  html  logs  sbin
はい、次は私達がnginxを起動します.
/usr/local/nginx/sbin/nginx
ポートを見ることによってinxの起動が成功したかどうか、inxはTCPの80ポートを占有し、以下のコマンドを実行します.
 netstat -antlp | grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5946/nginx
私たちは80ポートがオープンしていることを確認します.
ブラウザを開いてアクセスします.http://192.168.3.120Welcome to nginx(以前のバージョンはIt’s Work)を見ます.
nginxインストールが完了したら、MySQLをインストールします.MySQl-5.95版を使ってまずダウンロードします.
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.95.tar.gz/from/http://mysql.cdpa.nsysu.edu.tw/
インストールする前に準備をしておきます.
インストール依存:
yum -y install ncurses-devel
MySQLを作成するユーザ:
useradd -M -s /sbin/nologin mysql  # -M   home  ,-s  shell    
インストールを行います
tar -zxvf mysql-5.0.95.tar.gz
cd mysql-5.0.95
./configure --prefix=/usr/local/mysql \
--without-debug \                                 #           
--with-extra-charsets=utf8,gbk \                  #                 
--enable-assembler \                              #           
--with-mysqld-ldflags=-all-static \               #            
--with-client-ldflags=-all-static \
--with-unix-socket-path=/tmp/mysql.sock \         #   unix socket    
--with-ssl
make
make install
インストールが完了したらプロファイルと起動スクリプトをコピーします.
cp support-files/my-medium.cnf /etc/my.cnf         #       
cp support-files/mysql.server /etc/init.d/mysqld   #       
chmod +x /etc/init.d/mysqld         #          
後で便利にするために、私達はすべてのバイナリ実行可能ファイルとダイナミックリンクライブラリファイルにソフトリンクを作ります.
ln -s /usr/local/mysql/bin/* /usr/local/bin/              #               
ln -s /usr/local/mysql/lib/mysql/lib* /usr/lib/  #             
データベースを初期化します.
mysql_install_db --user=mysql  #  MySQL       
MySQLが正常に使用できるように、MySQLのインストールディレクトリとMySQLのデータベースディレクトリの所有者とグループを変更する必要があります.
chown -R root.mysql /usr/local/mysql/           #          root,   mysql
chown -R mysql.mysql /usr/local/mysql/var/      #               mysql
ここでのRパラメータは、すべてのサブディレクトリとファイルに適用されます.
配置が終わったら私達はmysqlを起動します.
service mysqld start
MySQLが成功したかどうか確認します.MySQLはTCPの3306ポートを占有しています.ポートが占有されているかどうかを確認します.
netstat -antlp | grep 3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      32143/mysqld
そして私達はmysql命令でmysqlを接続します.
mysql
以下の内容が表示されます.MySQLの起動に成功し、すでに接続されています.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.95-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
MySQLのインストールが完了したらPHPをインストールします.PHPをインストールする前にまずいくつかのソースコードをインストールします.
wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.bz2/download
tar -jxvf libmcrypt-2.5.8.tar.bz2   #     bz2     -j    
cd libmcrypt-2.5.8
./configure
make
make install

####################################################
wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.bz2/download
tar -jxvf mhash-0.9.9.9.tar.bz2
cd mhash-0.9.9.9
./configure
make
make install
#                        /usr/lib,      mcrypt       
ln -s /usr/local/lib/libmcrypt* /usr/lib
ln -s /usr/local/lib/libmhash.* /usr/lib/
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
###########################################################
wget http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz/download
tar -zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure
make
make install
そしてphpをダウンロードする:
wget http://cn2.php.net/get/php-5.4.0.tar.bz2/from/this/mirror
インストール依存:
yum �Cy install libxml2-devel curl-devel libpng-devel openldap-devel
私たちはninxを使ってphpを呼び出す時にfpmを使う方式で、php 5.4にphp-fpmに対するサポートを入れましたので、パッチは必要ありません.PHPをインストールします.
tar -jxvf php-5.4.0.tar.bz2
cd php-5.4.0
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-zlib --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --with-curlwrappers --enable-fpm --enable-fastcgi --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc -enable-zip --enable-soap
make
make install
ここにLNMP全体のインストールが完了しました.次にphpとnginxを設定してphpサイトを実行できます.まずphpのためにプロファイルを作成します.
cp php.ini-production /usr/local/php/php.ini #         php.ini-development
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
ln -s /usr/local/php/bin/php /usr/bin/
php-fpmを設定し、php-fpm.com.comを編集します.
vi /usr/local/php/etc/php-fpm.conf
listenの行を見つけたら、次のように修正します.
listen = /var/run/php-fpm/php-fpm.sock   #   unix socket
起動php-fpm
mkdir /var/run/php-fpm
/usr/local/php/sbin/php-fpm
その後、nginxを設定して、nginxプロファイルを編集します.
vi /usr/local/nginx/conf/nginx.conf
nginxプロファイルの変更はphpをサポートします.
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.php index.html index.htm;         #   index.php     
        }

        #       
        location ~ \.php$ {
            fastcgi_pass        unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index       index.php;
            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
            include fastcgi_params;
            include fastcgi.conf;
        }
変更が完了したら保存して再起動します.
pkill -9 nignx
/usr/local/nginx/sbin/nginx