Ubuntu環境でPHPとNginxをコンパイルしてインストールする方法

Ubuntu環境でPHPとNginxをコンパイルしてインストールする方法

この記事では、Ubuntu 環境で PHP と Nginx をコンパイルしてインストールする方法について説明します。ご参考までに、詳細は以下の通りです。

nginxをコンパイルしてインストールする

作業フォルダにディレクトリを変更します:

/usr/local/src をコピーします

pcreソースコードをダウンロードしてインストールします

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz
tar -zxvf pcre2-10.20.tar.gz
mv ./pcre2-10.20.tar.gz ./pcre 
cd pcre
./configure --prefix=/usr/local/pcre
作成 && インストール

zlibソースコードをダウンロードしてインストールする

http://tenet.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz を取得します。
tar -zxvf zlib-1.2.8.tar.gz
mv ./zlib-1.2.8.tar.gz ./zlib
cd zlib
./configure --prefix=/usr/local/zlib
作成 && インストール

nginxのソースコードをダウンロードしてインストールする

http://nginx.org/download/nginx-1.8.1.tar.gz をダウンロードしてください
tar -zxvf nginx-1.8.1.tar.gz
nginx-1.8.1をインストールします
./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre --with-zlib=/usr/local/zlib
作成 && インストール

起動時にnginxを起動する

/ect/init.d/nginxを追加し、スクリプトを記述します。

#!/bin/bash
# 説明: CentOS 上の Web サーバーの起動スクリプト。/etc/init.d にコピーして
# chkconfig --add nginx && chkconfig nginx on
# その後、serverコマンドを使用してnginxを制御できます
#
# chkconfig: 2345 08 99
# 説明: nginx を起動、停止します
セット-e
PATH=$PATH:/usr/local/nginx/sbin/
DESC="nginxデーモン"
名前=nginx
デーモン=/usr/local/nginx/sbin/$NAME
設定ファイル=/usr/local/nginx/conf/nginx.conf
PIDファイル=/var/run/nginx.pid
スクリプト名=/etc/init.d/$NAME
# パッケージが削除された場合は正常に終了します。
テスト -x $DAEMON || 終了 0
d_start() {
$DAEMON -c $CONFIGFILE || echo -n " すでに実行中"
}
d_stop() {
kill -QUIT `cat $PIDFILE` || echo -n " ​​実行されていません"
}
d_reload() {
kill -HUP `cat $PIDFILE` || echo -n " ​​リロードできません"
}
ケース「$1」
始める)
echo -n "$DESC を開始: $NAME"
d_開始
「。」をエコーし​​ます。
;;
停止)
echo -n "$DESC を停止しています: $NAME"
d_ストップ
「。」をエコーし​​ます。
;;
リロード
echo -n "$DESC 設定を再読み込みしています..."
d_リロード
「リロードされました。」とエコーします。
;;
再起動)
echo -n "$DESC: $NAME を再起動しています"
d_ストップ
睡眠1
d_開始
「。」をエコーし​​ます。
;;
*)
echo "使用法: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
出口3
;;
エサック
終了 0

chmod +x /etc/init.d/nginx
chkconfig --add nginx
chkconfig --level 2345 nginx オン
サービス nginx 開始

ソースコードからphp5.6をコンパイルしてインストールする

PHPソースコードをダウンロード

/usr/local/src をコピーします
http://cn2.php.net/get/php-5.6.24.tar.gz/from/this/mirror から取得
mv ミラー php-5.6.24.tar.gz
tar -zxvf php-5.6.24.tar.gz
php-5.6.24をインストールします

依存コンポーネントをインストールする

XML 拡張

apt-get で libxml2-dev をインストールします

png拡張子

apt-get で libpng12-dev をインストールします

FreeType 拡張機能

apt-get -y でlibfreetype6-devをインストールします

openssl 拡張

apt-get で openssl をインストール
apt-get で libcurl3-openssl-dev をインストールします

jpeg拡張子

apt-get で libjpeg-dev をインストールします

コンパイルステートメント

設定ファイルを生成する

./CONFIGURE -PREFIX =/OPT/PHP-WITH-CONFIG-FILE-PATH =/PHP/LIB -ENABLE-MBSTRING-WITH-JPEG-DIR =/USR -WITH-PNG-DIR =/USR -WITH-MYSQL = MYSQLND -WITH-MYSQLND-with-with-with-with-dsql -openssl -with-pdo-mysql = mysqlnd -with-sockets-with-freeType-dir =/usr-enable-gd-native-with-zlib -with-libxml-dir =/usr -with-xmlrpc-enable-zip-enable-fcpml-fmm -with-zlib -with-iconv  -  enable-zip -with-freeType-dir =/usr/lib/-enable-soap -enable-pcntl -enable-cli

依存コンポーネントをインストールした後は、エラーは発生しません。エラーが発生した場合は、不足しているコンポーネントをインストールし、構成ファイルを再生成してください。

コンパイルとインストール

作成 && インストール

PHPサーバーの構成を表示する

サーバーを移行する場合、設定ファイルを生成するためのコードは、元の PHP サーバーと一致している必要があります。php-config --configure-options を使用してこれを表示できます。

php-configの場所はphp/bin/php-configです。

php.ini が見つかりませんか?

PHP を直接コンパイルしてインストールすると、php.ini は存在しません。解凍したディレクトリから /opt/php/lib にコピーし、設定して有効にすることができます。

/opt/php/libは./configureで設定されたパスです

この記事が Ubuntu 環境の設定に役立つことを願っています。

以下もご興味があるかもしれません:
  • Ubuntu で PHP 5.3.3+memcache をコンパイルしてインストールする方法
  • Ubuntu12でPHP5.3開発環境をコンパイルしてインストールする
  • Ubuntu 16.04 でソースコードから PHP 5.6.29 をコンパイルしてインストールするチュートリアル
  • Ubuntu で php5.3 用の xcache をコンパイルしてインストールする具体的な手順
  • Ubuntu nginxのコンパイルとインストールのパラメータ設定
  • Ubuntu ベースの nginx+php+mysql をインストールおよび構成するための具体的な手順
  • Ubuntu に PHP をインストールして PHP Nginx を設定する方法
  • Ubuntu+Nginx+Mysql+Php+Zend+eaccelerator のインストールと設定のテキスト版
  • Xen ベースの VPS ubuntu+nginx+php インストール チュートリアル
  • ubuntu14.04LTS に nginx+mariaDB+php7+YAF をインストールする方法
  • Ubuntu 16.04 に Nginx サーバー用の LEMP スタックをインストールする (MariaDB、PHP 7、HTTP 2.0 をサポート)

<<:  MySQL 8.0.12 のインストールと設定のグラフィックチュートリアル

>>:  Vue+thinkphp5.1+axiosでファイルアップロードを実現

推薦する

JavaScript でよく使われる 3 つの Web エフェクトの詳細な説明

目次1要素オフセットシリーズ1.1 オフセットの概要1.2 オフセットとスタイルの違い視覚領域クライ...

MySQL でタイムスタンプを日付に変換する例

序文職場で次のような状況に遭遇しました。ログ システムのテーブルでは、時間フィールドには日付データで...

複数のネットワークカードを備えた Linux システムでのルーティング構成の詳細な説明

Linux でのルーティング設定コマンド1. ホストルーティングを追加する ルートを追加 -host...

24 の実用的な JavaScript 開発のヒント

目次1.配列を初期化する2. 配列の合計、最大値、最小値3. エラー値をフィルタリングする4. 論理...

Windows 10 64 ビット版に MySQL 5.6.35 をインストールするためのグラフィック チュートリアル

1. MySQL Community Server 5.6.35をダウンロードするダウンロードアドレ...

SQL と MySQL のステートメント実行順序の分析

今日、問題が発生しました: MySQL の insert into、update、delete ステ...

jQueryカルーセル機能を実装する方法

この記事では、jQueryカルーセル機能の実装コードを参考までに共有します。具体的な内容は次のとおり...

ウェブデザインにおけるポップアップウィンドウとフローティングレイヤーのデザイン

従来のソフトウェアから Web ウェアへの段階的な移行の傾向の中で、デザイン パターンとテクノロジは...

LinuxにVSCodeをダウンロードしてインストールし、プログラミングを使用して現在の時刻を出力する

rpmコマンドがソフトウェアのインストールに使用するパラメータはどれですか: -i rpm コマンド...

HTMLヘッダータグの使用に関する詳細な説明

HTMLはヘッドとボディの2つの部分で構成されています** ヘッド内のタグはヘッドタグです** タイ...

Tomcat8はcronologを使用してCatalina.Outログを分割します

背景tomcat によって生成された catalina.out ログ ファイルが分割されていない場合...

Tomcat サービスに Java 起動コマンドを追加する方法

私の最初のサーバープログラム現在、オンラインゲームの書き方を学んでいるので、サーバーサイドのプログラ...

MySQLとRedisキャッシュ間の同期ソリューションについての簡単な説明

目次1. ソリューション 1 (UDF)デモケース2. ソリューション2(binlogの解析)キャナ...

よくある CSS のヒントと経験談 11 選

1. 画像の下にある数ピクセルの空白を削除するにはどうすればよいですか?コードをコピーコードは次のと...