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

推薦する

Vue.set() と this.$set() の使い方と違い

開発に Vue を使用する場合、次のような状況に遭遇することがあります。Vue インスタンスを生成し...

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

MySQL のインストールに関する以前のメモを要約して、皆さんと共有しました。ステップ 1: mys...

HTML テーブル マークアップ チュートリアル (16): タイトルの水平方向の配置属性 ALIGN

デフォルトでは、表のタイトルは水平方向に中央揃えされます。ALIGN 属性を使用して、タイトル テキ...

WeChatミニプログラムでEchartとサブパッケージを使用するための完全な手順

序文休日は終わっていますが、それは別の形で(お腹に触れることで)私たちに現れます。ミニプログラムでデ...

Zabbixのインストールと展開の詳細な説明

序文Zabbix は最も主流のオープンソース監視ソリューションの 1 つです。導入自体は難しくありま...

Linux ログ内のキーワードとその前後の情報を検索する方法の例

日常業務では、ログを表示する必要がよくあります。たとえば、 tail コマンドを使用してログをリアル...

なぜCSSをヘッドタグに配置する必要があるのか

考えてみてください。なぜcss 、 javascriptのようにbodyタグの末尾ではなく、 hea...

Linux でファイルを削除するさまざまな方法の効率の比較

Linux で大量のファイルを削除する効率をテストします。まず500,000個のファイルを作成する$...

mysql5.7.17 zip の解凍とインストールの詳細な手順

1. ダウンロードアドレスhttps://dev.mysql.com/downloads/mysql...

小さな画面のモバイルデバイス向けにWebページを設計する際に注意すべきこと

その理由は、このタイプの Web ページが WAP と呼ばれるワイヤレス プロトコルから生成されたた...

MySQLで日付と時刻を照会する方法

序文:プロジェクト開発では、一部のビジネス テーブル フィールドで日付と時刻の型が使用されることが多...

VMware Workstation Pro が Win10 アップデートにより開けなくなる問題の解決方法

今夜の夕食後にノートパソコンの電源を入れたところ、問題が発生しました。通常、コンピューターがスリープ...

vue-routerフック関数はルーティングガードを実装します

目次概要グローバルフック関数ルーティング固有のフック関数コンポーネント内のフック関数概要ルートガード...

Docker で Oracle 11g イメージ構成をプルダウンする際の問題を分析する

1. イメージをプルするdocker pull レジストリ.cn-hangzhou.aliyuncs...