热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2nginx安装

1,nginx简介:•Nginx(enginex)是一个高性能的HTTP和反向代理服务器,也是一个IMAPPOP3SMTP代理服务器。•第一个公开版本0.1.0发

 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文件的访问请求变成一个请求;
–自动去除空白字符和注释从而减小页面的体积
–…….

 

安装: 

下载: 

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

1), 安装依赖

yum groupinstall Development tools
yum install openssl
-devel pcre-devel zlib-devel

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

tar -zxvf tengine-2.1.0.tar.gz

3), 配置编译信息

./configure \--prefix=/opt/soft/tengine-2.1.0/ \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--with-http_ssl_module \--with-http_flv_module \--with-http_stub_status_module \--with-http_gzip_static_module \--http-client-body-temp-path=/var/tmp/nginx/client/ \--http-proxy-temp-path=/var/tmp/nginx/proxy/ \--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \--http-scgi-temp-path=/var/tmp/nginx/scgi \--with-pcre

4), make && make install

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

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

http://192.168.208.101

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

vim /etc/init.d/nginx

#!/bin/bash
#
# chkconfig:
- 85 15
# description: nginx
is a World Wide Web server. It is used to serve
# Source function library.
.
/etc/rc.d/init.d/functions# Source networking configuration.
.
/etc/sysconfig/network# Check that networking is up.
[
"$NETWORKING" = "no" ] && exit 0nginx="/opt/soft/tengine-2.1.0/sbin/nginx"
prog
=$(basename $nginx)NGINX_CONF_FILE="/opt/soft/tengine-2.1.0/conf/nginx.conf"#[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginx#make_dirs() {
# # make required directories
# user
=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
# options
=`$nginx -V 2>&1 | grep 'configure arguments:'`
#
for opt in $options; do
#
if [ `echo $opt | grep '.*-temp-path'` ]; then
# value
=`echo $opt | cut -d "=" -f 2`
#
if [ ! -d "$value" ]; then
# # echo
"creating" $value
# mkdir
-p $value && chown -R $user $value
# fi
# fi
# done
#}start() {[
-x $nginx ] || exit 5[ -f $NGINX_CONF_FILE ] || exit 6
# make_dirsecho
-n $"Starting $prog: "daemon $nginx -c $NGINX_CONF_FILEretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval
}stop() {echo
-n $"Stopping $prog: "killproc $prog -QUITretval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval
}restart() {configtest
|| return $?stopsleep 1start
}reload() {configtest
|| return $?echo -n $"Reloading $prog: "
#
-HUP是nginx平滑重启参数 killproc $nginx -HUPRETVAL=$?echo
}force_reload() {restart
}configtest() {$nginx
-t -c $NGINX_CONF_FILE
}rh_status() {status $prog
}rh_status_q() {rh_status
>/dev/null 2>&1
}
case "$1" instart)rh_status_q && exit 0$1;;stop)rh_status_q || exit 0$1;;restart|configtest)$1;;reload)rh_status_q || exit 7$1;;force-reload)force_reload;;status)rh_status;;condrestart|try-restart)rh_status_q || exit 0;;*)echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"exit 2
esac

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

7), 更改文件执行权

# 修改文件执行权限
chmod
+x nginx
# chmod
751 nginx#添加文件到系统服务中
chkconfig -
-add nginx
#查看是否添加成功
chkconfig
--list nginx

service nginx start | stop | reload

  

会有个错误, 只需要

mkdir -p /var/tmp/nginx/client

 

 

系列来自尚学堂极限班

 



推荐阅读
  • 精选10款Python框架助力并行与分布式机器学习
    随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了如何在智能手机上将电话铃声恢复到原始状态,适用于各种品牌的智能手机。 ... [详细]
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 汇编语言:编程世界的始祖,连C语言都敬畏三分!
    当C语言还在萌芽阶段时,它首次接触到了汇编语言,并对其简洁性感到震惊。尽管汇编语言的指令极其简单,但它却是所有现代编程语言的基础,其重要性不言而喻。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
  • 小米路由器AX6000与小米11同步推出,不仅在硬件配置上达到了旗舰级水准,其独特的4K QAM技术更是引领了行业新标准。本文将深入探讨这款路由器的性能表现及其实际应用。 ... [详细]
  • 深入探讨:Actor模型如何解决并发与分布式计算难题
    在现代软件开发中,高并发和分布式系统的设计面临着诸多挑战。本文基于Akka最新文档,详细探讨了Actor模型如何有效地解决这些挑战,并提供了对并发和分布式计算的新视角。 ... [详细]
author-avatar
暗蓝语依_431
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有