php7 + nginx + mysql インストール小計

WBOY
リリース: 2016-06-20 12:37:39
オリジナル
992 人が閲覧しました

【旧正月なので、過去記事を毎日1記事ずつ、計7記事投稿していきます。 】

このアイデアは、最初にソースを使用し、php5 と php5 が依存するすべてのプロジェクトをインストールし、次に phpbrew をインストールし、phpbrew を通じて php のバージョンを管理し、7.0.0 をインストールすることです。 まず依存関係をいくつかインストールします

apt-get install gccapt-get install libmcrypt-dev libreadline-dev
ログイン後にコピー

php5 が依存するすべてのプロジェクト

apt-get build-dep php5-cli
ログイン後にコピー

をインストールします。これには mysql も含まれます。これにより、mysql の root パスワードの入力が求められます。 インストール完了後、現時点でのphpのバージョンを確認するとphp5.6.14(debian8系、ソースも新しい)

phpbrewをインストール( https:// github.com/phpbrew /phpbrew )

curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrewchmod +x phpbrewsudo mv phpbrew /usr/local/bin/phpbrewphpbrew init
ログイン後にコピー

さて、実際にphpbrewの実行ファイルをダウンロードしてPATHに置きます。 次に、次のコマンドを .bashrc に追加し、.bashrc を有効にします:

[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc
ログイン後にコピー

有効にします:

source ~/.bashrc
ログイン後にコピー

phpbrew を使用して、php7.0.0 をコンパイルしてインストールします。

phpbrew install 7.0.0 +default
ログイン後にコピー

OK、それでは素晴らしいインストールプロセスをお楽しみください。

古いルーチンである nginx をコンパイルします。

./configure --user=www-data --group=www-data --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6make -j2make install
ログイン後にコピー

Debian は、systemd を使用してサービスを管理します。 まず、nginx 構成ファイルを作成します。

[Unit]Description=The nginx HTTP and reverse proxy serverAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStartPre=/usr/local/nginx/sbin/nginx -tExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target
ログイン後にコピー

起動、問題なし:

systemctl start nginx.service
ログイン後にコピー

その後、php環境を確認したところ、fpmがインストールされていないことが分かりました。そのため、「メンテナンスのために工場に戻り」、再コンパイルして、fpm をインストールする必要がありました。 (後で、gd ライブラリがインストール時に ttf と jpeg をサポートしていないことが判明したため、ここでいくつかの修正を行う必要があります)

phpbrew install 7.0.0 +default+fpm+mysql+intl -- --with-jpeg-dir=/usr --with-png-dir=/usr --with-gd=shared --enable-gd-natf --enable-gd-native-ttf --with-freetype-dir=/usr
ログイン後にコピー

再コンパイル後、ワンクリックで php7-fpm を起動できます。

phpbrew fpm startphpbrew fpm stop
ログイン後にコピー

エラーが発生しました。fpm プールが存在しないというメッセージが表示されました。

cd /root/.phpbrew/php/php-7.0.0/etc/php-fpm.d/cp www.conf.default www.conf
ログイン後にコピー

www.conf で、ユーザーがプールを設定する必要があることがわかりました。そして group と listen-user と listen- を www-data に変更し、listen の 9000 ポートを UNIX ドメインソケットに変更します: listen = /var/run/php7-fpm.sock を再起動すればOKです。

php-fpm を nginx 構成ファイルに追加します:

location ~ \.php$ {  root           html;  fastcgi_pass   unix:/var/run/php7-fpm.sock;  fastcgi_index  index.php;  include        fastcgi.conf;}
ログイン後にコピー

php コードを /usr/local/nginx/html に追加すると、phpinfo に正常にアクセスできます:

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート