国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Docker的LNMP一鍵安裝開發(fā)環(huán)境 + PHP非侵入式監(jiān)控平臺xhgui(優(yōu)化系統(tǒng)性能、定位Bu

AlanKeene / 1329人閱讀

摘要:的一鍵安裝開發(fā)環(huán)境非侵入式監(jiān)控平臺優(yōu)化系統(tǒng)性能定位的神器之前在用做本地開發(fā)環(huán)境,因?yàn)闆]有這些對程序性能追蹤及分析的工具,所以索性基于的編排了一套自己使用。

DNMP PLUS

dnmp = Docker + Nginx + MySQL + PHP + Redis + MongDB

plus = xhgui + xhprof + tideways

dnmp-plus = PHPer 的一鍵安裝開發(fā)環(huán)境 + PHP 非侵入式監(jiān)控平臺(優(yōu)化系統(tǒng)性能、定位 Bug 的神器)


之前在用 laradock 做本地開發(fā)環(huán)境,因?yàn)?laradock 沒有 xhgui、xhprof、tideways 這些對 PHP 程序性能追蹤及分析的工具,所以索性基于 yeszao 的 dnmp 編排了一套自己使用。

DNMP PLUS 項(xiàng)目特點(diǎn),在 yeszao 的 DNMP 項(xiàng)目基礎(chǔ)上新增:

PHP xhprof 擴(kuò)展 - Facebook 開發(fā)的 PHP 性能追蹤及分析工具

PHP tideways 擴(kuò)展 - xhprof 的分支,支持 PHP7

PHP mongodb 擴(kuò)展

MongoDB 服務(wù)

Mongo Express - MongoDB 服務(wù)管理系統(tǒng)

xhgui - XHProf 分析數(shù)據(jù)數(shù)據(jù)的 GUI 系統(tǒng)

推薦閱讀

dnmp-plus PHPer 的一鍵安裝式終極 debug 開發(fā)環(huán)境

dnmp-plus 一鍵安裝式環(huán)境詳細(xì)安裝與使用

超全的設(shè)計(jì)模式簡介(45種)

design-patterns-for-humans 中文版

MongoDB 資源、庫、工具、應(yīng)用程序精選列表中文版

有哪些鮮為人知,但是很有意思的網(wǎng)站?

一份攻城獅筆記

每天搜集 Github 上優(yōu)秀的項(xiàng)目

一些有趣的民間故事

超好用的谷歌瀏覽器、Sublime Text、Phpstorm、油猴插件合集

目錄結(jié)構(gòu)
├── .github                     Github 配置目錄
├── conf                        配置文件目錄
│   ├── conf.d                  Nginx 用戶站點(diǎn)配置目錄
│   ├── mysql.cnf               MySQL 用戶配置文件
│   ├── nginx.conf              Nginx 默認(rèn)配置文件
│   ├── php-fpm.conf            PHP-FPM 配置文件
│   ├── php.ini                 PHP 配置文件
│   ├── redis.conf              Redis 配置文件
├── docs                        文檔目錄
├── extensions                  PHP 擴(kuò)展源碼包
├── log                         日志目錄
├── mongo                       MongoDB 數(shù)據(jù)目錄
├── mysql                       MySQL 數(shù)據(jù)目錄
├── www                         PHP 代碼目錄
├── Dockerfile                  PHP 鏡像構(gòu)建文件
├── docker-compose-sample.yml   Docker 服務(wù)配置示例文件
├── env.smaple                  環(huán)境配置示例文件
└── travis-build.sh             Travis CI 構(gòu)建文件
環(huán)境要求

Docker

Docker-compose

Git

快速使用
$ git clone https://github.com/guanguans/dnmp-plus.git --recursive
$ cd dnmp-plus
$ cp env.sample .env
$ cp docker-compose-sample.yml docker-compose.yml
$ docker-compose up -d

默認(rèn) web 根目錄 www/localhost/,瀏覽器訪問 http://localhost

基本使用

lnmp-plus 自帶 nginx、php72、php56、mysql、mongo、redis、phpmyadmin、phpredisadmin、mongo-express 這些鏡像服務(wù)

# 創(chuàng)建并且啟動容器
$ docker-compose up 服務(wù)1 服務(wù)2 ...
# 創(chuàng)建并且啟動所有容器
$ docker-compose up

# 創(chuàng)建并且已后臺運(yùn)行的方式啟動容器
$ docker-compose up -d 服務(wù)1 服務(wù)2 ...

# 啟動服務(wù)
$ docker-compose start 服務(wù)1 服務(wù)2 ...

# 停止服務(wù)
$ docker-compose stop 服務(wù)1 服務(wù)2 ...

# 重啟服務(wù)
$ docker-compose restart 服務(wù)1 服務(wù)2 ...

# 構(gòu)建或者重新構(gòu)建服務(wù)
$ docker-compose build 服務(wù)1 服務(wù)2 ...

# 進(jìn)入命令行容器
$ docker-compose exec 服務(wù) bash

# 刪除并且停止容器
$ docker-compose rm 服務(wù)1 服務(wù)2 ...

# 停止并刪除容器,網(wǎng)絡(luò),圖像和掛載卷
$ docker-compose down 服務(wù)1 服務(wù)2 ...
xhgui 使用,可以參考 https://github.com/guanguans/... 安裝
$ cd www/xhgui-branch
$ composer install
修改 xhgui-branch 配置文件 www/xhgui-branch/config/config.default.php
 true, // 改為true,便于調(diào)試
    "mode"         => "development",
    ...
    "extension"    => "tideways", // 改為支持 PHP7 的 tideways
    ...
    "save.handler" => "mongodb",
    "db.host"      => "mongodb://mongo:27017", // 127.0.0.1 改為 mongo
    ...
);
hosts 文件中增加
127.0.0.1             xhgui.test
瀏覽器訪問 http://xhgui.test

在要分析項(xiàng)目 nginx 配置文件中修改,以默認(rèn)的 localhost 配置 conf/conf.d/localhost.conf 為例
...
location ~ .php$ {
    fastcgi_pass   php72:9000;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    # 在執(zhí)行主程序之前運(yùn)行我們指定的PHP腳本
    fastcgi_param  PHP_VALUE "auto_prepend_file=/var/www/html/xhgui-branch/external/header.php"; 
}
...
重啟 nginx
$ docker-compose restart nginx
瀏覽器訪問 http://localhost,再訪問 http://xhgui.test,此時已經(jīng)有了內(nèi)容,愉快的查看項(xiàng)目的性能追蹤及分析吧

PHP 和擴(kuò)展 切換 Nginx 使用的 PHP 版本

默認(rèn)同時創(chuàng)建 PHP5.6PHP7.2 2 個 PHP 版本的容器,切換 PHP 僅需修改相應(yīng)站點(diǎn) Nginx 配置的 fastcgi_pass 選項(xiàng),例如,示例的 http://localhost 用的是 PHP7.2,Nginx 配置:

fastcgi_pass   php72:9000;

要改用 PHP5.6,修改為:

fastcgi_pass   php56:9000;

重啟 Nginx 生效

$ docker-compose restart nginx
安裝 PHP 擴(kuò)展

PHP 的很多功能都是通過擴(kuò)展實(shí)現(xiàn),而安裝擴(kuò)展是一個略費(fèi)時間的過程,
所以,除 PHP 內(nèi)置擴(kuò)展外,在 env.sample 文件中我們僅默認(rèn)安裝少量擴(kuò)展,
如果要安裝更多擴(kuò)展,請打開你的 .env 文件修改如下的 PHP 配置,
增加需要的 PHP 擴(kuò)展:

PHP72_EXTENSIONS=pdo_mysql,opcache,redis,xdebug,mongodb,tideways
PHP56_EXTENSIONS=opcache,redis,xdebug,mongodb,xhprof

然后重新構(gòu)建 PHP 鏡像

docker-compose build php72
docker-compose up -d
使用 Log

Log 文件生成的位置依賴于 conf 下各 log 配置的值。

Nginx 日志

Nginx 日志是我們用得最多的日志,所以我們多帶帶放在根目錄 log 下。log 會目錄映射 Nginx 容器的 /var/log/nginx 目錄,所以在 Nginx 配置文件中,需要輸出 log 的位置,我們需要配置到 /var/log/nginx 目錄,如:

error_log  /var/log/nginx/nginx.localhost.error.log  warn;
MySQL 日志

因?yàn)?MySQL 容器中的 MySQL 使用的是 mysql 用戶啟動,它無法自行在 /var/log 下的增加日志文件。所以,我們把 MySQL 的日志放在與 data 一樣的目錄,即項(xiàng)目的mysql目錄下,對應(yīng)容器中的 /var/lib/mysql/ 目錄。

mysql.conf 中的日志文件的配置:

slow-query-log-file     = /var/lib/mysql/mysql.slow.log
log-error               = /var/lib/mysql/mysql.error.log
數(shù)據(jù)庫管理

默認(rèn) phpMyAdmin 地址:http://localhost:8080

默認(rèn) phpRedisAdmin 地址:http://localhost:8081

默認(rèn) Mongo Express 地址:http://localhost:8082

參考鏈接

https://github.com/yeszao/dnmp,yeszao

https://github.com/laynefyc/xhgui-branch/,laynefyc

License

MIT

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/27941.html

相關(guān)文章

  • DockerLNMP一鍵安裝開發(fā)環(huán)境 + PHP侵入監(jiān)控平臺xhgui(優(yōu)化系統(tǒng)性能定位Bu

    摘要:日志日志是我們用得最多的日志,所以我們單獨(dú)放在根目錄下。會目錄映射容器的目錄,所以在配置文件中,需要輸出的位置,我們需要配置到目錄,如日志因?yàn)槿萜髦械氖褂玫氖怯脩魡樱鼰o法自行在下的增加日志文件。 DNMP PLUS dnmp = Docker + Nginx + MySQL + PHP + Redis + MongDB plus = xhgui + xhprof + tideway...

    luzhuqun 評論0 收藏0
  • Tideways、xhprof 和 xhgui 打造 PHP 侵入監(jiān)控平臺

    摘要:參考配置添加,告訴程序在執(zhí)行前要調(diào)用的服務(wù)或者也可以在修改配置文件,告訴程序在執(zhí)行前要調(diào)用的服務(wù)參考鏈接 showImg(https://segmentfault.com/img/bVbt7t1?w=2880&h=2608); 推薦閱讀 Tideways、xhprof 和 xhgui 打造 PHP 非侵入式監(jiān)控平臺 超全的設(shè)計(jì)模式簡介(45種) design-patterns-for...

    shevy 評論0 收藏0
  • Tideways、xhprof 和 xhgui 打造 PHP 侵入監(jiān)控平臺

    摘要:參考配置添加,告訴程序在執(zhí)行前要調(diào)用的服務(wù)或者也可以在修改配置文件,告訴程序在執(zhí)行前要調(diào)用的服務(wù)參考鏈接 showImg(https://segmentfault.com/img/bVbt7t1?w=2880&h=2608); 推薦閱讀 Tideways、xhprof 和 xhgui 打造 PHP 非侵入式監(jiān)控平臺 超全的設(shè)計(jì)模式簡介(45種) design-patterns-for...

    Cympros 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<