菜鳥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.pswp.cn/news/376444.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376444.shtml
英文地址,請注明出處:http://en.pswp.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…