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

推薦する

Xshell を使用して VMware 上の Linux 仮想マシンに接続する (グラフィック手順)

はじめに: 最近 Hadoop プラットフォームの構築を勉強し始めたので、ローカルマシンに VMwa...

MySQLの最適化の詳細な分析とパフォーマンス

導入データベースを使用したことがある人なら、機能面での like 記号と = 記号の類似点と相違点を...

Vue-cliはプロジェクトを作成し、プロジェクト構造を分析します

目次1. ディレクトリを入力してプロジェクトを作成する2. 必要な設定項目を選択します2.1 Vue...

MySQL データベースに基づくデータ制約の例と 5 つの整合性制約の紹介

非準拠データがデータベースに入るのを防ぐために、ユーザーがデータを挿入、変更、削除、その他の操作を行...

MySQL 5.7.17 圧縮バージョンのインストールノート

この記事では、参考までにMySQL 5.7.17圧縮版のインストール手順を紹介します。具体的な内容は...

インタラクティブデザインでページングと読み込みのどちらを選択するかについての説明

この記事の著者@子木yoyoが個人ブログに投稿したものです。 Web ページでもモバイル アプリでも...

Docker CPU 制限の実装

1. --cpu=<値> 1) コンテナが使用できるCPUリソースの量を指定しますが、コ...

MySQL 8.0 バージョンで getTables がすべてのデータベース テーブルを返す問題の簡単な分析

序文この記事では、主にライブラリ内のすべてのテーブルを返すMysql8.0ドライバgetTables...

ウェブページの右側に固定されたフローティングレイヤーの実装コード

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

CentOS 8 / RHEL 8 に VirtualBox 6.0 をインストールするための詳細なチュートリアル

VirtualBox は、技術者が異なる種類の複数の仮想マシン (VM) を同時に実行できるようにす...

子コンポーネントを通じて親コンポーネントのプロパティを変更するための Vue のさまざまな実装方法

目次序文一般的な方法1. 親コンポーネントを介して子コンポーネントの発行イベントをリッスンしてpro...

MySQL DML ステートメントの概要

DML 操作とは、データベース内のテーブル レコードに対する操作を指し、主にテーブル レコードの挿入...

面接の質問: 3 行 3 列のレイアウト、表は結合され、ネストされた表は許可されません

面接の質問で、3 行 3 列のレイアウトが求められます。1 行目の 2 番目の列と 2 行目の 2 ...

SQL と NoSQL の違いのまとめ

主な違い: 1. タイプSQL データベースは主にリレーショナル データベース (RDBMS) とし...

EXPLAIN コマンドの詳細な説明と MySQL での使用方法

1. シナリオの説明: 同僚から MySQL で explain を使用する方法を教わったので、返さ...