标签:
一、nginx简介
1.1 Tengine简介
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
1.2 参考资源
http://tengine.taobao.org/documentation_cn.html
二、Tengine设置及编译
2.1 前期准备
在使用yum指令前建议先设定好linux软件源(如下图所示,可以参考http://waringid.blog.51cto.com/65148/904201)。需要注意的是epel源中的epel-release-6-7.noarch.rpm已经换成了epel-release-6-8.noarch.rpm版本(同时注意32位和64位版本的区别)。
yum -y install gcc gcc-c++ autoconf libjpeglibjpeg-devel libpnglibpng-devel freetype freetype-devellibxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncursesncurses-devel curl curl-devel e2fsprogse2fsprogs-devel krb5 krb5-devel libidnlibidn-devel openssl openssl-devel makepatch pcre-devel cd /root wget http://tengine.taobao.org/download/tengine-1.5.2.tar.gz tar zxvf tengine-1.5.2.tar.gz
2.2 编译Tengine
因为Tengine是开源项目,因此也可以用以下的方式获取它的最新源码,如下所示。
yum install git pcre pcre-devel git clone git://github.com/alibaba/tengine.git cd tengine ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx/nginx.pid --error-log-path=/var/log/nginx/nginx.log --http-log-path=/var/log/nginx/nginx-http.log make make install
2.3 设置Tengine应用环境
编译安装后系统会安编译参数生成相应的配置文件,可以使用以下的vim配置脚本实现编辑nginx.conf配置文件的语法加亮功能。
wget http://www.vim.org/scripts/download_script.php?src_id=19394 mkdir -p ~/.vim/syntax/ cp nginx.vim ./.vim/syntax/ vi .vim/syntax/filetype.vim au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/conf/* if &ft ==‘‘ | setfiletype nginx | endif
设置完成后可以通过nginx –v或 –V查看它的版本以及加载的模块,如下图所示。
2.4 添加nginx启动脚本
正常编译方式下nginx没有启动脚本,可通过添加以下启动文件将其列为系统启动服务。
vim /etc/init.d/nginx chmod +x /etc/init.d/nginx chkconfig –-add nginx chkcnfig –-level 35 nginx on #!/bin/sh # nginx - this script starts and stops the nginx daemin# # chkconfig: - 8515 # description: Nginx is an HTTP(S) server, HTTP(S) reverse # proxy and IMAP/POP3 proxy server # processname: nginx # config: /etc/nginx/nginx.conf # pidfile: /var/run/nginx/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] &&exit 0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/etc/nginx/nginx.conf" lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] ||exit 5 [ -f$NGINX_CONF_FILE ] || exit 6 echo -n$"Starting $prog: " daemon $nginx -c$NGINX_CONF_FILE retval=$? echo [ $retval -eq 0] && touch $lockfile return $retval } stop() { echo -n$"Stopping $prog: " killproc $prog-QUIT retval=$? echo [ $retval -eq 0] && rm -f $lockfile return $retval } restart() { configtest ||return $? stop start } reload() { configtest ||return $? echo -n$"Reloading $prog: " killproc $nginx-HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c$NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status>/dev/null 2>&1 } case "$1" in start) rh_status_q&& exit 0 $1 ;; stop) rh_status_q|| exit 0 $1 ;; restart|configtest) $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo$"Usage: $0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac service nginx start
三、php支持
nginx可以通过php-fpm增加php支持。默认情况下,CentOS的官方资源是没有php-fpm的, 但我们可以从Remi的RPM资源中获得,它依赖于EPEL资源。
3.1 安装php-fpm
yum install php-fpm chkconfig --level 345 php-fpm on service php-fpm start
3.2 设置nginx
首先增加php支持,如下图所示。
然后在后续php项目中完成以下设置。
location ~ \.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;
3.3 测试php
在document root目录下建立下列PHP测试文件。
vim /var/www/html/info.php
打开测试文件所在的文件,成功的情况如下图所示。
本文出自 “虚拟的现实” 博客,请务必保留此出处http://waringid.blog.51cto.com/65148/1438852