1.介绍

1.1 Tengine

  • 本质上就是nginx,用法跟nginx一模一样,由淘宝团队进行二次开发。
  • 它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

1.2 nginx

  • nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件。它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用。
  • nginx比它大哥apache性能改进许多,nginx占用的系统资源更少,支持更高的并发连接,有更高的访问效率。
  • nginx不但是一个优秀的web服务软件,还可以作为反向代理,负载均衡,以及缓存服务使用。
  • 安装更为简单,方便,灵活。
  • 支持高并发,能支持几万并发连接
  • 资源消耗少,在3万并发连接下开启10个nginx线程消耗的内存不到200M
  • 可以做http反向代理和负载均衡
  • 支持异步网络i/o事件模型epoll

2. centos7.5安装nginx

tnginx官网链接http://tengine.taobao.org/download.html

2.1. yum安装(自动配置环境变量,但安装位置无法选择)

2.1.1. 卸载

停止Nginx软件
systemctl nginx stop
删除Nginx的自动启动
chkconfig nginx off
从源头删除Nginx
rm -rf /usr/sbin/nginx
rm -rf /etc/nginx
rm -rf /etc/init.d/nginx
再使用yum清理
yum remove nginx

2.1.2 安装

# 安装
yum install nginx -y# 如果显示没有的话
# 换一下源
配置腾讯云的yum源
1.下载centos源
wget -O /etc/yum.repos.d/CentOS-Base.repo   http://mirrors.cloud.tencent.com/repo/centos7_base.repo
2.下载epel源(第三方软件仓库)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo3.清空yum缓存并且生成新的yum缓存
yum clean all
yum makecache
# 重新安装
yum install nginx -y

2.2 编译安装nginx

2.2.1 安装nginx前的依赖环境解决

yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y

2.2.2 安装

# 下载wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz
# 解压缩tar -zxvf tengine-2.3.3.tar.gz# 进入源码目录进行编译(指定位置安装)# ./configure --prefix=安装的位置./configure --prefix=/opt/tngx230/# 安装 在源码目录make && make install# 如果编译错了,或者不想要了直接删除,重新解压/编译/安装rm -rf tngx230

2.3 环境变量的配置

2.3.1 echo $PATH

echo $PATH# 原有的环境变量
usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

2.3.2 打开/etc/profile 在最后一行添加这一句

 vim /etc/profile
# 下列格式二选一即可(推荐第二种)
# 格式一
PATH="usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/tngx230/sbin"
# 格式二
PATH="$PATH:/opt/tngx230/sbin"

2.3.3 刷新

source /etc/profile

3. ubuntu安装nginx

3.1 apt-get安装(自动配置环境变量)

3.1.1 卸载

# 首先需要停止nginx的服务
sudo service nginx stop
# 删除nginx
sudo apt-get --purge remove nginx
# 自动移除全部不使用的软件包
sudo apt-get autoremove
# 列出与nginx相关的软件 并删除显示的软件
dpkg --get-selections|grep nginxsudo apt-get --purge remove nginx
sudo apt-get --purge remove nginx-common
sudo apt-get --purge remove nginx-core

3.1.2 安装

# apt-get安装
sudo apt-get install nginx
# 查看nginx是否安装成功
nginx -v
# 启动nginx
sudo systemctl nginx start
# 检查是否启动
sudo systemctl status nginx

3.2 源码编译安装

3.2.1 安装依赖

# 更新
sudo apt-get update
sudo apt-get install libxml2-dev build-essential openssl  libssl-dev make curl  libcurl4-gnutls-dev libjpeg-dev  libpng-dev libtool-bin bison  zlib1g-dev libpcre3 libpcre3-dev libssl-dev libxslt1-dev  libgeoip-dev libgoogle-perftools-dev libperl-dev libtool gcc libgd-dev libpcre2-dev -y

3.2.2 安装

# 切换root用户,不然,会有权限不足,很可能安装失败,且安装成功,设置环境变量以后,也需要root去启动
su - root
# 安装tnginx
sudo wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz
# 解压缩sudo tar -zxvf tengine-2.3.3.tar.gz# 进入源码目录进行编译(指定位置安装)# ./configure --prefix=安装的位置sudo ./configure --prefix=/opt/tngx230/# 安装 在源码目录sudo make && make install# 如果编译错了,或者不想要了直接删除包即可,重新解压/编译/安装rm -rf tngx230

ps su -root 切换失败

使用su命令登录到root用户时,老是报"su:认证失败"错误。报这个错误的原因是root用户默认是被锁定了的,
# 解决办法
只要使用passwd命令重新设置下root密码即可。
sudo passwd su root 和 su - root 有什么区别
su 默认切到 root
su 与su - 的区别:
su 是不改变当前变量
su - 是切换到用户的变量
su只能获得root的执行权限,不能获得环境变量,而su - 是切换到root并获得root的环境变量及执行权限.

3.3 环境变量的配置

3.3.1 echo $PATH

echo $PATH# 原有的环境变量
usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

3.3.2 打开/etc/profile 在最后一行添加这一句

 vim /etc/profile
# 下列格式二选一即可(推荐第二种)
# 格式一
PATH="usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/tngx230/sbin"
# 格式二
PATH="$PATH:/opt/tngx230/sbin"

3.3.3 刷新

source /etc/profile

4. 常用nginx命令以及路径介绍(在ubuntu上需要切换到root上执行)

4.1 yum安装时,nginx的路径

以下是Nginx的默认路径:
Nginx配置路径:/etc/nginx/
错误日志:/var/log/nginx/error.log
访问日志:/var/log/nginx/access.log
默认站点目录:/usr/share/nginx/html
PID目录:/var/run/nginx.pid事实上,只需知道Nginx配置路径,
其他路径均可在/etc/nginx/nginx.conf
以及/etc/nginx/conf.d/default.conf 中查询到。

4.2 编译安装时,nginx的路径

#解释目录
conf存放nginx配置文件的
html存放前端文件目录工,首页文件就在这里
logs存放nginx运行日志,错误日志的
sbin存放nginx执行脚本的

4.3 docker安装,nginx的路径

Nginx配置路径(日志)  /etc/nginx/nginx.conf
Nginx配置路径(server) /etc/nginx/conf.d/default.conf
错误日志 /var/log/nginx/error.log
访问日志 /var/log/nginx/access.log
默认站点目录 /usr/share/nginx/html
PID目录    /var/run/nginx.pid

4.4 nginx命令

常用命令
# 关闭防火请,不然nginx启动,无法访问
iptables -F
(1) 启动:
nginx
(2) 测试Nginx配置是否正确:
nginx -t
(3) 平滑重启,重新读取nginx配置文件
nginx -s reload
(4) 停止nginx:
nginx -s stop

4.5 附送uwsgi常用命令

启动:
uwsgi  --ini  uwsgi.ini停止:
uwsgi --stop uwsgi.pid重启:
uwsgi --reload uwsgi.pid

5. nginx.conf基础介绍

#配置文件内容如下
# 进程数
worker_processes  1;
events {worker_connections  1024;
}
# 核心代码
http {include       mime.types;default_type  application/octet-stream;# 定义nginx访问日志的格式 log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 访问日志的功能access_log  logs/access.log  main;# 推图片等静态文件压缩,提升传输效率gizp  on;#server被称为虚拟主机,可以有多个# 提供主页面的功能server {# 监听的端口号 listen       80;# 填写服务器的域名,或者IP,或者localhostserver_name  localhost;# 路径匹配,当你的请求来自,192.168.16.37/ 这样的url的时候,就进入以下的location路径匹配# location /--->的斜杠就是192.168.16.37/的斜杠location /{# root参数定义网页的根目录,root   html/;# 指定首页文件的名字,两个都是,可以删掉一个index  index.html index.htm;}# 错误页面,当请求返回404,给页面返回404页面,需要放在网页的根目录下,比如我的这个就是html/error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}   }

6. nginx错误页面优化

nginx的错误页面优化
就是打开nainx.conf里面的如下参数
error_page  404              /404.html;

7. nginx访问日志功能(解开注释)

  • 分全局以及主机,最外面的是全局,在server里面的当前主机的日志
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  logs/access.log  main;

8. nginx禁止某个ip访问

# 单个禁止
location / {
deny 你想禁止的ip地址;
}

9. nginx的状态信息功能,检测当前有多少个链接数

# 开启nginx状态功能
# 请求192.168.14.42/status 进入
location /status {
stub_status on;
}

10. 图解

vum -y install httpd-tools-n requests # 执行的请求数,即一共发起多少请求。
-c concurrency #请求并发数。
-k    # 启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求。# 案例
ab -kc 1000 -n 100000 http://192.168.119.10/

Tengine(nginx)的安装及详解相关推荐

  1. Linux下Nginx编译安装过程详解

    Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...

  2. nginx服务器安装及配置文件详解

    nginx服务器安装及配置文件详解 seanlook 5月26日 发布 4 推荐 97 收藏,9.2k 浏览 nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自 ...

  3. zabbix安装配置详解(一)

    zabbix安装配置详解(一) 一.nginx安装 1.必要软件准备: 为了支持rewrite功能,我们需要安装pcre: #yum install pcre-* 需要ssl的支持,如果不需要ssl支 ...

  4. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  5. 使用LVS实现负载均衡原理及安装配置详解

    使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均 ...

  6. Nginx反向代理配置详解

    Nginx反向代理配置详解 Nginx简单的反向代理配置,包括配置文件中各项参数的的注释,好了,开始! 开始首先安装Nginx 一.建立用户和用户组 1 2 ./usr/sbin/groupadd w ...

  7. nginx1.0安装配置详解

    nginx1.0安装配置详解 本文转自:twenty_four的博文,自己稍作精简修改. http://twentyfour.blog.51cto.com/945260/568906 1.选择Ngin ...

  8. Nginx配置文件的结构详解和静态资源部署

    Nginx配置文件的结构详解和静态资源部署 一.配置文件结构 使用Nginx之前,需要先看懂Nginx的配置文件. 因为之后操作Nginx,就是一个对配置文件修改的过程. Nginx的配置文件(con ...

  9. nginx 的基本使用详解

    文章目录 前言 nginx 的基本使用详解 一.概念: 二.nginx的基本使用: 1.nginx的安装: 2.nginx文件格式: 3.nginx配置 3.1 nginx 配置文件结构 3.2 ng ...

最新文章

  1. Ceph v12.2 Luminous基于ubuntu16.04集群部署
  2. 自定义函数或者回调函数中调用对话框对象
  3. docker自动化部署
  4. 满足条件的两个数或多个数
  5. html滚动条自动下拉,[JS] jquery实现div随滚动条下拉浮动功能
  6. asp.net页面的验证码代码
  7. [Web Chart系列之五] 图形布局-Circle Layout 之实现
  8. 给出c语言的三维数组地址计算公式,要存放稀疏矩阵的元素.ppt
  9. 我想给小舅子投资个普通的洗车行,我出钱,他出力,五五分利润,可以吗?
  10. 找不org.apache.commons.lang3.builder.EqualsBuilder和commons-lang下载链接
  11. 平时多流汗,战时少流血
  12. 企业污染排放数据库、海关数据库
  13. 《算法分析与设计》 第一章 算法设计基础 基本知识点
  14. php面包屑导航实现思路,简单实现面包屑导航代码
  15. Autel Maxisys Elite Common FAQs
  16. 二进制 八进制 十进制 十六进制 之间进制转换(图解篇)
  17. addEventListener 的第三个参数capture、once、passive
  18. UnityShader_天空盒子中的反射、折射、聂菲尔效应
  19. STM32的介绍及MDK
  20. rxjava 常用用法实例

热门文章

  1. 微信打开链接出现“已停止访问该网页”怎么解决?Mindjump完美解决该问题
  2. java夯实基础-运算符
  3. iOS:苹果推送(APNS)-pem/p12证书的生成
  4. 2019最新最全极客学院 Docker全面解读零基础实战
  5. CPU速度的计算方法和单位
  6. 高级视图和URL配置
  7. CentOS 如何在线乔迁 AlmaLinux 或 Rocky Linux ,且避免数据中心停机
  8. 数据仓库项目(第一节)项目介绍、模拟数据产生
  9. java TreeMap详解
  10. macOS 工具 - Homebrew