CentOS 7.2編譯安裝Tengine

Tengine官網上有個很是簡單的教程,中間並未涉及到一些經常使用的設置,因此僅供參考。一下午爲本人的安裝步驟及過程。php

 

配置firewalld,iptables,關閉SELINUXhtml

 

一、安裝必要的編譯環境好nginx

因爲Tengine安裝須要使用源代碼自行編譯,因此在安裝前須要安裝必要的編譯工具:c++

yum -y update
yum -y install gcc gcc-c++ bzip2 perl curl curl-devel expat-devel gettext-devel libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel autoconf
(不安裝openssl openssl-devel)

yum -y install epel-release  //擴展包更新包
yum -y update //更新yum源
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
 
 
 

二、安裝須要的組件git

A、PCREgithub

PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx rewrite依賴於PCRE庫,因此在安裝Tengine前必定要先安裝PCRE正則表達式

cd /usr/local/src && wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz && tar zxvf pcre-8.42.tar.gz && cd pcre-8.42 && ./configure --prefix=/usr/local/pcre && make && make install
 

B、Zlib算法

Zlib是提供資料壓縮之用的函式庫,當Tengine想啓用GZIP壓縮的時候就須要使用到Zlib(http://www.zlib.net/)。緩存

cd /usr/local/src && wget http://zlib.net/zlib-1.2.11.tar.gz && tar zxvf zlib-1.2.11.tar.gz && cd zlib-1.2.11 && ./configure --prefix=/usr/local/zlib && make && make install
 

C、jemalloc安全

jemalloc(https://github.com/jemalloc/jemalloc/releases/)是一個更好的內存管理工具,使用jemalloc能夠更好的優化Tengine的內存管理。

cd /usr/local/src && wget https://github.com/jemalloc/jemalloc/releases/download/5.1.0/jemalloc-5.1.0.tar.bz2 && tar xvf jemalloc-5.1.0.tar.bz2 && cd jemalloc-5.1.0 && ./configure --prefix=/usr/local/jemalloc && make && make install
 

D、OpenSSL

OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。,安裝OpenSSL(http://www.openssl.org/source/)主要是爲了讓tengine支持Https的訪問請求。

cd /usr/local/src && wget https://www.openssl.org/source/openssl-1.1.1.tar.gz && tar zxvf openssl-1.1.1.tar.gz && cd openssl-1.1.1
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl --libdir=lib shared zlib-dynamic -Wl,-R,'$(LIBRPATH)' -Wl,--enable-new-dtags
make distclean && make && make install
 
cp /etc/pki/tls/cert.pem /usr/local/openssl/cert.pem
 
 
 
 

三、安裝Tengine

在主要核心的組件安裝完畢之後就能夠安裝Tegine了,最新版本的Tegine可從官網(http://tengine.taobao.org/)獲取。
在編譯安裝前還須要作的一件事是添加一個專門的用戶來執行Tengine。固然你也能夠用root(不建議)。

groupadd www && useradd -s /sbin/nologin -g www www

接下來纔是進行安裝:

cd /usr/local/src && wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz && tar -zxvf tengine-2.3.2.tar.gz && cd tengine-2.3.2
. /configure --prefix=/usr/local/nginx \
--user=www \
--group=www \
--with-pcre=/usr/local/src/pcre-8.42 \
--with-openssl=/usr/local/src/openssl-1.1.1 \
--with-jemalloc=/usr/local/src/jemalloc-5.1.0 \
--with-zlib=/usr/local/src/zlib-1.2.11 \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-openssl=/usr/local/openssl \
--with-http_ssl_module \
--with-http_v2_module

make && make install

注意配置的時候 –with-pcre 、–with-openssl、–with-jemalloc、–with-zlib的路徑爲源文件的路徑。

 

四、配置Tengine,設置tengine自動啓動

系統用戶登陸系統後啓動的服務 的目錄 /usr/lib/systemd/system
如須要開機沒有登錄狀況下就能運行的程序在系統目錄內/lib/systemd/system

我但願系統開機就啓動目錄,因此我把文件放在系統目錄內。

cd /lib/systemd/system
vi 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

 
修改文件權限   chmod 745 nginx.service   
設置爲開機啓動  systemctl enable nginx.service

啓動nginx服務    systemctl start nginx.service
設置開機自啓動   systemctl enable nginx.service
中止開機自啓動   systemctl disable nginx.service
查看服務當前狀態 systemctl status nginx.service
從新啓動服務     systemctl restart nginx.service

查看全部已啓動的服務  systemctl list-units --type=service

 

打開nscd服務,緩存dns,提升RDS響應
systemctl start nscd.service
systemctl enable nscd.service

 

vi /etc/hosts     //註釋掉下面一行
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

 

禁止系統檢查郵件
echo "unset MAILCHECK" >> /etc/profile

 

姊妹篇:

編譯安裝PHP7: http://www.javashuo.com/article/p-cwujonsk-e.html

 

日誌:

Tengine-Nginx: /usr/local/nginx/logs/error.log notice;
PHP-fpm: /var/log/php-fpm/error.log
PHP: /var/log/php/php-error.log

相關文章
相關標籤/搜索