centos7.x编译安装淘宝tengine-2.1.2

前端之家收集整理的这篇文章主要介绍了centos7.x编译安装淘宝tengine-2.1.2前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下载所有包,jemalloc(可选)用于优化内存

yumgroupsinstall"DevelopmentTools"-y
yum-yinstallbzip2
wget-cftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
wget-chttp://www.openssl.org/source/openssl-1.0.2g.tar.gz
wget-chttp://www.zlib.net/zlib-1.2.11.tar.gz
wget-chttp://tengine.taobao.org/download/tengine-2.1.2.tar.gz
#wgethttp://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2
tar-zxfpcre-8.40.tar.gz-C/usr/local/src/
tar-zxfopenssl-1.0.2g.tar.gz-C/usr/local/src/
tar-zxfzlib-1.2.11.tar.gz-C/usr/local/src/
tar-zxftengine-2.1.2.tar.gz-C/usr/local/src/
#tarjxvfjemalloc-3.6.0.tar.bz2-C/usr/local/src/

1、安装pcre

mkdir/usr/local/pcre

cd/usr/local/src/pcre-8.40

./configure--prefix=/usr/local/pcre

make-j

makeinstall

2、安装openssl

mkdir/usr/local/openssl

cd/usr/local/src/openssl-1.0.2g/

./config--prefix=/usr/local/openssl

makedepend

make-j

makeinstall

vi /etc/profile

exportPATH=$PATH:/usr/local/openssl/bin
or
echo"exportPATH=$PATH:/usr/local/openssl/bin">>/etc/profile

:wq!

source/etc/profile

3、安装zlib

mkdir/usr/local/zlib

cd/usr/local/src/zlib-1.2.11

./configure--prefix=/usr/local/zlib

make-j

makeinstall

4、安装Nginx

groupaddwww

useradd-gwwwwww-s/bin/false

cd/usr/local/src/tengine-2.1.2/

#开启jemalloc内存优化
./configure--prefix=/usr/local/Nginx--without-http_memcached_module--user=www--group=www--with-http_stub_status_module--with-http_ssl_module--with-http_gzip_static_module--with-openssl=/usr/local/src/openssl-1.0.2g--with-zlib=/usr/local/src/zlib-1.2.11--with-pcre=/usr/local/src/pcre-8.40--with-jemalloc=/usr/local/src/jemalloc-3.6.0

make

makeinstall

注意:--with-openssl=/usr/local/src/openssl-1.0.2g --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.40指向的是源码包解压的路径,而不是安装的路径,否则会报错


5、添加开机启动脚本

/usr/local/Nginx/sbin/Nginx#启动Nginx

设置Nginx开机启动

vi/etc/rc.d/init.d/Nginx#编辑启动文件添加下面内容

############################################################

#!/bin/sh

#

#Nginx-thisscriptstartsandstopstheNginxdaemon

#

#chkconfig:-8515

#description:NginxisanHTTP(S)server,HTTP(S)reverse\

#proxyandIMAP/POP3proxyserver

#processname:Nginx

#config:/etc/Nginx/Nginx.conf

#config:/usr/local/Nginx/conf/Nginx.conf

#pidfile:/usr/local/Nginx/logs/Nginx.pid

#Sourcefunctionlibrary.

./etc/rc.d/init.d/functions

#Sourcenetworkingconfiguration.

./etc/sysconfig/network

#Checkthatnetworkingisup.

["$NETWORKING"="no"]&&exit0

Nginx="/usr/local/Nginx/sbin/Nginx"

prog=$(basename$Nginx)

Nginx_CONF_FILE="/usr/local/Nginx/conf/Nginx.conf"

[-f/etc/sysconfig/Nginx]&&./etc/sysconfig/Nginx

lockfile=/var/lock/subsys/Nginx

make_dirs(){

#makerequireddirectories

user=`$Nginx-V2>&1|grep"configurearguments:"|sed's/[^*]*--user=\([^]*\).*/\1/g'-`

if[-z"`grep$user/etc/passwd`"];then

useradd-M-s/bin/nologin$user

fi

options=`$Nginx-V2>&1|grep'configurearguments:'`

foroptin$options;do

if[`echo$opt|grep'.*-temp-path'`];then

value=`echo$opt|cut-d"="-f2`

if[!-d"$value"];then

#echo"creating"$value

mkdir-p$value&&chown-R$user$value

fi

fi

done

}

start(){

[-x$Nginx]||exit5

[-f$Nginx_CONF_FILE]||exit6

make_dirs

echo-n$"Starting$prog:"

daemon$Nginx-c$Nginx_CONF_FILE

retval=$?

echo

[$retval-eq0]&&touch$lockfile

return$retval

}

stop(){

echo-n$"Stopping$prog:"

killproc$prog-QUIT

retval=$?

echo

[$retval-eq0]&&rm-f$lockfile

return$retval

}

restart(){

#configtest||return$?

stop

sleep1

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/null2>&1

}

case"$1"in

start)

rh_status_q&&exit0

$1

;;

stop)

rh_status_q||exit0

$1

;;

restart|configtest)

$1

;;

reload)

rh_status_q||exit7

$1

;;

force-reload)

force_reload

;;

status)

rh_status

;;

condrestart|try-restart)

rh_status_q||exit0

;;

*)

echo$"Usage:$0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

exit2

esac

############################################################

:wq!#保存退出

chmod775/etc/rc.d/init.d/Nginx#赋予文件执行权限

chkconfigNginxon#设置开机启动

/etc/rc.d/init.d/Nginxrestart#重启程序

在浏览器中打开服务器IP地址,会看到下面的界面,说明Nginx安装成功。


附./configure检测配置结果

 
#
Configurationsummary
+usingPCRElibrary:/usr/local/src/pcre-8.40
+usingOpenSSLlibrary:/usr/local/src/openssl-1.1.0e
+md5:usingOpenSSLlibrary
+sha1:usingOpenSSLlibrary
+usingzliblibrary:/usr/local/src/zlib-1.2.11
+jemalloclibraryisdisabled#这个是我之前没有添加jemalloc内存优化的配置,这只是范例参考

Nginxpathprefix:"/usr/local/Nginx"
Nginxbinaryfile:"/usr/local/Nginx/sbin/Nginx"
Nginxconfigurationprefix:"/usr/local/Nginx/conf"
Nginxconfigurationfile:"/usr/local/Nginx/conf/Nginx.conf"
Nginxpidfile:"/usr/local/Nginx/logs/Nginx.pid"
Nginxerrorlogfile:"/usr/local/Nginx/logs/error.log"
Nginxhttpaccesslogfile:"/usr/local/Nginx/logs/access.log"
Nginxhttpclientrequestbodytemporaryfiles:"client_body_temp"
Nginxdsomodulepath:"/usr/local/Nginx/modules/"
Nginxhttpproxytemporaryfiles:"proxy_temp"
Nginxhttpfastcgitemporaryfiles:"fastcgi_temp"
Nginxhttpuwsgitemporaryfiles:"uwsgi_temp"
Nginxhttpscgitemporaryfiles:"scgi_temp"



扩展阅读:


Nginx配置txt、pdf、doc、xls等文件直接下载的方法


Nginx配置文件添加以下代码


location / {


if ($request_filename ~* ^.*?\.(txt|pdf|doc|xls)$){


add_header Content-Disposition: 'attachment;';


}


}


参考:

http://www.osyunwei.com/archives/10057.html

http://blog.csdn.net/elong490/article/details/54913193

猜你在找的CentOS相关文章