1, nginx简介:

•Nginx("engine x") 是一个高性能的HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器。
•第一个公开版本0.1.0发布于2004年10月4日。
•其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名
•官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定

目前在使用nginx的网站有: ali, tudou, 京东, 爱奇艺, 网易, 蘑菇街, tencent, letv, 360, sina等

1), 负载均衡

2), 动静分离

2, nginx和apache相比优缺点:

1、nginx相对于apache的优点:轻量级,同样起web 服务,比apache 占用更少的内存及资源抗并发,nginx处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速啊
–2.apache 相对于nginx的优点:rewrite ,比nginx的rewrite 强大模块超多,基本想到的都可以找到少bug ,nginx的bug 相对较多
–3、Nginx 配置简洁, Apache 复杂
–4、最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程

3, 再次我们用的是alibaba加强的Tengine

原版nginx安装可参见nginx分类下的博客, 安装nginx

Tengine是nginx的加强版,封装版,淘宝开源
–官网http://tengine.taobao.org/
–动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;
–支持SO_REUSEPORT选项,建连性能提升为官方nginx的三倍;
–支持SPDY v3协议,自动检测同一端口的SPDY请求和HTTP请求;
–流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;
–更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名;
–输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;
–支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数
–动态脚本语言Lua支持。扩展功能非常高效简单;
–支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
–支持按指定关键字(域名,url等)收集Tengine运行状态;
–组合多个CSS、JavaScript文件的访问请求变成一个请求;
–自动去除空白字符和注释从而减小页面的体积
–…….

安装:

下载:

  1. http://tengine.taobao.org/download/tengine-2.2.2.tar.gz

1), 安装依赖

  1. yum groupinstall Development tools
  2. yum install openssl-devel pcre-devel zlib-devel

2), 上传文件到 /usr/opt/ 目录下, 并解压

  1. tar -zxvf tengine-2.1..tar.gz

3), 配置编译信息

  1. ./configure \
  2. --prefix=/opt/soft/tengine-2.1./ \
  3. --error-log-path=/var/log/nginx/error.log \
  4. --http-log-path=/var/log/nginx/access.log \
  5. --pid-path=/var/run/nginx/nginx.pid \
  6. --lock-path=/var/lock/nginx.lock \
  7. --with-http_ssl_module \
  8. --with-http_flv_module \
  9. --with-http_stub_status_module \
  10. --with-http_gzip_static_module \
  11. --http-client-body-temp-path=/var/tmp/nginx/client/ \
  12. --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  13. --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
  14. --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
  15. --http-scgi-temp-path=/var/tmp/nginx/scgi \
  16. --with-pcre

4), make && make install

上一步不成功生成不了makefile文件, , ,

5), 此时开放防火墙端口, 已经可以直接访问:

  1. http://192.168.208.101

6), 为了更便捷的启动nginx, 将nginx加入服务项中:

  1. vim /etc/init.d/nginx
  1. #!/bin/bash
  2. #
  3. # chkconfig: -
  4. # description: nginx is a World Wide Web server. It is used to serve
  5. # Source function library.
  6. . /etc/rc.d/init.d/functions
  7.  
  8. # Source networking configuration.
  9. . /etc/sysconfig/network
  10.  
  11. # Check that networking is up.
  12. [ "$NETWORKING" = "no" ] && exit
  13.  
  14. nginx="/opt/soft/tengine-2.1.0/sbin/nginx"
  15. prog=$(basename $nginx)
  16.  
  17. NGINX_CONF_FILE="/opt/soft/tengine-2.1.0/conf/nginx.conf"
  18.  
  19. #[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
  20.  
  21. lockfile=/var/lock/subsys/nginx
  22.  
  23. #make_dirs() {
  24. # # make required directories
  25. # user=`nginx -V >& | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
  26. # options=`$nginx -V >& | grep 'configure arguments:'`
  27. # for opt in $options; do
  28. # if [ `echo $opt | grep '.*-temp-path'` ]; then
  29. # value=`echo $opt | cut -d "=" -f `
  30. # if [ ! -d "$value" ]; then
  31. # # echo "creating" $value
  32. # mkdir -p $value && chown -R $user $value
  33. # fi
  34. # fi
  35. # done
  36. #}
  37.  
  38. start() {
  39. [ -x $nginx ] || exit
  40. [ -f $NGINX_CONF_FILE ] || exit
  41. # make_dirs
  42. echo -n $"Starting $prog: "
  43. daemon $nginx -c $NGINX_CONF_FILE
  44. retval=$?
  45. echo
  46. [ $retval -eq ] && touch $lockfile
  47. return $retval
  48. }
  49.  
  50. stop() {
  51. echo -n $"Stopping $prog: "
  52. killproc $prog -QUIT
  53. retval=$?
  54. echo
  55. [ $retval -eq ] && rm -f $lockfile
  56. return $retval
  57. }
  58.  
  59. restart() {
  60. configtest || return $?
  61. stop
  62. sleep
  63. start
  64. }
  65.  
  66. reload() {
  67. configtest || return $?
  68. echo -n $"Reloading $prog: "
  69. # -HUP是nginx平滑重启参数
  70. killproc $nginx -HUP
  71. RETVAL=$?
  72. echo
  73. }
  74.  
  75. force_reload() {
  76. restart
  77. }
  78.  
  79. configtest() {
  80. $nginx -t -c $NGINX_CONF_FILE
  81. }
  82.  
  83. rh_status() {
  84. status $prog
  85. }
  86.  
  87. rh_status_q() {
  88. rh_status >/dev/null >&
  89. }
  90.  
  91. case "$1" in
  92. start)
  93. rh_status_q && exit
  94. $
  95. ;;
  96. stop)
  97. rh_status_q || exit
  98. $
  99. ;;
  100. restart|configtest)
  101. $
  102. ;;
  103. reload)
  104. rh_status_q || exit
  105. $
  106. ;;
  107. force-reload)
  108. force_reload
  109. ;;
  110. status)
  111. rh_status
  112. ;;
  113. condrestart|try-restart)
  114. rh_status_q || exit
  115. ;;
  116. *)
  117. echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
  118. exit
  119. esac

注意修改nginx和配置文件为自己的路径

7), 更改文件执行权

  1. # 修改文件执行权限
  2. chmod +x nginx
  3. # chmod nginx
  4.  
  5. #添加文件到系统服务中
  6. chkconfig --add nginx
  7. #查看是否添加成功
  8. chkconfig --list nginx
  1. service nginx start | stop | reload

会有个错误, 只需要

  1. mkdir -p /var/tmp/nginx/client

系列来自尚学堂极限班

2-nginx 安装的更多相关文章

  1. zabbix 3.0.3 (nginx)安装过程中的问题排错记录

    特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...

  2. Nginx 安装以及反向代理配置(windows)

    安装 windows 下 Nginx 安装非常简单,下载地址 http://nginx.org/en/download.html. 选择红框这个,下载下来是个 zip 文件,解压.这时我们双击根目录的 ...

  3. nginx安装与配置

    一.在线安装 ubuntu 安装 sudo apt-get install nginx 安装后文件结构为: 配置文件:/etc/nginx ,并且每台虚拟主机已经安排在 /etc/nginx/site ...

  4. Windows下将nginx安装为服务运行

    今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企业,甚至大型企业所使用! 由于是在Windows下,所以 ...

  5. windows下nginx安装、配置与使用(转载)

    目前国内各大门户网站已经部署了Nginx,如新浪.网易.腾讯等:国内几个重要的视频分享网站也部署了Nginx,如六房间.酷6等.新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx ...

  6. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  7. Linux系统下Nginx安装详解

    该随笔为个人原创,后期会根据项目实践实时更新,如若转载,请注明出处,方便大家获得最新博文! 注:安装Nginx需要Linux系统已经安装   openssl-fips-2.0.2.tar.gz zli ...

  8. Linux下查看Nginx安装目录、版本号信息?

    Linux环境下,怎么确定Nginx是以那个config文件启动的? 输入命令行: ps  -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...

  9. nginx安装及负载均衡配置

    Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二 ...

  10. nginx安装方式

    1.首先安装pcre库 获取pcre到一个目录 wget http://ftp.exim.llorien.org/pcre/pcre-8.21.tar.gz 解压缩pcre包 tar -zxvf pc ...

随机推荐

  1. JSTL自定义函数完成ACL即时认证

    即时认证是指,用户进行查询或更新操作时,判断该用户进行是否对该操作有权限. 这里以判断用户是否有删除权限为例.如果用户有删除权限,即显示该按钮:如果没有删除权限,则不显示该按钮. 1.Manager层 ...

  2. SQL SERVER存储过程中使用事务与捕获异常

    https://www.douban.com/note/559596669/ 格式类似于 CREATE PROCEDURE YourProcedure ASBEGIN    SET NOCOUNT O ...

  3. Python学习-32.Python中os模块的一些方法

    首先肯定是要引入os模块了. import os getcwd方法: print(os.getcwd()) 上面的语句将会输出当前的工作目录,相当于C#中的Environment.CurrentDir ...

  4. jQuery基础【1】

    jQuery 是一个“写的更少,但做的更多”的轻量级 JavaScript 库.jQuery 极大地简化了 JavaScript 编程.jQuery 很容易学习.jQuery 库位于一个 JavaSc ...

  5. NET Core2.1 WEB老项目迁移

    .NET Core2.1 版本新增功能不在赘述. NET Core2.1更新链接 如果开发需要安装Net Core2.1SDK,及Runtime. .NET Core2.1安装地址. 接下来是WEB ...

  6. Linq to SQL 练习

    public class HomeController : Controller { // // GET: /Home/ empentity entity = new empentity(); pub ...

  7. 第三节:使用Log4net和过滤器记录异常信息,返回异常给前端

    上次面试,遇到,在项目中如何处理业务异常和代码异常,使用txt记录异常信息后,如何直接区分出异常的类型,异常怎么分类处理,希望大家能帮我提出宝贵的意见,完善处理异常, 统一返回参数 public cl ...

  8. win 10 mysql8.0安装

    1.解压缩安装包(记住自己的解压到那个目录,后面需要) 2.找到此电脑,然后找到属性(小编这里win10) 3.点击左侧高级系统设置 4.选择下面的环境变量 5.选择下面的新建,然后看图片,上面输入M ...

  9. Java中的split和join

    Javascript中的用于字符串和数组之间转换的split和join函数使用起来非常方便,在Java中也有这两个函数,只不过join是在apache commons的lang库里实现的. impor ...

  10. laravel 的passport Oauth 认证登录请求 的 oauth_token 重置

    laravel 的passport Oauth 认证登录请求 的 oauth_token 重置    使用API登录认证是需要获取访问令牌,方法为: 参数: grant_type —— 密码模式固定为 ...