菜鸟nginx源码剖析

菜鸟nginx源码剖析 配置与部署篇(一) 手把手配置nginx “I love you”

 TCMalloc 对MYSQL 性能 优化的分析

菜鸟nginx源码剖析系列文章解读


Author:Echo Chen(陈斌)

Email:chenb19870707@gmail.com

Blog:Blog.csdn.net/chen19870707

Date:Nov 7th, 2014

还记得在前几年的CSDN泄漏账号事件中,统计发现程序员的账号中含有love的最多,这里我也俗套下,在这篇文章中将讲解如何 一步一步实用Nginx在一台机器上搭建一个最简单的显示“I love you”的Web服务器,大家一起动手尝试吧。

1.Nginx 程序包

目前nginx最新的开发版本为1.7.7:

  • Linux:nginx-1.7.7.tar.gz
  • Windows:nginx-1.7.7.zip 

稳定版本为1.6.2:

  • Linux:nginx-1.6.2.tar.gz 
  • Windows:nginx-1.6.2.zip 

大家可以根据自己的操作系统和喜好选择程序包来实现,这里以nginx-1.7.7.tar.gz 在CentOs 6.4操作系统下为例。

2.Nginx下载解压、安装

下载和解压,这里以nginx-1.7.7.tar.gz 在CentOs 6.4操作系统下为例:

   1: wget http://nginx.org/download/nginx-1.7.7.tar.gz
   2: tar zxvf nginx-1.7.7.tar.gz 

但是下载解压完不要急着安装,因为 Nginx 依赖很多软件(gcc、g++、make、libz-dev、libbz2-dev、libreadline-dev),我们假设您的 Linux 环境是“纯净”的,所以下面我们就来安装这些依赖包。请按照如下步骤安装:

 

   1: yum install gcc -y
   2: yum install g++ -y
   3: yum install make -y
   4: yum install zlib-dev* -y
   5: yum install bzip2-dev* -y
   6: yum install readline-devel -y
 

 

这是一些基本的软件,另外还有 PCRE 要安装。PCRE 是“Perl Compatible Regular Expressions”的缩写,是一个正则表达式库。下载、解压并安装 PCRE:

 

   1: wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz

 

   2: tar -zxvf pcre-8.36.tar.gz
   3: cd pcre-8.36.tar.gz
   4: ./configure
   5: make
   6: make install

好了,这下可以安装我们的nginx了

 

   1: tar -zxvf nginx-1.7.7.tar.gz
   2: cd nginx-1.7.7
   3: ./configure
   4: sudo make
   5: sudo make install

 

3.Nginx 配置文件

按照上面的操作,Nginx 就已经安装完了。因为我们使用的是默认的 configure,所以会安装到/usr/local/nginx目录。相应的配置文件是/usr/local/nginx/conf/nginx.conf。我们打开配置文件,看到结构形如:

 

   1: ...
   2: #工作模式与连接数上限
   3: events
   4: {
   5: #参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
   6: use epoll;
   7: #单个进程最大连接数(最大连接数=连接数*进程数)
   8: worker_connections 65535;
   9: }
  10:  
  11: #设定http服务器,利用它的反向代理功能提供负载均衡支持
  12: http
  13: {
  14:     ...
  15:     #第一个虚拟服务器
  16:    server {
  17:     #侦听192.168.8.x的80端口
  18:         listen       80;
  19:         server_name  192.168.8.x;
  20:        }
  21: }
  22:  
其中events模块表示工作模式与链接数上限,http模块的作用为设定http服务器,server模块表示虚拟服务器,这里只是简要列出最简单的配置,如果有需要对配置进行进一步了解,可以参考《Nginx配置文件nginx.conf中文详解》。

4.Nginx 一个简单配置的编写

建立一个/root/test_space目录,用来存储我们的测试页面。再直接在 Nginx 的默认配置文件/usr/loca/nginx/conf/nginx.conf中修改,在http中增加一个server模块,如下:

   1: server {
   2:     listen      8011;
   3:     server_name localhost;
   4:     charset     utf-8;
   5:     location / {
   6:         alias   /root/test_space/;
   7:     }
   8: }

其中listen表示监听的端口号,sever_name则是web服务器的名称(可以是域名、host 或 IP 地址),charset指定编码字符集,这里的location则通过alias指定了web服务的文件目录。

5.Nginx启动

 

   1: /usr/local/nginx/sbin/nginx 
   2: s -ef | grep nginx

显示如下则启动成功:

image

6.测试

在/root/test_space下建立如下html文件:

 

   1: <html>
   2:    <head></head>
   3:    <body>I love you!<body>
   4: </html>

-

Echo Chen:Blog.csdn.net/chen19870707

转载于:https://www.cnblogs.com/tham/p/6827249.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

很有挫败感

总会时不时的怀疑自己是不是学编程的料&#xff0c;还是自己太笨&#xff1f; 自己读研前对编程可以说是一窍不通&#xff0c;虽然本科时学过C&#xff0c;但那时也只是应付考试&#xff0c;没学到什么真才实学。 幸好读研后&#xff0c;自己开始猛的补各种知识&#xff0c;开始…

160 - 18 Brad Soblesky.1

环境&#xff1a; windows xp sp3 工具&#xff1a; Ollydbg&#xff0c;exeinfope 用exeinfope查壳&#xff1a; 没有壳&#xff0c;vc编译的 运行后第一步&#xff0c;随便输入个”12345“&#xff0c;弹出一个错误消息框。 OD载入后直接搜索错误消息框的字符串&#xff0c…

汉字转拼音缩写

汉字转拼音缩写 /// 〈summary〉 /// 汉字转拼音缩写 /// Code By MuseStudiohotmail.com /// 2014-12-02 /// 〈/summary〉 /// 〈param name"str"〉要转换的汉字字符串〈/param〉 /// 〈returns〉拼音缩写〈/returns〉 public string GetPYString(string str) { s…

160 - 19 Brad Soblesky.2

环境&#xff1a; windows xp sp3 工具&#xff1a; OD&#xff0c;exeinfope 查壳&#xff1a; 用exeinfope查壳&#xff0c;发现没有壳而且是vc编译的 随便输入一个name和serial&#xff0c;name "12345" serial "678910" 弹出错误窗口&#xff0c…

微信公众平台开发(59)相册

微信公众平台开发 微信公众平台开发模式 企业微信公众平台 万能相册 3G相册作者&#xff1a;方倍工作室 地址&#xff1a;http://www.cnblogs.com/txw1958/p/weixin-59-albums.html 相册(Photo album)又称影集或照片集&#xff0c;是用来装放相片的物品。相册主要用来收藏和保…

BugFix系列---开篇介绍

这个系列的文章&#xff0c;主要目的在于积累总结实际开发中遇到的错误&#xff0c;记录下来自己的解决思路&#xff0c;用来提升自己。 不出意外&#xff0c;应该会持续不断的记录更新&#xff0c;在整个开发openstack的过程中&#xff0c;抓住机会吸取开源界大牛的有点经验&a…

160 - 20 BuLLeT.8

环境&#xff1a; Windows xp sp3 工具&#xff1a; exeinfope, ollydbg 查壳&#xff1a; 用exeinfope查壳&#xff0c;发现加了壳 -- WWPack32 ver 1.xx &#xff0c;用f8单步调试法&#xff0c;脱壳。 脱掉之后发现是delphi写的 运行之后发现界面整洁&#xff0c;目标明…

hadoop学习笔记:zookeeper学习(上)

在前面的文章里我多次提到zookeeper对于分布式系统开发的重要性&#xff0c;因此对zookeeper的学习是非常必要的。本篇博文主要是讲解zookeeper的安装和zookeeper的一些基本的应用&#xff0c;同时我还会教大家如何安装伪分布式&#xff0c;伪分布式不能在windows下实现&#x…

恋爱Linux(Fedora20)2——安装Java运行环境(JDK)

因为Fedora20自带OpenJDK&#xff0c;所以我们先删除掉自带的&#xff1a; 1)查看当前的jdk情况 # rpm -qa|grep jdk 2)卸载openjdk # yum -y remove java java-1.7.0-openjdk* 3)下载JDK(我用的是这个&#xff0c;大家用什么版本可以自行选择)。 http://download.csdn.net/det…

160 - 21 Cabeca

环境&#xff1a; Windows xp sp3 工具&#xff1a; exeinfope ollydbg 查壳&#xff1a; 拿到程序后查壳&#xff0c;发现程序无壳&#xff0c;为Delphi写的。 程序长成这个样 输入&#xff1a; Name:GNUBD Serial&#xff1a;1234567 Serial&#xff1a;76543…

JS函数重载解决方案

JS的函数定义可以指定形式参数名称&#xff0c;多多少少我们会以为js至少可以支持参数个数不同的方法重载&#xff0c;然而遗憾的是这仅仅是一个假象&#xff0c;js所有的参数都是以arguments传递过去的&#xff0c;这个参数类似于数组&#xff0c;在函数调用的时候&#xff0c…

JS中replace替换全部元素的解决办法

JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 然而我们大多数需要替换的是全部匹配的元素&#xff0c;而JavaScript又没有java中的replaceAll的方法&#xff0c;这个时候就需要特殊处理了。 String repace(new R…

160 - 22 CarLitoZ.1

环境 Windows xp sp3 工具 exeinfope Ollydbg 查壳 无壳的VB程序 测试 输入“1234567” 显示这个&#xff1a; 直接OD载入字符串搜索。 00402D20 > \55 push ebp 00402D21 . 8BEC mov ebp,esp 00402D23 . 83EC 0C sub e…

实战MEF(4):搜索范围

在前面的文章中&#xff0c;几乎每个示例我们都会接触到扩展类的搜索位置&#xff0c;我们也不妨想一下&#xff0c;既然是自动扩展&#xff0c;它肯定会有一个或者多人可供查找的位置&#xff0c;不然MEF框架怎么知道哪里有扩展组件呢&#xff1f; 就像我们用导航系统去查找某…

Android应用程序请求SurfaceFlinger服务创建Surface的过程分析

文章转载至CSDN社区罗升阳的安卓之旅&#xff0c;原文地址&#xff1a;http://blog.csdn.net/luoshengyang/article/details/7884628 前面我们已经学习过Android应用程序与SurfaceFlinger服务的连接过程了。连接上SurfaceFlinger服务之后&#xff0c;Android应用程序就可以请求…

Oracle面试题(基础篇)

1. Oracle跟SQL Server 2005的区别&#xff1f; 宏观上&#xff1a; 1). 最大的区别在于平台&#xff0c;oracle可以运行在不同的平台上&#xff0c;sql server只能运行在windows平台上&#xff0c;由于windows平台的稳定性和安全性影响了sql server的稳定性和安全性 2). oracl…

160 - 23 Chafe.1

环境 Windows xp sp3 工具 exeinfope ollydbg 查壳 用exeinfoe查壳 测试 可以从左下角状态栏看出serial是无效的 直接OD载入字符串搜索 00401274 |. /75 17 jnz XChafe_1.0040128D 00401276 |. |6A 00 push 0x0 ; /Ti…

fis 详细介绍(mac版) - 12-26没有弄完 - 暂停

fis可以让fe进入角色&#xff0c;而不必担心底层的架构&#xff0c;性能得到优化。仅需三条命令&#xff0c;即可解决所有前端开发要求fis是nodejs写的&#xff0c;发布在vpn(&#xff1f;)上下载 www.nodejs.org&#xff0c;并安装nodejs&#xff0c;其中包括npm安装fis: sudo…

用文件模拟CMOS保存数据

Hi3520D 芯片的内置CMOS最多只有5个字节可以用&#xff0c;但是我需要保存的数据有很多。 其中一个解决办法是&#xff1a;可以把其他需要保存的数据放到一个配置文件中。每次写的时候写到配置文件&#xff0c;用的时候再从配置文件读出数据即可。 用文件写&#xff1a; 1 stat…

160 - 24 Chafe.2

环境&#xff1a; Windows xp sp3 工具 exeinfope OllyDBG 查壳 用exeinfope查壳&#xff0c;发现是没有壳的。 测试 可以看出是从红色框框里面的内容判断serial是否有效 OD载入&#xff0c;字符串搜索可以得到&#xff1a; 004011EC . 55 pus…