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でファイルアップロードを実現

推薦する

MySQL: MySQL 関数

1. 組み込み関数1. 数学関数ランド()丸め(数値) ceil(数値)階数(数値)ランダム丸め切り...

仮想マシンに Linux rhel7.3 オペレーティング システムをインストールする (具体的な手順)

仮想化ソフトウェアをインストールする仮想マシンにオペレーティング システムをインストールする前に、ホ...

JavaScript 状態コンテナ Redux の詳細な説明

目次1. Reduxを選ぶ理由2. Reduxデータフロー3つの原則4. Reduxソースコード分析...

2021年の花火効果をJSで描画(ソースコードダウンロード付き)

この作品はフロントエンド開発(JSコンテンツ)の知識を使用していますが、フロント部分の後半部分の知識...

MySQL 5.7 のインストールと設定のチュートリアル

この記事では、参考までにMySQLのインストールと設定のチュートリアルを紹介します。具体的な内容は次...

Vueでドラッグ可能なコンポーネントを実装する方法

この記事では、Vueでドラッグ可能なコンポーネントとドラッグ可能なコンポーネントを実装する方法を参考...

dockerを使用してTomcatをデプロイし、Skywalkingに接続する

目次1. 概要2. dockerを使用してTomcatをデプロイし、Skywalkingに接続する要...

実行中の Docker コンテナにボリュームを動的に追加する方法

以前、Docker コンテナの起動後にボリュームをマウントできるかどうか尋ねられたことがあります。m...

Mysql は最大接続数を表示し、最大接続数を変更します

MySQL 最大接続数の表示と最大接続数の変更1. 最大接続数を確認する '%max_con...

MySQL マスター スレーブ データベースが同期されない問題を解決する 2 つの方法

目次MySQL マスター スレーブ データベースが同期されない問題を解決する 2 つの方法1. 非同...

JavaScript 事前分析、オブジェクトの詳細

目次1. 事前分析1. 変数の事前解析と関数の事前解析1. 変数の事前解析2. 機能事前分析2. 事...

lnmp を使用して MySQL データベースのルート パスワードをリセットする 2 つの方法

最初の方法: Junge のワンクリック スクリプトを使用して、LNMP 環境で MYSQL データ...

JS でオブジェクト プロパティを簡単にトラバースするいくつかの方法

目次1. 自己列挙可能なプロパティ2. Object.values()はプロパティ値を返します3. ...

Linux システムのシャットダウンコマンドの違いと使い方の詳細な説明

Linux システムのシャットダウン コマンドは何ですか? Liangxu Tutorial Net...

JavaScript 構造化代入の詳細な説明

目次コンセプト配列の分割値を個別に宣言して割り当てるデフォルト値の構造化解除変数値の交換関数によって...