zoukankan      html  css  js  c++  java
  • 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部署已全部结束,这个只是本人学习过程中的总结,当然会有且他未遇到和发现的问题,仅以此博客记录自己学习过程供后面读者学习借鉴,不足之处还望指正。

  • 相关阅读:
    django页面分类和继承
    django前端从数据库获取请求参数
    pycharm配置django工程
    django 应用各个py文件代码
    CF. 1428G2. Lucky Numbers(背包DP 二进制优化 贪心)
    HDU. 6566. The Hanged Man(树形背包DP DFS序 重链剖分)
    小米邀请赛 决赛. B. Rikka with Maximum Segment Sum(分治 决策单调性)
    区间树 学习笔记
    CF GYM. 102861M. Machine Gun(主席树)
    2016-2017 ACM-ICPC East Central North America Regional Contest (ECNA 2016) (B, D, G, H)
  • 原文地址:https://www.cnblogs.com/lhdeng1991/p/14346242.html
Copyright © 2011-2022 走看看