菜鸟nginx源码剖析 配置与部署篇(一) 手把手配置nginx “I love you”
Author:Echo Chen(陈斌)
Email:chenb19870707@gmail.com
Date:Nov 7th, 2014
还记得在前几年的CSDN泄漏账号事件中,统计发现程序员的账号中含有love的最多,这里我也俗套下,在这篇文章中将讲解如何 一步一步实用Nginx在一台机器上搭建一个最简单的显示“I love you”的Web服务器,大家一起动手尝试吧。
目前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操作系统下为例。
下载和解压,这里以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 -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
按照上面的操作,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中文详解》。
建立一个/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
服务的文件目录。
1: /usr/local/nginx/sbin/nginx
2: s -ef | grep nginx
显示如下则启动成功:
在/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"
原文地址:http://blog.csdn.net/chen19870707/article/details/40922215