Tengine是Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
【腾讯云】轻量应用服务器Lighthouse,「轻」松上云!1核2G6M 限时低至74元/年起!
https://cloud.tencent.com/act/pro/lighthouse2021
1、 安装依赖
yum -y install gcc gcc-c++ bzip2 perl curl curl-devel expat-devel gettext-devel openssl-devel libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel autoconf
2、 扩展安装源
yum -y install epel-release
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
3、 安装编译组件
(1) pcre:一个Perl库,包括 perl 兼容的正则表达式库。nginx rewrite依赖于PCRE库。
cd /usr/local/src && wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz && tar zxvf pcre-8.44.tar.gz && cd pcre-8.44 && ./configure --prefix=/usr/local/pcre && make && make install
(2) jemalloc:是一个更好的内存管理工具,使用jemalloc可以更好的优化Tengine的内存管理。
cd /usr/local/src && wget https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.bz2 && tar xvf jemalloc-5.2.0.tar.bz2 && cd jemalloc-5.2.0 && ./configure --prefix=/usr/local/jemalloc && make && make install
(3) Zlib:提供资料压缩之用的函式库,当Tengine想启用GZIP压缩的时候就需要使用到Zlib
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
(4) OpenSSL:是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。主要是为了让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 && make && make install
这里为了安全起见还是添加一个专用的账户来执行Tengine,不建议用root用户启动。
groupadd www
useradd -m -s /sbin/nologin -g www www
主要的核心组件安装完成后,就可以安装tengine。
下载Tengine,可以在http://tengine.taobao.org/ 获取。
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/tengine --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.2.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-http_concat_module=shared --with-http_ssl_module --with-http_v2_module
配置
--with-pcre 、--with-openssl、--with-jemalloc、--with-zlib
的路径为源文件的路径。不然会出错
检查配置
echo $?
// 如果输出0则下一步
make -j4&&make install
// -j 则是调用多核心,进行并行编译。建议是cpu核心的两倍
系统用户登录系统后启动的服务 的目录
/usr/lib/systemd/system
如需要开机没有登陆情况下就能运行的程序在系统目录内
/lib/systemd/system
我希望在系统开机就保持程序的正常运行,这里我把配置放在系统目录下。
// 系统用户登录启动服务
cd /lib/systemd/system
// 添加tengine配置
vi tengine.service
//快捷创建文件
vi /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
设置文件权限
chmod 745 nginx.service
设置开机启动
systemctl enable tengine.service
Tengine相关指令
启动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
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。