컴 파일 설치 Tengine

1.설치 전 준비:
1.1 다운로드http://tengine.taobao.org/download_cn.html
1.2 gcc openssl-devel pcre-devel zlib-devel 의존
1.3 사용자 만 들 기:useradd-r  -M nginx
2.컴 파일 설치,기본 경로/usr/local/nginx
    $ ./configure
    $ make
    # make install

3.서비스 스 크 립 트
주의 권한 755,컴 파일 시 기본 경로 변경 서비스 스 크 립 트
centos 7:vim /lib/systemd/system/nginx.service 파일 생 성
[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

centos 6:vim /etc/init.d/nginx
#!/bin/bash
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/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
TENGINE_HOME="/usr/local/nginx/"
nginx=$TENGINE_HOME"sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE=$TENGINE_HOME"conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && /etc/sysconfig/nginx
lockfile=/usr/local/nginx/lock/nginx.lock
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
    killall -9 nginx
}
restart() {
    configtest || return $?
    stop
    sleep 1
    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
;;
reload)
    rh_status_q || exit 7
$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

ln -sv /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
4.모듈
Teninx 와 nginx 의 가장 큰 차 이 는 확장 모듈 을 동적 으로 증가 시 킬 수 있다 는 것 이다.
nginx-m 는 불 러 온 모든 모듈 을 봅 니 다.static 설명 은 설치 되 어 있 고 shared 설명 은 동적 으로 설치 되 어 있 습 니 다.
tengine 은 동적 로드 모듈 을 실현 합 니 다.다시 컴 파일 하지 않 아 도 새로운 모듈 을 설치 할 수 있 습 니 다.동적 모듈 기능 은 기본적으로 설 치 됩 니 다.nginx 는 모듈 동적 로드 를 지원 하지 않 습 니 다.컴 파일 재 부팅 이 필요 합 니 다.
Tengine 동적 로드 lua 모듈 예제:
#      
cd /data/down
git clone git://github.com/openresty/lua-nginx-module

#    
cd /usr/local/nginx/sbin
./dso_tool --add-module=/data/down/lua-nginx-module

#        
ls /usr/local/nginx/modules/ | grep http_lua
ngx_http_lua_module.so

#    
nginx.conf
dso {
   load ngx_http_lua_module.so; 
}

#    nginx  
/etc/init.d/nginx reload
worker_processes  1;

dso {
   load ngx_http_lua_module.so;
   load ngx_http_memcached_module.so;
}

events {
   worker_connections  1024;
}

공식 문서:http://tengine.taobao.org/document_cn/dso_cn.html
nginx 컴 파일 모듈 문서:https://www.linuxhub.org/?p=3205
다음으로 전송:https://blog.51cto.com/arm2012/2287804

좋은 웹페이지 즐겨찾기