• Centos虚拟机IP配置以及Tenginx安装部署


    Tenginx下载网址:


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

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

     

     

    一、VMware下Centos网络ip配置。

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

     

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

     上图可知该虚拟机的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 ,可以查询本虚拟机网络驱动名称

     其中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配置不生效)。

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

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

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

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

     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 . "

     

     

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

     

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

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

     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=/安装路径 。

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

     

    13、启动服务

    service Nginx start 启动服务

    service Nginx stop 停止

    service Nginx status 状态

    service Nginx reload 动态重载配置文件

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

     

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

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

  • 相关阅读:
    《那些年啊,那些事——一个程序员的奋斗史》——117
    《那些年啊,那些事——一个程序员的奋斗史》——116
    《那些年啊,那些事——一个程序员的奋斗史》——116
    《那些年啊,那些事——一个程序员的奋斗史》——118
    《那些年啊,那些事——一个程序员的奋斗史》——119
    《那些年啊,那些事——一个程序员的奋斗史》——117
    《那些年啊,那些事——一个程序员的奋斗史》——119
    283. Move Zeroes
    26. Remove Duplicates from Sorted Array
    268. Missing Number
  • 原文地址:https://www.cnblogs.com/lhdeng1991/p/14346242.html
Copyright © 2020-2023  润新知