1. 導入環境
Ubuntu11.10_X86_32、対応するソフトウェアをコンパイルしてインストールします: nginx+mysql+php。
2. ソフトウェアのインストール
2.1 ソフトウェアのダウンロード
libiconv-1.14.tar.gz
libmcrypt-2.5.7.tar.gz
mcrypt-2.6.8.gz
mhash-0.9.9.9.tar.gz
mysql-5.5.39.tar.gz
nginx-1.1.10.tar.gz
pcre-8.20.tar.gz
php-5.4.34.tar.gz
2.2 環境設定
システムは比較的クリーンですが、必要なソフトウェアツールをいくつかインストールする必要があります
apt-get install gcc g++ ssh automake cmake build-essential autoconf make re2c wget cron bzip2 rcconf flex vim bison m4 mawk cpp binutils libncurses5 unzip tar libncurses5-dev libtool libpcre3 libpcrecpp0 libssl-dev zlibc openssl libxml2-dev libltd l3-dev 3 libpcrepp0 libssl-dev zlibc openssl libxml2-dev libltdl3-dev libmcrypt-dev
2.3 補助ソフトウェアのインストール
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14/
cd libiconv-1.14/
./configure --prefix=/usr/local
作る
メイクインストール
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
作る
メイクインストール
CD ../
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
作る
メイクインストール
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
作る
メイクインストール
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
作る
メイクインストール
tar zxvf pcre-8.10.tar.gz
cd pcre-8.10
./configure
作る
メイクインストール
2.4 mysqlをインストールする
groupadd mysql #mysql グループを追加する
useradd -g mysql mysql -s /bin/false #ユーザー mysql を作成し、それを mysql グループに追加します。Mysql ユーザーはシステムに直接ログインできません。
mkdir -p /data/mysql #MySQLデータベース格納ディレクトリの作成chown -R mysql:mysql /data/mysql #MySQL データベース ディレクトリのアクセス許可を設定します
tar zxvf mysql-5.5.19.tar.gz
cd mysql-5.5.19
mkdir -p /usr/local/mysql #MySQL インストールディレクトリを作成します
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8-unicode_ci -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHAR SETS=all - DDEFAULT_CHARSET=utf8 - DDEFAULT_COLLATION =utf8_general_ci -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306
作る
メイクインストール
cp support-files/my-small.cnf /etc/my.cnf
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
/usr/local/mysql/scripts/mysql_install_db --user=mysql
cd /usr/local/mysql
cp ./support-files/my-huge.cnf /etc/my.cnf #設定ファイルをコピーします (注: デフォルトでは /etc ディレクトリの下に my.cnf があります。直接上書きしてください)
vi /etc/my.cnf #設定ファイルを編集し、[mysqld] セクションに
を追加します
datadir = /data/mysql #MySQL データベース パスを追加します./scripts/mysql_install_db --user=mysql #mysql システムデータベースを生成する
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #Mysql をシステムに追加して起動します
chmod 755 /etc/init.d/mysqld #実行権限を増やす
開始: bin/mysqld_safe -user=mysql &
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
パスワードを変更 /usr/local/mysql/bin/mysqladmin -u root -p パスワード "123456"
エラー 1:
解決策:
2.5 phpをインストールする
apt-get install libfreetype6-dev libjpeg8-dev libpng12-dev sawd ldap-utils db5.1-util
apt-get インストール libldap2-dev libsasl2-dev
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli= /usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib -- with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable -inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt -- with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc - -enable-zip --enable-soap --disable-maintainer-zts
エラー 1: 構成: エラー: libcurl ディストリビューションを再インストールしてください - easy.h は /include/curl/
にある必要があります
解決策: apt-get installcurlapt-get install libcurl4-gnutls-dev
apt-get インストール php5-curl
エラー 2: LDAP が見つかりません
解決策: 構成情報の ----with-ldap を削除します
ZEND_EXTRA_LIBS='-liconv'を作成します
テストを行う
メイクインストール
cp php.ini-production /usr/local/php/etc/php.ini
コマンドを実行して、PHP 関連の構成を表示し、PHP 拡張機能の保存ディレクトリの extension-dir 値を取得します: /usr/local/php/bin/php-config
extension_dir = の情報がここに表示されます // http://www.pprar.com
vi /usr/local/php/etc/php.ini
変更: extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
fastcgi設定ファイルを作成する
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
fastcgi設定ファイルを変更する
vi /usr/local/php/etc/php-fpm.conf
次の行のコメントを解除します
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = 通知
pm.start_servers
pm.min_spare_servers
pm.max_spare_servers
ファイルの次の 2 行を変更します。変更せずに fastcgi を起動すると、「fastcgi [pool www]Cannot get gid for group ‘nobody’」というエラーが報告されます。
ユーザー = 誰もグループ = 誰も
は
に変更されました
ユーザー = wwwグループ = www
エラー 1: 「fastcgi [プール www] はグループ「www」の GID を取得できません」
解決策: ユーザーとグループを自分で作成する必要があります
Sudo useradd www
fastcgiを起動する
/usr/local/php/sbin/php-fpm
エラー 2: エラー: アドレス '127.0.0.1:9000' のリスニング ソケットをバインドできません: アドレスはすでに使用されています (98)
エラー: FPM の初期化に失敗しました
解決策: netstat -lntup 9000 |
Killall php-fpm
エラー 3: モジュールをロードできませんでした: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11。したがって: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
解決策: 1) getlibs をインストールします
ダウンロード: getlibs-all.deb
実行: sudo dpkg -i --force-all getlibs-all.deb
2) 32 ビット ライブラリをインストールします
getlibs -p gnome-keyring:i386
3) シンボリックリンクを生成します
sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so
2.6 Nginxをインストールする
tar zxvf nginx-1.1.10.tar.gz
cd nginx-1.1.10/
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module
作る
メイクインストール
Nginxを起動する
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
サービスを再起動します:/usr/local/nginx/sbin/nginx
サービスを停止: killall nginx
3. アプリケーションのデプロイメント
3.1 環境の展開
vi /usr/local/nginx/conf/nginx.conf
追加
サーバー{
7070 をリッスン #外部ネットワーク アクセス ポート番号
サーバー名 blue-desk.com.cn;
場所 / {
U root/usr/local/src/wwwroot;#アプリケーションのアドレス
オフ
}エラーページ 500 502 503 504 /50x.html;
場所 = /50x.html {
ルート HTML;
}
場所 ~ .php$ {
️以来_ FastCGI_PASS 10.128.7.101:9000;#-PHP-FPM に接続されている接続ポート番号、PHP-FPM 設定は /usr/local/php/php-fpm.conf にあります
fastcgi_indexindex.php;
fastcgi_param SCRIPT_FILENAME /usr/local/src/wwwroot$fastcgi_script_name; #/usr/local/src/wwwroot アプリケーションアドレス
E には fastcgi_params が含まれます。
}}
3.2 アプリケーションの設定
アプリケーション構成を考えてみましょう
データベース名: mysql
ユーザー名: root
データベースパスワード: 123456
上記は、Ubuntu マシンでの PHP テスト環境の展開を内容も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。