在开始编译Tengine之前,首先需要确保您的CentOS系统环境已准备就绪。建议使用CentOS 7或8版本,并确保系统已安装必要的开发工具和库文件。

- 系统更新:执行
sudo yum update -y以确保所有系统软件包为最新版本。 - 安装基础编译工具:通过命令
sudo yum groupinstall -y "Development Tools"安装GCC、Make等核心工具。 - 安装依赖库:Tengine编译依赖如PCRE、OpenSSL、zlib等库,可使用
sudo yum install -y pcre-devel openssl-devel zlib-devel一键安装。
完成上述步骤后,您的系统环境即满足Tengine的编译要求。
获取Tengine源代码
Tengine的源代码可以通过官方Git仓库或下载稳定版压缩包获取。推荐从GitHub克隆以获取最新特性。
官方GitHub仓库地址:https://github.com/alibaba/tengine
您可以选择以下任一方式获取代码:
- 使用Git克隆:执行
git clone https://github.com/alibaba/tengine.git。 - 下载稳定版:从官网或GitHub Releases页面下载如
tengine-2.3.3.tar.gz的压缩包,并使用tar -zxvf tengine-2.3.3.tar.gz解压。
获取后,进入源码目录:cd tengine 或 cd tengine-2.3.3。
配置编译选项
配置是编译过程中的关键步骤,它决定了Tengine将包含哪些模块和功能。使用 ./configure 命令进行配置,并可根据需求添加参数。
以下是一个常用配置示例,启用了HTTP SSL支持、Gzip压缩等核心功能:
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-pcre
常用配置参数说明:
| 参数 | 功能描述 |
|---|---|
| –prefix | 指定安装目录,默认为 /usr/local/nginx |
| –with-http_ssl_module | 启用HTTPS支持 |
| –with-http_v2_module | 启用HTTP/2支持 |
| –with-http_stub_status_module | 启用状态监控页面 |
配置完成后,系统会检查依赖关系并生成Makefile。如果出现错误,请根据提示安装缺失的依赖。
编译与安装
配置顺利通过后,即可开始编译和安装。这个过程会将源代码编译成可执行二进制文件,并安装到指定的目录。
- 编译:执行
make命令。这个过程可能需要几分钟,具体时间取决于系统性能。 - 安装:编译成功后,执行
sudo make install将Tengine安装到系统中。
安装完成后,Tengine的主要文件将位于您通过 --prefix 参数指定的目录(例如 /usr/local/nginx)下。关键目录包括:
sbin/nginx:Tengine的主程序。conf/nginx.conf:主配置文件。html/:默认的网站根目录。
配置与启动Tengine服务
安装完成后,需要对Tengine进行基本配置并启动服务。
基本配置:编辑主配置文件 /usr/local/nginx/conf/nginx.conf,确保关键配置如监听端口、服务器名称等正确。例如,确认 listen 80; 和 server_name localhost;。
启动服务:直接运行可执行文件启动Tengine。
sudo /usr/local/nginx/sbin/nginx
启动后,您可以通过浏览器访问服务器的IP地址或域名(如 http://your_server_ip)来验证是否出现Tengine的欢迎页面。
常用管理命令:
- 重启服务:
sudo /usr/local/nginx/sbin/nginx -s reload - 停止服务:
sudo /usr/local/nginx/sbin/nginx -s stop - 测试配置文件:
sudo /usr/local/nginx/sbin/nginx -t
验证部署与基本测试
服务启动后,进行彻底的验证是确保部署成功的关键。
检查进程:使用 ps aux | grep nginx 命令,查看是否有Nginx主进程和工作进程在运行。
测试访问:通过curl命令或浏览器访问服务器。执行 curl http://localhost,如果返回HTML内容,则说明服务运行正常。
验证状态模块:如果您在配置时启用了 --with-http_stub_status_module,可以在配置文件中添加一个location块来访问状态信息:
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
配置并重载服务后,访问 http://your_server_ip/nginx_status 即可看到连接数、请求数等实时状态信息。
防火墙与开机自启
为了让Tengine能够被外部访问并确保系统重启后服务自动运行,需要进行额外配置。
配置防火墙:如果系统防火墙(如firewalld)已开启,需要放行HTTP(80)和HTTPS(443)端口。
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
设置开机自启:创建Systemd服务文件是管理Tengine服务的最佳实践。在 /usr/lib/systemd/system/ 目录下创建 nginx.service 文件,并写入以下内容:
[Unit]
Description=The Tengine Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存文件后,执行以下命令启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx
现在,您的Tengine服务器已经成功部署,并具备了生产环境运行的基本条件。
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/134880.html