菜鸟nginx源代码剖析 配置与部署篇(一) 手把手实现nginx "I love you"
菜鸟nginx源代码剖析 配置与部署篇(一) 手把手配置nginx “I love you”
Author:Echo Chen(陈斌)
Email:chenb19870707@gmail.com
Date:Nov 7th, 2014
还记得在前几年的CSDN泄漏账号事件中。统计发现程序猿的账号中含有love的最多,这里我也俗套下。在这篇文章中将解说怎样 一步一步有用Nginx在一台机器上搭建一个最简单的显示“I love you”的Webserver,大家一起动手尝试吧。
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.gz2: tar zxvf nginx-1.7.7.tar.gz
可是下载解压完不要急着安装。由于 Nginx 依赖非常多软件(gcc、g++、make、
libz-dev、libbz2-dev、libreadline-dev)。我们如果您的 Linux 环境是“纯净”的。所以以下我们就来安装这些依赖包。请依照例如以下步骤安装:1: yum install gcc -y2: yum install g++ -y3: yum install make -y4: yum install zlib-dev* -y5: yum install bzip2-dev* -y6: 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.gz2: tar -zxvf pcre-8.36.tar.gz3: cd pcre-8.36.tar.gz4: ./configure5: make6: make install
好了。这下能够安装我们的nginx了
1: tar -zxvf nginx-1.7.7.tar.gz2: cd nginx-1.7.73: ./configure4: sudo make5: sudo make install
3.Nginx 配置文件
依照上面的操作。Nginx 就已经安装完了。
由于我们使用的是默认的 configure,所以会安装到
/usr/local/nginx文件夹。对应的配置文件是/usr/local/nginx/conf/nginx.conf。我们打开配置文件,看到结构形如:1: ...2: #工作模式与连接数上限3: events4: {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: #设定httpserver。利用它的反向代理功能提供负载均衡支持12: http13: {14: ...15: #第一个虚拟server16: server {17: #侦听192.168.8.x的80port18: listen 80;19: server_name 192.168.8.x;20: }21: }22:
当中events模块表示工作模式与链接数上限。http模块的作用为设定httpserver,server模块表示虚拟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表示监听的port号,sever_name则是webserver的名称(能够是域名、host 或 IP 地址),charset指定编码字符集,这里的location则通过alias指定了web服务的文件文件夹。
5.Nginx启动
1: /usr/local/nginx/sbin/nginx
2: s -ef | grep nginx
显演示样例如以下则启动成功:
6.測试
在/root/test_space下建立例如以下html文件:
1: <html>2: <head></head>3: <body>I love you!<body>4: </html>
-
Echo Chen:Blog.csdn.net/chen19870707
-
菜鸟nginx源代码剖析 配置与部署篇(一) 手把手实现nginx "I love you"的更多相关文章
- 菜鸟nginx源代码剖析 框架篇(一) 从main函数看nginx启动流程
菜鸟nginx源代码剖析 框架篇(一) 从main函数看nginx启动流程 Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.c ...
- 菜鸟nginx源代码剖析数据结构篇(七) 哈希表 ngx_hash_t(下)
菜鸟nginx源代码剖析数据结构篇(七) 哈希表 ngx_hash_t(下) Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:B ...
- 菜鸟nginx源代码剖析数据结构篇(一)动态数组ngx_array_t
菜鸟nginx源代码剖析数据结构篇(一)动态数组ngx_array_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csd ...
- 菜鸟nginx源代码剖析数据结构篇(八) 缓冲区链表ngx_chain_t
菜鸟nginx源代码剖析数据结构篇(八) 缓冲区链表 ngx_chain_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog. ...
- 菜鸟nginx源代码剖析数据结构篇(十) 自旋锁ngx_spinlock
菜鸟nginx源代码剖析数据结构篇(十) 自旋锁ngx_spinlock Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.cs ...
- 菜鸟nginx源代码剖析数据结构篇(六) 哈希表 ngx_hash_t(上)
菜鸟nginx源代码剖析数据结构篇(六) 哈希表 ngx_hash_t(上) Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog. ...
- 菜鸟nginx源代码剖析数据结构篇(九) 内存池ngx_pool_t
菜鸟nginx源代码剖析数据结构篇(九) 内存池ngx_pool_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn ...
- 高性能web服务器(热死你)Resin Linux的安装、配置、部署,性能远超Nginx支持Java、PHP等
高性能web服务器(热死你)Resin Linux的安装.配置.部署,性能远超Nginx支持Java.PHP等 一. 安装resin 1. 下载resin: 下载地址:http://cauch ...
- NGINX源代码剖析 之 CPU绑定(CPU亲和性)
作者:邹祁峰 邮箱:Qifeng.zou.job@gmail.com 博客:http://blog.csdn.net/qifengzou 日期:2014.06.12 18:44 转载请注明来自&quo ...
随机推荐
- 355 Design Twitter 设计推特
设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文.你的设计需要支持以下的几个功能: postTweet(userI ...
- win10 打开chm文件内容空白如何解决
win10 打开chm文件内容空白如何解决 .CHM文件是非常常见的帮助文件格式.由于其便携性,很多小说或杂志也会采用chm格式.win7/win8.1/win10系统,由于采用了UAC,致使原本在x ...
- GridView动态计算高度
// 动态加载GridView 高度 public static void setListViewHeightBasedOnChildren(MyGridView myGridView) { List ...
- 汇编:MSR/MRS/BIC指令
1.MRS指令MRS指令的格式为:MRS{条件} 通用寄存器,程序状态寄存器(CPSR或SPSR)MRS指令用于将程序状态寄存器的内容传送到通用寄存器中.该指令一般用在以下两种情冴: Ⅰ.当需要改 ...
- oracle的递归运算(树运算) 无限树形
oracle的递归运算(树运算)start with org_id ='1'connect by prior parent_id=son_id 1.前言 oracle的递归运算,在我们web页面的 ...
- $(document).ready(function(){}) 与 window.onload = function(){} 区别
$(document).ready(fucntion(){ //在页面dom结构加载完毕后执行代码, }) window.onload = function(){ //页面所有内容加载完毕后,执行代码 ...
- 最小生成树算法Kruskal详解
要讲Kruskal,我们先来看下面一组样例. 4 5 1 2 3 1 4 5 2 4 7 2 3 6 3 4 8 14 画出来更直观一些,就是上面的这张图. 智商只要不是0的(了解最小生成树是什么的童 ...
- 面向对象:classmethod、staticmethod、property
一.classmethod(类方法).staticmethod(静态方法) 方法包括:普通方法.类方法和静态方法,三种方法在内存中都归属于类,区别在于调用方式不同. # 普通方法 由对象调用,至少一个 ...
- ssm 数据库连接池配置
1.工程引入druid-1.1.2.jar包2.修改spring-common.xml文件 <!-- 1. 数据源 : DruidDataSource--> <bean id=&qu ...
- hdu2010 水仙花数【C++】
水仙花数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...