FreeBSD下NGINX 1.8+PHP5.6 +PERL 5.20 +Mysql 5.6+FTP 環境搭建與優化2


#xcache
管理界面安裝

cp -R /usr/local/share/examples/xcache/htdocs /usr/local/www/domain.com/

#訪問以下地址,輸入xcache配置的帳號密碼進入。

http://doamin.com/xcache

--------------------------------------

#配置memcached web狀態監控界面

--------------------------------------

#memcached
php安裝時已經勾選默認下php支持

#
下載配置腳本:附件 memcache.php.zip
#
修改memcache.php里的管理帳號密碼

define(‘ADMIN_USERNAME’,’memcache’); // Admin Username
define(‘ADMIN_PASSWORD’,’password’); // Admin Password

#memcache.php放到web目錄下

mv memcache.php /usr/local/www/domain.com/

#訪問memcached狀態監控界面

http://domain.com/memcache.php

--------------------------------------

#配置安裝perl的支持腳本(讓nginx支持cgi pl

--------------------------------------

#
啟動腳本
/etc/rc.conf 增加 perl_fcgi_enable=”YES” 開機自動啟動。

chmod 777 /usr/local/etc/rc.d/perl-fcgi
/usr/local/etc/rc.d/perl-fcgi

# nginx調用的fastcgi_perl解析腳本。

chmod 777 /usr/local/etc/perl-fcgi.pl
/usr/local/etc/perl-fcgi.pl

vi /usr/local/www/domain.com/perltest.cgi

#以下是代碼:

#!/usr/bin/perl
print “Content-type: text/html\n\n”;

use strict;
use ExtUtils::Installed;

my $inst= ExtUtils::Installed->new();

my @modules = $inst->modules();

foreach(@modules)

{

my $ver = $inst->version($_) || “???”;

printf(“%-12s — %s\n”, $_, $ver);
printf(“”);

}

exit ;

#啟動perl-fcgi服務

/usr/local/etc/rc.d/perl-fcgi restart

#訪問查看perl已安裝模塊情況:http://domain.com/perltest.cgi

--------------------------------------

#安裝mysql數據服務

--------------------------------------

cd /usr/ports/databases/mysql56-server
make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_COLLATION=utf8_general_ci PTHREAD_LIBS=-lthr WITHOUT_INNODB=yes WITH_OPENSSL=yes BUILD_OPTIMIZED=yes install clean

#啟動mysql
自動會進行初始化

/usr/local/etc/rc.d/mysql-server start

mysql 5.6在初始化以後會在/usr/local/下生成my.cnf ,使用附件優化過的my.cnf替換它。

#
下載配置腳本:附件 my.cnf.zip
mv my.cnf /usr/local/my.cnf

#重啟啟動mysql
應用新配置

/usr/local/etc/rc.d/mysql-server restart

--------------------------------------

#安裝ftp服務器

--------------------------------------

cd /usr/ports/ftp/pure-ftpd && make install clean

#下載配置腳本:附件 pure-ftpd.zip

pure-ftpd主配置文件

/usr/local/etc/pure-ftpd.conf

pure-ftpd mysql配置文件

/usr/local/etc/pureftpd-mysql.conf

#修改pureftpd mysql配置文件,修改為自己的mysql配置信息

vi /usr/local/etc/pureftpd-mysql.conf

pure-ftpd mysql數據庫腳本,導入數據庫

ftpadmin/extra/script.mysql

pure-ftpdweb管理界面ftpadmin
mv ftpadmin /usr/local/www/domain.com

#配置pure-ftpdweb管理系統,修改為自己的mysql配置信息

vi /usr/local/www/domain.com/ftpadmin/config.php

訪問pureftpd web管理界面

http://domain.com/ftpadmin

--------------------------------------

#檢查開機啟動的配置

--------------------------------------

vi /etc/rc.conf

#############################
sendmail_enable=”NO”
sendmail_submit_enable=”NO”
sendmail_outbound_enable=”NO”
sendmail_msp_queue_enable=”NO”
############################
mysql_enable=”YES”
memcached_enable=”YES”
redis_enable=”YES”
############################
php_fpm_enable=”YES”
perl_fcgi_enable=”YES”
nginx_enable=”YES”
############################
pureftpd_enable=”YES”
--------------------------------------

#啟動服務

--------------------------------------

/usr/local/etc/rc.d/nginx restart
/usr/local/etc/rc.d/redis restart
/usr/local/etc/rc.d/memcached restart
/usr/local/etc/rc.d/perl-fcgi restart
/usr/local/etc/rc.d/php-fpm restart
/usr/local/etc/rc.d/pure-ftpd restart
/usr/local/etc/rc.d/mysql-server restart
--------------------------------------

#其它問題:

--------------------------------------

@@@ @@@ @@@ @@@ @@@ @@@ @@@
[FreeBSD] PHP 5.3.4 “Segmentation fault (core dumped)”
Starting php_fpm.
Segmentation fault (core dumped)
./php-fpm: WARNING: failed to start php_fpm

php -info 正常運行。

php -v
顯示錯誤,併產生
php.core
文件

最後找到,原來在擴展中啟用了 recode
原因是MySQLi擴展模塊與recode擴展模塊共同使用的時候,可能會造成PHP的崩潰和啟動時出現問題。

extension.ini 中關掉

;extension=recode.so .

正常運行.

@@@ @@@ @@@ @@@ @@@ @@@ @@@
有關 Zend OPcache xcache memcache 共存效率問題

當同時配置Zend OpcacheXCache之後存在的問題:

XCache
會非常有效,但是Zend OpcacheCache hits非常少,命中率而且非常低,基本上Zend Opcache就無效了。

會出現HTTPD耗盡內存,而使得HTTPD”瑣事現象,網站無法訪問,但是用free命令查看內存並沒有用完(實在不清楚什麼原因)

之後去掉XCache,只留Zend Opcache,測試發現cache hits正常了,並且命中率很高。查看情況,可以用phpinfo()查看,也可以使用Opcache Control Panel查看緩存、命中率等情況。

這裡需說明下,這並不是XCache效率不高,只是不適合兩者同時使用。

所以建議使用
PHP 5.6
自帶的 Zend Opcache,在XCache配置內關閉了
PHP
緩存器 xcache.size,只開使用 VAR 緩存器

註:php的優化器有兩種,一種是php加速器(緩存php編譯代碼,提升php的執行效率),一種是php緩存擴展(將數據變量緩存,降低數據庫的訪問)。

 

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營

發表評論

您的電子郵箱地址不會被公開。 必填項已用*標註