菜鸟nginx源代码剖析 配置与部署篇(一) 手把手实现nginx "I love you"

 

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

 

Author:Echo Chen(陈斌)

Email:chenb19870707@gmail.com

Blog:Blog.csdn.net/chen19870707

Date:Nov 7th, 2014

 

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

1.Nginx 程序包

眼下nginx最新的开发版本号为1.7.7:

稳定版本号为1.6.2:

大家能够依据自己的操作系统和喜好选择程序包来实现。这里以nginx-1.7.7.tar.gzCentOs 6.4操作系统下为例。

 

2.Nginx下载解压、安装

下载和解压。这里以nginx-1.7.7.tar.gzCentOs 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: #设定httpserver。利用它的反向代理功能提供负载均衡支持
  12: http
  13: {
  14:     ...
  15:     #第一个虚拟server
  16:    server {
  17:     #侦听192.168.8.x的80port
  18:         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

显演示样例如以下则启动成功:

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

-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值