`
junquinchen
  • 浏览: 2808 次
文章分类
社区版块
存档分类
最新评论

深入浅出Nginx之一【简介与环境搭建】

阅读更多
【Nginx简介】
     Nginx(发音同engine x),是来自于俄罗斯的高性能web服务器和反向代理服务器。在国内有新浪、网易、豆瓣、迅雷等多家网站使用。尴尬
     负载均衡(load balance):使用Nginx作为代理服务器,接收用户请求,并将其“均匀地转发”给多台内部web服务器,不会出现负载集中在某台服务器的现象。
    反向代理(reverse proxy):标准的代理是用户使用代理软件访问互联网上的多台web服务器,而反向代理指的是多个用户使用代理服务器访问多台内部web服务器的模式。
使用Nginx的优点:
     支持高并发访问:在生产环境下支持高达5万以上的并发连接数。大笑
     内存消耗少:在5万并发连接环境下,开启10个worker进程,仅仅消耗150M内存。
     容易配置:配置文件便于学习、阅读。
     成本低廉:Nginx是免费的开源软件,无须付费。
     支持rewrite重写规则:Nginx使用pcre进行正则表达式匹配,根据请求域名、url的不同,将http请求分发给不同的后端服务器。
     内建健康检查功能:Nginx能够检测某台后端服务器是否宕机,不影响用户访问。
     节省带宽:可以对静态资源进行gzip高效压缩,而通常浏览器都具有gzip解压缩功能。
     性能稳定:使用Nginx作为反向代理服务器,有效避免了网络攻击对后端服务器的影响,提高了安全性。

【安装Nginx】
一. 安装依赖包:哭
1. 安装pcre:对正则表达式的支持。
   tar -zxvf pcre-8.33.tar.gz
Shell代码  收藏代码
cd pcre-8.33 
./configure --prefix=/usr/local/pcre 
make && make install  
2. 安装zlib:对gzip压缩的支持。   
Shell代码  收藏代码
tar -zxvf zlib-1.2.8.tar.gz 
cd zlib-1.2.8 
./configure --prefix=/usr/local/zlib 
make && make install  
3. 安装openssl:对ssl协议的支持。
Shell代码  收藏代码
tar -zxvf openssl-1.0.0.tar.gz  
cd openssl-1.0.0 
./config --prefix=/usr/local/openssl 
make && make install  
二. 安装Nginx:酷
1. 创建日志目录:
Shell代码  收藏代码
mkdir -p /opt/nginx/logs 
2. 解压、配置:
Shell代码  收藏代码
tar -zxvf nginx-1.6.0.tar.gz 
cd nginx-1.6.0 
./configure --prefix=/usr/local/nginx \ 
--error-log-path=/opt/nginx/logs/error.log \ 
--http-log-path=/opt/nginx/logs/access.log \ 
--with-pcre=/software/pcre-8.33 \ 
--with-zlib=/software/zlib-1.2.8 \ 
--with-http_ssl_module \ 
--with-openssl=/software/openssl-1.0.0 \ 
--with-http_stub_status_module \ 
--with-http_realip_module \ 
--with-http_gzip_static_module \ 
--without-http_fastcgi_module \ 
--without-http_memcached_module \ 
--without-http_map_module \ 
--without-http_geo_module \ 
--without-http_autoindex_module \ 
--with-poll_module 
说明:
     1. 使用\:表示多个物理行同属一个逻辑行.
     2. 日志文件:error.log存放Nginx的错误日志,access.log存放用户访问日志.
     3. 依赖关系:pcre、zlib、openssl需要设置为源码位置,而不是安装位置.
3. 编译、安装:
Shell代码  收藏代码
make && make install 
 
【最小配置】吐舌头
1. 修改Nginx启动端口号:修改监听端口号为8080,因为只有root账号能够使用0-1024之间的端口号.
Shell代码  收藏代码
vi /usr/local/nginx/conf/nginx.conf 
listen       8080; 
2. 防火墙设置:开放8080端口
Shell代码  收藏代码
su - root 
vi /etc/sysconfig/iptables 
追加如下内容:
Shell代码  收藏代码
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 
重启网卡:
Shell代码  收藏代码
service iptables restart 

【启动、关闭】惊讶
1. 启动nginx:并指定配置文件,参数-c为configure
Shell代码  收藏代码
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
2. 关闭nginx:参数-s为signal
Shell代码  收藏代码
#等待worker进程处理完用户的当前请求,再进行关闭 
/usr/local/nginx/sbin/nginx -s quit 
#快速关闭 
/usr/local/nginx/sbin/nginx -s stop 
3. 使用kill命令关闭:关闭主进程(master process),从进程(worker process)随之消亡.
Shell代码  收藏代码
ps -ef | grep nginx 
kill 21531 
分享到:
评论

相关推荐

    轻量级nginx

    对于Linux基础的读者来说,本文档将深入浅出地介绍Nginx的安装、配置、管理以及调优。文档共分为10章,涵盖了Nginx的方方面面,包括Nginx简介、安装与启动、基本配置、Rewrite规则,以及源代码搭建LNMP环境。 文档...

    各种网络服务器的简单搭建

    本教程将针对“各种网络服务器的简单搭建”这一主题,深入浅出地讲解相关知识,帮助你快速掌握网络服务器的基本操作。 首先,我们要了解什么是网络服务器。网络服务器是运行在互联网上,为用户提供各种服务的计算机...

    Nginx系列之新手入门

    在本文中,我们将深入浅出地探讨Nginx的安装、基础使用和配置,旨在帮助新手快速入门。 首先,我们来看Nginx的安装。对于Windows用户,可以直接从Nginx官方网站下载预编译的二进制包进行安装。而对于Linux用户,...

    《OpenResty最佳实践》 .pdf

    《OpenResty最佳实践》通过深入浅出的方式,介绍了如何将Lua嵌入到Nginx中,利用OpenResty的高效执行引擎快速搭建出高性能的Web应用。书中强调了性能优化、安全性以及代码质量保证的重要性,并且配合了大量实际的...

    PHP与jQuery开发实例PHP jQuery Cookbook.pdf

    它深入浅出地讲解了PHP与jQuery的结合应用,提供了丰富的实战案例,帮助读者快速掌握这两项技术的核心要点,并能在实际项目中灵活运用。无论是初学者还是有一定经验的开发者,都能从这本书中获得宝贵的开发经验和...

    2009年图书:Ubuntu Linux的秘密

    本书深入浅出地揭示了Ubuntu这一开源操作系统的核心特性、使用技巧以及背后的秘密。Ubuntu Linux作为全球最受欢迎的Linux发行版之一,其易用性、稳定性和丰富的软件库吸引了大量用户,无论是初学者还是高级用户都能...

    《跟老男孩学Linux运维:Web集群实战》

    书中的内容深入浅出,旨在帮助读者掌握如何在Linux环境中构建、配置和管理高效的Web服务集群。Nginx、MySQL和PHP是Web集群中的关键组件,本书将通过手把手的教学方式,详细介绍这三个组件的安装、配置和优化过程。 ...

    Web应用服务器tomcat视频.zip

    【描述】:本教程主要涵盖了与Web应用服务器Tomcat相关的知识,通过一系列视频课程,深入浅出地讲解了如何搭建LNMP架构,JDK的安装与配置,以及Tomcat的环境部署、目录结构解析和管理端配置等内容。以下是各视频课程...

    UNIX环境高级编程中文第二版

    - **书籍介绍**:《UNIX环境高级编程》是一本深入浅出地讲解UNIX系统编程技术的著作,中文第二版更是针对中文读者进行了优化,使其更易于理解。本书不仅适合初学者入门,也适合有一定基础的开发者进行深入学习。 ##...

    Linux+PHP+MySQL案例教程

    《Linux+PHP+MySQL案例教程》是一本针对初学者和进阶者的综合教程,它深入浅出地介绍了如何在Linux环境中结合PHP和MySQL构建高效、稳定的Web应用系统。本教程涵盖了这三个关键技术领域的基础知识以及实际应用,旨在...

    linux c库存函数

    - **企业shell常见面试题及企业实战案例深入浅出讲解**:针对Shell脚本编写技能的提升。 - **门户网站nginx高并发性能调优精要**:针对Nginx的性能调优策略。 - **从0开始一步步实战深入学习linux运维(一)**:适合...

    Pragmatic.Ubuntu.Kung.Fu.Sep.2008.rar

    通过深入浅出的讲解和实例演示,读者可以学习到如何更有效地使用Ubuntu这一流行的开源操作系统。 本书的知识点涵盖了多个方面: 1. **Ubuntu安装与升级**:详细介绍了如何无痛安装Ubuntu,包括双系统配置、U盘启动...

    Learning Website Development with Django

    《Learning Website Development with Django》这本书深入浅出地介绍了使用Python的Django框架进行网站开发的知识。Django作为一款强大的开源Web框架,以其高效、安全和可扩展性深受开发者喜爱。以下将详细介绍书中...

    Django 实例 英文第四版

    《Django 4 By Example》第四版是一本深入浅出的Django教程,旨在帮助读者从零基础开始构建强大且可靠的Python web应用。作者Antonio Melé通过丰富的实例和实战项目,逐步指导读者掌握Django的核心技术和实践技巧。...

    LinuxBible2008Edition.rar

    《Linux Bible 2008 Edition》是一本深入浅出的Linux指南,涵盖了广泛的Linux发行版,包括Ubuntu、Fedora、openSUSE和Debian等主流操作系统。这本书为读者提供了全面而实用的知识,旨在帮助读者从新手到熟练掌握...

    Linux 企业应用案例

    《Linux企业应用案例》一书通过丰富的实战案例,不仅深入浅出地介绍了Linux环境下企业级应用的关键技术点,还提供了大量的实践指导,对于希望深入了解并掌握这些技能的读者来说,是非常宝贵的参考资料。无论是对...

    PHP+MYSQL动态网站开发与全程实例电子课件

    《PHP+MYSQL动态网站开发与全程实例电子课件》是一份深入浅出的教程资料,旨在帮助学习者掌握PHP和MySQL这两种核心技术在构建动态网站时的应用。PHP是一种广泛使用的服务器端脚本语言,尤其适用于Web开发,而MySQL则...

Global site tag (gtag.js) - Google Analytics