LNMP部署laravel與xhprof安裝使用

darry發表於2019-02-16

整個過程部署laravel與xhprof安裝

前提成功安裝了LNMP整合環境 (lnmp.org 即可快速安裝),保證network正常執行

首先配置laravel的執行環境

1.上傳程式碼到/home/wwwroot/default/
2.修改nginx配置檔案的root以及rewrite配置

#root 配置為自己的訪問路徑

#引入pathinfo 配置,註釋掉include enable-php.conf
include enable-php-pathinfo.conf;

#新增rewrite規則
location / {
    if (!-e $request_filename){
        rewrite ^/(.*)$ /index.php/$1 last;
        break;
    }
}
location ~ /index.php {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root/index.php;
    include        fastcgi_params;
    fastcgi_param APPLICATION_ENV dev;
}

3.修改許可權

#對laravel專案修改storage和vendor為777不能775
$ chmod -R 777 storage vendor

4.laravel指定的public下,需要防跨目錄

#LNMP 1.4上如果不想用防跨目錄或者修改.user.ini的防跨目錄的目錄還需要將
/usr/local/nginx/conf/fastcgi.conf 裡面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
在該行行前新增 # 或刪除改行,需要重啟nginx。

5.資料庫操作(可省略根據自己情況運算元據)

#賦予外部所有許可權
GRANT ALL PRIVILEGES ON *.* TO `root`@`%` IDENTIFIED BY `root` WITH GRANT OPTION;
#然後寫入資料庫等資訊

安裝配置xhprof

1.下載安裝xhprof

$ cd /home/wwwroot/default
$ wget http://pecl.php.net/get/xhprof-0.9.4.tgz
$ tar -zxvf xhprof-0.9.4.tgz xhprof
$ mv xhprof-0.9.4 xhprof
$ cd xhprof
$ cd extension/
$ phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config --enable-xhprof     #更近自己的php安裝來配置
$ make
$ sudo make install

2.修改php.ini

#新增到最後
[xhprof]
extension=xhprof.so
xhprof.output_dir=/tmp/xhprof

#在tmp下新建xhprof,同時賦予讀寫許可權
$ cd /tmp && mkdir xhprof
$ chmod -R 777 xhprof

3.安裝 graphviz

$ cd && yum -y install graphviz

4.新增一個vhost(舉個例子:www.xhproftest.com)

#更近個人情況配置如不知道,https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini教程安裝
$ lnmp vhost add

#修改/usr/local/nginx/conf/vhost/www.xhproftest.com.conf配置檔案,將nginx.conf的server複製修改埠好以及訪問路徑和server_name。
#重啟啟動Nginx

laravel專案中配置xhprof

#啟動 xhprof 效能分析器
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);


#需要測試的內容
foo();


#停止 xhprof 效能分析器
$xhprofData = xhprof_disable();

#根據自己安裝的xhprof寫require的路徑
require `/home/wwwroot/xhprof/xhprof_lib/utils/xhprof_lib.php`;
require `/home/wwwroot/xhprof/xhprof_lib/utils/xhprof_runs.php`;

$xhprofRuns = new XHProfRuns_Default();
$runId = $xhprofRuns->save_run($xhprofData, `xhprof_test`);

echo `http://localhost/xhprof/xhprof_html/index.php?run=` . $runId . `&source=xhprof_test`;

相關文章