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 8.0 の binlog の詳細な説明

1 はじめにバイナリ ログは、データを持つ、またはデータを変更する可能性がある SQL ステートメン...

MySQL データベースを最適化する 8 つの方法の詳細な説明 (必読の定番)

導入:インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質に...

ハイパーコネクションの4つの状態の適用の詳細な説明

ブラウザの問題かもしれないと思うかもしれませんが、スタイル定義の順序が間違っている可能性が高いです。...

MySQL 起動時に報告される ERROR:2002 の分析と解決方法

序文この記事は主にMySQL起動エラー2002の分析と解決方法を紹介しています。参考と勉強のために共...

Dockerリンクはコンテナの相互接続を実現します

目次1.1. IP経由のコンテナ間のネットワークアクセス1.2. コンテナ名またはコンテナIDによる...

HTMLでのフォーム送信の実装

フォーム送信コード1. ソースコード分析 <!DOCTYPE html> <htm...

LeetCode の SQL 実装 (175. 2 つのテーブルの結合)

[LeetCode] 175.2つのテーブルを結合する表: 人物+-------------+--...

Docker ベースの Tomcat クラスタと Nginx ロード バランシングの展開の概要

目次前面に書かれた1. Ngixnイメージの作成2. Java Web (Tomcat) アプリケー...

Node.jsとDenoの比較

目次序文Denoとは何ですか? Node.jsとの比較建築ESモジュール依存関係の管理TypeScr...

Web デザイン体験: 5 つの優れた Web デザイン コンセプトの完全分析 (画像)

他の種類のデザインとは異なり、Web デザインは時代の発展とともに常に変化しています。したがって、W...

ウェブページ作成時に標準 HTML コードを使用する際のポイント

多くの Web サイト デザイナーが犯す最も一般的な間違いは、Web ページが IE で正常に表示さ...

Vueは、サイドナビゲーションバーをタブページに関連付けるサンプルコードを実装します。

目次テクノロジースタック効果分析するテクノロジースタックサイドバー用Antdtabは要素を使用します...

CocosCreatorでスワイプした位置にテクスチャを表示する方法

目次1. プロジェクト要件2. 文書の内容3. プロジェクト例4. プロジェクトコード1. プロジェ...

複雑なウェブサイトのナビゲーションを簡素化

<br />ナビゲーション設計は構造設計における主要なタスクの 1 つです。ソフトウェア...

MySQL 8のパスワードを忘れた場合のベストな対処法の簡単な分析

序文MySQL に精通している読者は、MySQL が非常に迅速に更新されることに気付くかもしれません...