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

乃们看到了吗?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环境搭建并不是很难,对不对?

 

笨招解决优酷m3u8下载时间轨难题~

最近看B站推荐少年番“虹色Days”,于是打算去优酷下载慢慢看,殊不知遇到了大麻烦~ 坑爹的反盗版机制 网络上流传着许多可以下载VIP的网站,于是我将【http://v....

【转载】来自老司机的热情指南

https://share.dmhy.org/topics/view/469634_undefined.html 全文转载,感谢老司机辛苦码字。 原标题:以后花园暂时挂掉(甚至永久挂掉) 时的小小建议 (请点入...

R18-(TWINKLE MIRAGE5) [LEGO! (Nakagawa)] Ingaritsu Refrain (Final Fantasy XV) [Chinese]

搬运–最终幻想15王子和那个啥的故事。。。看过官方外传的动画都知道,他俩真的很配。图有点多,缓冲会就好了 01 02 03 ...

经典动画 虫师 补番指南

对于观众来说,这种频频有续集,中间又有时间间隔的动画,估计会有些朋友感到烦恼:这么多,有第一季,有续集,还有其他OVA,时间间隔也比较久,作为补番的人...

你造吗?微博每张图片都是实名的哦!

如题,是不是很惊喜?平常我都是这么用的:发图不带水印,提取链接,删除微博,外链到其他网站,其实这样做风险很大:因为每张图微博都将你的UID以16进制或62...

openshift旧版服务9月30日正式停止~

如题,这是个悲伤的故事,这年头可用且良心的云服务不多了,小红帽(Redhat open shift)就算一个,经过多年网友们的折腾之后,终于改型,推行docker等新一代...