作者:文人博客 | 来源:互联网 | 2023-05-18 10:08
Tengine的官网:http://tengine.taobao.org/
下载源码包
- wget http://tengine.taobao.org/download/tengine-2.1.0.tar.gz`
- tar -zxvf tengine-2.1.0.tar.gz
- cd tengine-2.1.0
需要注意的是,我希望用Jemalloc来分配和释放tengine内存(比默认的内存管理好多了),所以编译选项设置了--with-jemalloc的源码路径,源码包的获得具体通过以下方式:
Jemalloc方面
官网 http://www.canonware.com/jemalloc/
解压至指定目录
- wget https://github.com/jemalloc/jemalloc/releases/download/3.6.0/jemalloc-3.6.0.tar.bz2
- tar -jxvf jemalloc-3.6.0.tar.bz2 -C /usr/local/src
编译配置
- ./configure \
- --prefix=/usr/local/nginx \
- --with-jemalloc=/usr/local/src/jemalloc-3.6.0/ \
- –-user=www-data \
- –-group=www-data
如果想知道更多详细的编译参数的话可以执行./configure --help,会打印出所有的编译选项,可以按需添加或者禁用一些tengine模块,也可以在以后的使用中按需添加编译属性然后重新编译安装即可。
执行configure时,可能会报各种依赖包不存在的提示,比如openssl,如果是开发环境或者对这些依赖程序的版本没有要求的话,可以直接通过apt-get install libxxx的方式安装这些依赖包。
编译安装
- make
- make test
- make install
配置Tengine
make install之后会安装在/usr/local/nginx目录下,其中conf为tengine的配置文件目录,我们修改一下/usr/local/nginx/conf/nginx.conf这个配置文件:
如果有像Apache的vhost需求的话,可以在conf目录下新建一个文件夹vhost,然后所有虚拟主机的配置文件都放到vhost这里面:
- cd /usr/local/nginx/conf
- mkdir vhost
- vim nginx.conf
打开
nginx.conf
配置文件后,最基础的需要做以下几个地方的修改(所提到的地方都要去除前面的
#
号注释,只修改提到的地方,其它地方保留默认即可):
- #Tengine的进程以www-data用户启动
- user www-data;
- #自动以CPU核心数启动相应数量的进程
- worker_processes auto;
- #开启gzip支持
- gzip on
- #全局的错误日志地址,方便调试
- error_log /home/jason/BigDisk/nginx/error.log;
- server {
- #设置默认访问的server(default是指通过ip或者servername未定义的域名进行访问时就走到这个server)
- listen 80 default;
- #默认访问的路径
- root /home/jason/Work/nginx-default;
- location / {
- index index.php index.html index.htm;
- }
- #默认错误页面
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- #抓发到php-fpm
- location ~ \.php$ {
- fastcgi_pass unix:/var/run/php-fpm.socket;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- }
- #引用其他的vhost配置文件
- include vhost/*.conf;
启动脚本
安装好Tengine后需要启动它,github上有人已经做了一份比较完美的nginx启动脚本,我们直接拿下来用:
- wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
赋予可执行的权限:
- chmod +x /etc/init.d/nginx
启动Tengine:
这样基本上就配置好了Tengine
打开浏览器,输入主机ip: