美文网首页
centos7 部署tengine

centos7 部署tengine

作者: 心疼你萌萌哒 | 来源:发表于2018-04-24 19:22 被阅读0次

    1.下载tengine

    http://tengine.taobao.org/download.html

    2.准备编译环境

    yum install gcc-c++
    yum -y install pcre pcre-devel
    PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx rewrite依赖于PCRE库,所以在安装Tengine前一定要先安装PCRE,最新版本的PCRE可在官网(http://www.pcre.org/)获取
    yum -y install zlib zlib-devel
    Zlib是提供资料压缩之用的函式库,当Tengine想启用GZIP压缩的时候就需要使用到Zlib(http://www.zlib.net/)。
    yum -y install openssl openssl-devel OpenSSL
    是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。安装OpenSSL(http://www.openssl.org/source/)主要是为了让tengine支持Https的访问请求。

    3.解压

    useradd www
    tar -xf tengine-2.2.2.tar.gz
    cd tengine-2.2.2

    4.配置

    ./configure
    --user=www
    --group=www
    --prefix=/usr/local/nginx
    --with-http_stub_status_module
    --with-http_sub_module
    --with-http_ssl_module
    --with-pcre

    5.编译

    make

    6.安装

    make install

    7.启动测试

    /usr/local/nginx/sbin/nginx //启动nginx服务器 systemctl stop firewalld

    4.修改tengine目录所属用户组和权限
    chgrp -R tengine /home/tengine/tengine-2.1.2/sbin
    chown -R tengine /home/tengine/tengine-2.1.2/sbin
    chmod -R 700 /home/tengine/tengine-2.1.2/
     
    
    5.tengine常用命令
        tegine命令其实和之前nginx并无差别,这里简单列举几个,其他命令详见nginx官网
    
    #1.启动tengine 
    cd /home/tengine/tengine-2.1.2/sbin 
    ./nginx 
    #2.查看端口 
    netstat -ntlp 
    #3.关闭tengine 
    cd /home/tengine/tengine-2.1.2/sbin
    ./nginx -s stop
     
    
    6.Tengine加入PATH
    #编辑/home/tengine/.bashrc,加入Tengine启动脚本到PATH
    vi /home/tengine/.bashrc
    export TENGINE_HOME=/home/tengine/tengine-2.1.2
    export PATH=$PATH:$TENGINE_HOME/sbin
     
    
    7.Tengine开机自启动
    #创建软连接
    ln -s /home/tengine/tengine-2.1.2/sbin/nginx /etc/init.d/nginx
    #赋予执行权限
    chmod a+x /etc/init.d/nginx
    vi /etc/rc.local
    #增加如下内容
    /etc/init.d/nginx
    gcc 是GNU Compiler Collection,原名为Gun C语言编译器,因为它原本只能处理C语言,但gcc很快地扩展,包含很多编译器(C、C++、Objective-C、Ada、Fortran、 Java),可以说gcc是GNU编译器集合。
    
    g++ 是C++编译器。
    
    cc 是 Unix系统的 C Compiler,一个是古老的 C 编译器。而 Linux 下 cc 一般是一个符号连接,指向 gcc;可以通过 $ ls -l /usr/bin/cc 来简单察看,该变量是 make 程序的内建变量,默认指向 gcc 。 cc 符号链接和变量存在的意义在于源码的移植性,可以方便的用 gcc 来编译老的用cc编译的Unix软件,甚至连 makefile 都不用改在,而且也便于 Linux 程序在 Unix下 编译。
    
    CC 则一般是 makefile 里面的一个名字标签,即宏定义,表示采用的是什么编译器(如:CC = gcc)。
    
     
    
    误区一:gcc只能编译C代码,g++只能编译C++代码。
    
    两者都可以,但请注意:
    
    (1)后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是C++程序,注意,虽然C++是C的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。
    
    (2)编译阶段,g++会调用gcc,对于C++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。
    
     
    
    误区二:gcc不会定义__cplusplus宏,而g++会
    
    实际上,这个宏只是标志着编译器将会把代码按C还是C++语法来解释,如上所述,如果后缀为.c,并且采用gcc编译器,则该宏就是未定义的,否则,就是已定义。
    
     
    
    误区三:编译只能用gcc,链接只能用g++
    
    严格来说,这句话不算错误,但是它混淆了概念,应该这样说:编译可以用gcc/g++,而链接可以用g++或者gcc -lstdc++。因为gcc命令不能自动和C++程序使用的库联接,所以通常使用g++来完成联接。但在编译阶段,g++会自动调用gcc,二者等价。
    
    C++的编译器肯定可以编译C的代码,注意除了C++对C的语法扩充之外,编译和链接C和C++的标准库通常也不一样呢,用gcc而非g++也编译了C++的程序就证明了这一点。
    
     
    
    注:符号链接是一种特殊类型的文件,它的内容只是一个字符串。它可能指向一个存在的文件也可能什么都不指向。当您在命令行或程序里提到符号链接的时候,您实际上进入了它指向的文件,前提是这个文件是存在的。
    

    相关文章

      网友评论

          本文标题:centos7 部署tengine

          本文链接:https://www.haomeiwen.com/subject/tcxslftx.html