Centos7 安装淘宝 Tengine

1、安装gcc

安装GCC 编译软件

yum install gcc

2、pcre、pcre-devel安装

pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库

yum install -y pcre pcre-devel

3、zlib安装

zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装

安装命令:

yum install -y zlib zlib-devel

4、安装openssl

openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。。。。。。

安装命令:

yum install -y openssl openssl-devel

5、安装jemalloc

# 创建编译文件夹,复制文件 jemalloc-5.2.1.tar.bz2 到 /usr/local/src
cd /usr/local/src
# 直接复制,不要下载了,或者 wget +地址下载

# 安装bzip2,避免下一步解压异常
yum -y install bzip2

tar jxvf jemalloc-5.2.1.tar.bz2

# 进入文件夹
cd jemalloc-5.2.1
./configure --prefix=/usr/local/jemalloc
make && make install

6、安装Tengine

从官网(http://tengine.taobao.org/)获取最新版的软件

# 通过创建新用户来安装tengine
groupadd www-data
useradd -s /sbin/nologin -g www-data www-data
cd /usr/local/src

# 安装下载插件
yum -y install wget

# 下载最新版 http://tengine.taobao.org/download/tengine-2.3.3.tar.gz
wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz

# 解压文件
tar -zxvf tengine-2.3.3.tar.gz

cd tengine-2.3.3.tar.gz
./configure --prefix=/usr/local/nginx --user=www-data --group=www-data --with-pcre --with-http_ssl_module --with-jemalloc=/usr/local/src/jemalloc-5.2.1 --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module
make && make install

7、配置tengine

# 配置开机启动
vim /lib/systemd/system/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
# 进入文件夹
cd /lib/systemd/system

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

8、开启服务器端口号

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent

systemctl restart firewalld.service
firewall-cmd --list-ports