Linux卸载tengine,编译安装Tengine,nginx-m查看所


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 reloadworker_processes  1;

dso {

load ngx_http_lua_module.so;

load ngx_http_memcached_module.so;

}

events {

worker_connections  1024;

}

相关内容