Tenginx下载网址:


Tenginx 官网地址:http://tengine.taobao.org/

    Tenginx的官方网址中可以阅读Nginx的文档,可以选择中文进行阅读。下载Tengine-2.3.2.tar.gz 进行部署。

 

飞腾 KVM虚拟化 飞腾安装centos_nginx

 

 

 

飞腾 KVM虚拟化 飞腾安装centos_飞腾 KVM虚拟化_02

 

一、VMware下Centos网络ip配置。

1、针对VMware上第一次安装centos虚拟机,需要配置虚拟机网络。首先确认虚拟机在VMware网络配置如图所示。首先确认虚拟机网络适配器是NAT模式,然后点击“编辑”--“虚拟网络编辑器”

飞腾 KVM虚拟化 飞腾安装centos_飞腾 KVM虚拟化_03

 

飞腾 KVM虚拟化 飞腾安装centos_Nginx_04

 2、选择VMnet8,点击DHCP设置,查看VMware分配虚拟机地址范围如下图所示,点击NAT设置,查看该虚拟机的网关和子网掩码信息,如图所示。(注意:这里面VMnet1和VMnet8都要报错连接 和启动状态,如果不是这种状态,最好点击面板上的“还原默认设置”按钮)

飞腾 KVM虚拟化 飞腾安装centos_VMware_05

飞腾 KVM虚拟化 飞腾安装centos_Nginx_06

 上图可知该虚拟机的IP地址范围是192.168.245.128~192.168.245.254。网关是192.168.245.2,子网掩码是255.255.255.0

3、在虚拟机上输入命令“ vi /etc/sysconfig/network-scripts/ifcfg-ens33 ” 设置虚拟机IP。有些虚拟机命名并不是ens33 ,可以查询本虚拟机网络驱动名称

飞腾 KVM虚拟化 飞腾安装centos_nginx_07

 其中BOOTPROTO=dhcp改为BOOTPROTO=static 标示ip由动态分配改为静态ip。ONBOOT= on 改为 ONBOOT=yes才能联网。ip设置在范围192.168.245.128~192.168.245.254内。目前设置为192.168.245.129(第二台虚拟机)。网关子网掩码按VMware上网络编辑器上配置。配置完成后“:wq"保存退出。

然后命令”  systemctl restart nerwork.service  “重启网络服务(注意要重启网络服务,不然IP配置不生效)。

飞腾 KVM虚拟化 飞腾安装centos_Nginx_08

 4、yum search net-tools 命令搜索适合安装的网络软件,然后用 yum install net-tools.x86-64 -y  命令安装。

飞腾 KVM虚拟化 飞腾安装centos_飞腾 KVM虚拟化_09

飞腾 KVM虚拟化 飞腾安装centos_nginx_10

 5、安装完成后,可以用ifconfig等命令查看ip信息。

飞腾 KVM虚拟化 飞腾安装centos_飞腾 KVM虚拟化_11

 7、Tenginx安装之前需要安装Gcc等依赖组件” yum install gcc openssl-devel pcre-devel zlib-devel -y“

飞腾 KVM虚拟化 飞腾安装centos_Nginx_12

 8、通过xftp 将下载的tengine的包放到” /usr/local/“目录下。

飞腾 KVM虚拟化 飞腾安装centos_VMware_13

 9、在/usr/local/下新建tengine文件夹 ” mkdir /usr/local/tengine “,然后进入”/usr/local/”目录下将压缩包解压“ tar -zxvf tendine-2.3.2.tar.gz ”,进入tengine文件夹中将解压后的文件拷贝进来 " mv /usr/local/tengine-2.3.2 . "

飞腾 KVM虚拟化 飞腾安装centos_nginx_14

 

飞腾 KVM虚拟化 飞腾安装centos_VMware_15

 

飞腾 KVM虚拟化 飞腾安装centos_VMware_16

 10、编译并安装tengine,  ./configure  --prefix=/安装路径   , make && make install。目前安装路径为“/usr/local/tengine”

飞腾 KVM虚拟化 飞腾安装centos_nginx_17

 

飞腾 KVM虚拟化 飞腾安装centos_飞腾 KVM虚拟化_18

飞腾 KVM虚拟化 飞腾安装centos_VMware_19

执行完成后目录状态是这样,

飞腾 KVM虚拟化 飞腾安装centos_飞腾 KVM虚拟化_20

此时如下图可以通过在sbin的nginx启动tengine服务,但是停止tengine需要kill进程才行,使用起来不很方便,下面介绍配置shell脚本用service 命令启动、停止、重启tengine服务等操作。

飞腾 KVM虚拟化 飞腾安装centos_VMware_21

 

 

 11、用vi 编辑文件,提供的Nginx启动脚本文件内容到`/etc/init.d/nginx`这个文件中,配置tengine的启动脚本,建议用xshell远程连接编辑。

#!/bin/sh
#
# 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
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
     NAME=nginx
     NGINX_BIN=/usr/local/tengine/sbin/$NAME
     CONFIGFILE=/usr/local/tengine/conf/$NAME.conf
     PIDFILE=/usr/local/tengine/logs/$NAME.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/tengine/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/tengine/conf/nginx.conf"

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

lockfile=/var/lock/subsys/nginx

make_dirs() {
   # make required directories
   user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   options=`$nginx -V 2>&1 | grep 'configure arguments:'`
   for opt in $options; do
       if [ `echo $opt | grep '.*-temp-path'` ]; then
           value=`echo $opt | cut -d "=" -f 2`
           if [ ! -d "$value" ]; then
               # echo "creating" $value
               mkdir -p $value && chown -R $user $value
           fi
       fi
   done
}

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    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
    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

 注意配置文件中 红字部分要与你实际安装的tengine目录相匹配,如 :NGINX_BIN="/usr/local/tengine/sbin/nginx" 必须要和实际部署的tengine路径相同,也即是 ./configure  --prefix=/安装路径 。

飞腾 KVM虚拟化 飞腾安装centos_飞腾 KVM虚拟化_22

 12、此时 nginx的权限还不够,无法用其中的命令运行tengine服务。用  chmod 777 nginx  赋予权限,然后用systemctl daemon-reload 重新加载系统启动脚本 ,最后可以使用nginx脚本启动服务了

 

飞腾 KVM虚拟化 飞腾安装centos_nginx_23

13、启动服务

service Nginx start 启动服务

service Nginx stop 停止

service Nginx status 状态

service Nginx reload 动态重载配置文件

飞腾 KVM虚拟化 飞腾安装centos_Nginx_24

 

 最后如果tengine服务启动了。浏览器访问不不了/usr/local/tengine/conf/niginx.conf 文件配置了监听端口,在防火墙中配置该端口后重启防火墙就可以访问tengine服务了。

飞腾 KVM虚拟化 飞腾安装centos_nginx_25

飞腾 KVM虚拟化 飞腾安装centos_Nginx_26

 

 

飞腾 KVM虚拟化 飞腾安装centos_飞腾 KVM虚拟化_27

 

 刷新浏览器后,发现可以正常访问了

飞腾 KVM虚拟化 飞腾安装centos_VMware_28

自此充VMware中虚拟机IP配置和tengine部署已全部结束,这个只是本人学习过程中的总结,当然会有且他未遇到和发现的问题,仅以此博客记录自己学习过程供后面读者学习借鉴,不足之处还望指正。