乃们看到了吗?openshift+php7正式版运行速度超级棒!

 

头图 http://www.pixiv.net/member_illust.php?mode=medium&illust_id=53962670

没错!经过几天的不懈努力(折腾),Tengine+php7.00 的最新组合新鲜出炉了!

这次采用了Nginx的Fastcgi cache—理论上全站缓存,nginx处理静态文件有多块,打开你的网站就有多块!不信,我的网站现在就是最佳的例子!

同时,由于缓存的存在,后台没有必要的各种缓存都可以歇歇了:什么memcache redis什么的都不用了,毕竟再快也没有打开一张图的速度快吧!

然后听取了建议开启了php-opcache,让本来就很快的php运行速度再上一层楼///

理论上,只要小红帽的(cpu)负载不过5,晚上不抽风,网站基本可以保证能顺畅打开。

那么,只要你的网站没有太大的错误,拥抱一下最新的技术,保证你能感觉到世界的爱还是存在的!

分享一下我的心得

Nginx配置

我这里选择的是改良版的Tengine,选择的理由因为可以编译jemalloc

进入

cd $OPENSHIFT_DATA_DIR
wget http://www.canonware.com/download/jemalloc/jemalloc-4.0.4.tar.bz2
tar -xjf jemalloc-4.0.4.tar.bz2
rm -rf jemalloc-4.0.4.tar.bz2
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
tar -zxvf pcre-8.37.tar.gz
rm -rf pcre-8.37.tar.gz
wget https://github.com/FRiCKLE/ngx_cache_purge/archive/master.zip
unzip master.zip
rm -rf master.zip
git clone git://github.com/alibaba/tengine.git

然后分享下Nginx配置参数

cd tengine
./configure 
--prefix=$OPENSHIFT_DATA_DIR/nginx 
--with-pcre=$OPENSHIFT_DATA_DIR/pcre-8.37 
--with-jemalloc=$OPENSHIFT_DATA_DIR/jemalloc-4.0.4 
--add-module=$OPENSHIFT_DATA_DIR/ngx_cache_purge-master 
--with-ipv6 
--with-http_v2_module 
--with-http_realip_module 
--with-http_mp4_module 
--with-http_flv_module 
--with-http_geoip_module 
--with-http_gzip_static_module 
--with-http_sub_module 
--with-http_ssl_module 
--with-http_stub_status_module 
--with-http_concat_module 
--with-http_auth_request_module 
--with-http_addition_module=shared 
--with-http_sysguard_module=shared 
--with-http_image_filter_module=shared 
--with-http_footer_filter_module=shared 
--with-http_memcached_module=shared 
--with-http_trim_filter_module=shared 
--with-http_empty_gif_module=shared
make
make dso_install
make install

⇑复制上面一段回车就好了!

加入没有错误对吧,接下来就容易许多了

PHP配置

复制一下的代码,不用有所顾忌–没问题的

cd /tmp
wget -O libmcrypt-2.5.8.tar.gz http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?big_mirror=0
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=${OPENSHIFT_DATA_DIR}usr/local
make -j4 && make install
cd libltdl
./configure --prefix=${OPENSHIFT_DATA_DIR}usr/local --enable-ltdl-install
make -j4 && make install
cd ../..
wget -O mhash-0.9.9.9.tar.gz http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?big_mirror=0
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure --prefix=${OPENSHIFT_DATA_DIR}usr/local
make -j4 && make install
cd ..
wget -O mcrypt-2.6.8.tar.gz http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?big_mirror=0
tar zxf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
export LDFLAGS="-L${OPENSHIFT_DATA_DIR}usr/local/lib -L/usr/lib"
export CFLAGS="-I${OPENSHIFT_DATA_DIR}usr/local/include -I/usr/include"
export LD_LIBRARY_PATH="/usr/lib/:${OPENSHIFT_DATA_DIR}usr/local/lib"
export PATH="/bin:/usr/bin:/usr/sbin:${OPENSHIFT_DATA_DIR}usr/local/bin:${OPENSHIFT_DATA_DIR}bin:${OPENSHIFT_DATA_DIR}sbin"
touch malloc.h
./configure --prefix=${OPENSHIFT_DATA_DIR}usr/local --with-libmcrypt-prefix=${OPENSHIFT_DATA_DIR}usr/local
make -j4 && make install
cd ..
wget http://php.net/distributions/php-7.0.0.tar.gz
tar -zxvf php-7.0.0.tar.gz
cd php-7.0.0
./configure --prefix=${OPENSHIFT_DATA_DIR}php --with-config-file-path=${OPENSHIFT_DATA_DIR}php/etc --with-mcrypt=${OPENSHIFT_DATA_DIR}usr/local 
--with-fpm-user=www --with-fpm-group=www --enable-fpm --enable-opcache 
--disable-fileinfo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-jpeg-dir 
--with-iconv-dir=/usr/local --with-freetype-dir --with-png-dir --with-zlib --disable-rpath 
--with-libxml-dir=/usr --enable-xml --enable-bcmath --enable-shmop --enable-exif --with-curl 
--enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-inline-optimization 
--enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl 
--with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-ftp 
--with-gettext --enable-zip --enable-soap --disable-ipv6 --disable-debug
make -j4
make install

编译完成,请执行${OPENSHIFT_DATA_DIR}php/bin/php -v
回馈信息应该类似这个样子

PHP 7.0.1 (cli) Copyright (c) 1997-2015 
The PHP Group Zend Engine v3.0.0, 
Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, 
Copyright (c) 1999-2015, by Zend Technologies

不出意外的话,你一定觉得太顺利了,居然没有中途停止编译什么的,恭喜你

配置文件

可是,编译完并不代表万事大吉了,请跟上脚步,好戏才刚开始

特呈上蜜汁配方,你一定喜欢

下载以下文件

cd $OPENSHIFT_DATA_DIR
wget http://acfun.webcrow.jp/php/nginx.conf.erb
wget http://acfun.webcrow.jp/php/php.ini.erb
wget http://acfun.webcrow.jp/php/php-fpm.conf
wget http://acfun.webcrow.jp/php/www-facgi.conf.erb
wget http://acfun.webcrow.jp/php/wordpress.conf
erb ./nginx.conf.erb >${OPENSHIFT_DATA_DIR}nginx/conf/nginx.conf
erb ./php.ini.erb >${OPENSHIFT_DATA_DIR}php/etc/php.ini
mkdir ${OPENSHIFT_DATA_DIR}nginx/run
erb ./www-facgi.conf.erb >${OPENSHIFT_DATA_DIR}nginx/run/www-facgi.conf
cp ./php-fpm.conf ${OPENSHIFT_DATA_DIR}nginx/conf
mv ./wordpress.conf ${OPENSHIFT_DATA_DIR}nginx/run
mkdir /tmp/cache/wpcache/temp
mkdr ${OPENSHIFT_HOMEDIR}app-root/runtime/repo/www
rm -rf nginx.conf.erb php.ini.erb php-fpm.conf www-facgi.conf.erb wordpress.conf

编辑启动文件(建议一步一步复制!)

vi $OPENSHIFT_REPO_DIR/.openshift/action_hooks/start
nohup $OPENSHIFT_DATA_DIR/nginx/sbin/nginx > $OPENSHIFT_DIY_LOG_DIR/server.log 2>&1 &
nohup $OPENSHIFT_DATA_DIR/php/sbin/php-fpm > $OPENSHIFT_DIY_LOG_DIR/server.log 2>&1 &
vi $OPENSHIFT_REPO_DIR/.openshift/action_hooks/stop
killall nginx
killall php-fpm
ctl_all restart

有点基础应该都明白搭建Linux下php环境搭建并不是很难,对不对?

 

 
 
         

悲催,bootcdn要跑路啦!

上周将主题的JS文件全改成了外链,用的是bootcdn,本来好好的,不料今天在v2发现有人提到这个问题:bootcdn外链文件挂了,急忙修改主题,将以前外链的库文件改成jsd...

实验性用caddy支持quic,其实入门很简单

本着不折腾会死精神,还是硬着头皮试着搭建caddy来开启quic支持.不过整个流程也很简单,而且实际效果也很出众,加载时间大约节省了二分之一,于是我想把整个流程...

令人糟心的薅羊毛活动:说的是你!humblebundle

humblebundle大发慈悲开启了印花换游戏的活动,本着重在参与的精神,我也参与其中,不料事情并没有那么简单! 糟心一:初尝缺货! 第一轮还好,可能游戏本身也不值...

好站推荐:ebb.io

在动漫花园的广告栏发现的这个网站,打开发现真的很良心!安利的理由有很多,待我一一道来. 界面清爽 打开网站,主颜色是深蓝色,这种颜色很适合夜里补番,因为暗...

《银魂》即将完结,这不是玩笑!

上周的JUMP预告了银魂漫画将有大动作,在这周终于揭晓了:银魂离完结还有五话,这事说起来反倒没那么伤心,毕竟各种烟雾弹之后,这种事情都没什么大惊小怪的,而且...

里番「末班电车后,胶囊旅馆,和上司的微软热之夜」十月出动画版

看这标题“末班”,看这标题“旅馆”,看着标题“和上司”,时间地点人物俱全,能发生什么,我估计你用脚趾头都能想出来~(当然是啪啪啪啦)。没错,这个起了这么长...