菜鸟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 ...
随机推荐
- BZOJ 4530 LCT/线段树合并
//By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using nam ...
- ACM_三元一次函数解法(克莱姆法则)
三元一次函数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 计算三元一次函数..如图 Input: EOF,先输入n,表示样例个 ...
- UNIX环境高级编程--4
函数stat fstat fstatat 和 lstat stat函数使用最多的地方可能就是ls -l 命令,用其可以获得有关一个文件的所有信息. 文件类型: (1)普通文件 (2)目录文件 (3)块 ...
- 我的github教程
这篇文章记录个人常用的一些命令,和记不住的一些命令. 安装 在 Windows 上安装 Git ,有个叫做 msysGit 的项目提供了安装包: http://msysgit.github.io/ 完 ...
- JS——AJAX
向服务器发送请求如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:Open方法了有两种请求方式——get和post 与 POST 相比,GE ...
- C#——工厂模式
之前我们接介绍了简单工厂,这次我们介绍一种更为常用的模式——工厂模式. 工厂方法模式Factory Method,又称多态性工厂模式.在工厂方法模式中,核心的工厂类不再负责所有的产品的创建,而是将具体 ...
- [Windows Server 2003] IIS自带FTP安装及配置方法
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:IIS6.0自 ...
- 所有对象的父类(java.lang.Object)
一.介绍 Object类是类层次结构的根源,每一个类都存在一个父类为Object类.所有的对象,包括数组,都实现了 Object 类的方法. 二.对象初始化 这里使用了静态代码块进行Object类的初 ...
- WING IDE 快捷键
工欲善其事必先利其器,所以我们无论使用什么编译器,都要熟悉一些快捷键. Ctrl+N新建文件 Ctrl+O 打开文件夹 Ctrl+W 关闭当前文件 Ctrl+S 保存文件 Ctrl+shif+S 另存 ...
- python--(协程 和 I/O多路复用)
python--(协程 和 I/O多路复用) 一.协程 1. >>>单线程下实现并发, 最大化线程的效率, 检测 IO 并自动切换,程序级别的任务切换, 之前多进程多线程都是系统级别 ...