Ubuntu中Nginx的安装与配置详细说明_Linux

1.Nginx介绍

     Nginx是一个非常轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和

反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。

2.对PHP支持

     目前各种web 服务器对PHP的支持一共有三种:

   (1)通过web 服务器内置的模块来实现,例如Apache的mod_php5,类似的Apache内置的mod_perl

可以对perl支持。

   (2)通过CGI来实现,这个就好比之前perl的CGI,该种方式的缺点是性能差,因为每次服务器遇到

这些脚本都需要重新启动脚本解析器来执行脚本然后将结果返回给服务器;

另一方面就是不太安全;该方面几乎很少使用了。

   (3)最新出现一种叫做FastCGI。所谓FastCGI就是对CGI的改进。它一般采用C/S结构,一般脚本处理器

会启动一个或者多个daemon进程,每次web 服务器遇到脚本的时候,直接交付给FastCGI的进程来执行,然后

将得到的结果(通常为html)返回给浏览器。

2.1 Apache+mod_php模式

     我们很久一段时间使用经典的Apache+mod_php。

     Apache对PHP的支持是通过Apache的模块来支持的。如果从源代码编译安装PHP的话,如果希望Apache支持

PHP的话,在./configure步骤需要指定--with-apxs2=/usr/local/apache2/bin/apxs 表示告诉编译器通过

Apache的mod_php5/apxs来提供对PHP5的解析;而且在最后一步make install的时候我们会看到将动态链接库

libphp5.so拷贝到apache2的安装目录的modules目录下,并且还需要在httpd.conf配置文件中添加LoadModule

语句来动态将libphp5.so模块加载进来,从而实现Apache对php的支持。

2.2 Nginx+FastCGI模式

     Nginx完全是轻量级的,必须借助第三方的FastCGI处理器才可以对PHP进行解析,因此其实这样看来Nginx是

非常灵活的,它可以和任何第三方提供解析的处理器实现连接从而实现对PHP的解析(在nginx.conf中很容易设置)。

     Nginx可以使用spwan-fcgi。在早期版本中需要安装lighttpd,但是在9.10版本以后直接安装spawn-fcgi就可以。

现在出现了新的第三方的PHP的FastCGI处理器,叫做PHP-FPM,可以了解一下。本文是基于spawn-fcgi实现对

PHP模块的支持。

2.3 安装FastCGI

      /usr/bin/spawn-fcgi这个文件来管理 FastCGI,它原属于lighttpd这个包里面,但 9.10 后,spawn-fcgi

被分离出来单独成包。

   (1)使用apt-get在线安装命令如下:

         $sudo apt-get install spawn-fcgi

   (2)源代码安装如下,下载地址为:

         http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz

         解压缩以后,进入目录下执行如下安装命令:

         $./configure

         $make

         $make install

        安装之后,spawn-fcgi命令就可以直接使用了,它的可执行文件在/usr/local/bin/spawn-fcgi。

3.Nginx安装

3.1 安装Nginx

     (1)在线安装

          $sudo apt-get install nginx

      Nginx的版本是1.2.1

      ubuntu安装Nginx之后的文件结构大致为:

      所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下

      启动程序文件在/usr/sbin/nginx

      日志放在了/var/log/nginx中,分别是access.log和error.log

      并已经在/etc/init.d/下创建了启动脚本nginx

      默认的虚拟主机的目录设置在了/usr/share/nginx/www

    (2)源代码安装

      下载地址:http://nginx.org/download/

      我这里下载的是 nginx-1.3.9.tar.gz,安装过程很简单,如下:

      $./configure

      $make

      $make install

      安装成功之后,nginx放置在/usr/local/nginx目录下,主要的配置文件为conf目录下的nginx.conf,

nginx的启动文件在sbin目录下的nginx文件。

3.2 启动Nginx

   (1)在线安装的启动过程

      $sudo /etc/init.d/nginx start

   (2)源代码安装的启动过程

      $cd /usr/local/nginx

      $sbin/nginx

      然后就可以访问了,http://localhost/ , 一切正常!如果不能访问,先不要继续,看看是什么原因,

解决之后再继续。

      如果你的机器同时安装了Apache,那上面的访问方式就不能使用了,而且nginx都可能启动不了,这是

因为它们都是用了80这个端口。我们这里将nginx的端口修改为8080,

这里主要修改nginx的配置文件nginx.conf,将一下这一行

       listen 80;

    修改为

       listen 8080;

    然后就可以访问了,http://localhost:8080/ 。

3.3 安装PHP和MySQL

      $sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql

3.4 测试Nginx对PHP的支持

    (1)重新启动nginx:

      $/etc/init.d/nginx restart

    (2)启动FastCGI:

      $spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi

      spawn-fcgi启动出现错误时,查看php-cgi是否安装,如果么有的话,安装php5-cgi。

      $sudo apt-get install php5-cgi

    (3)测试

       打开http://localhost/phpinfo.php

4.Nginx配置

     Nginx的配置文件是/etc/nginx/nginx.conf,其中设置了一些必要的参数,我们发现其中这样的语句:

     include /etc/nginx/sites-enabled/*

     可以看出/etc/nginx/sites-enabled/default文件也是一个核心的配置文件,其中包含了主要的配置信息,

如服务器跟目录、服务器名称、location信息和server信息。

     对于源代码安装的nginx,配置文件为/usr/local/nginx/conf/nginx.conf。

    下面主要说明location的匹配规则:

   (1)= 前缀的指令严格匹配这个查询。如果找到,停止搜索。

   (2)剩下的常规字符串,最长的匹配优先使用。如果这个匹配使用 ^~ 前缀,搜索停止。

   (3)正则表达式,按配置文件里的顺序,第一个匹配的被使用。

   (4)如果第三步产生匹配,则使用这个结果。否则使用第二步的匹配结果。

    在location中可以使用常规字符串和正则表达式。

    如果使用正则表达式,你必须使用以下规则:

       (1)~* 前缀选择不区分大小写的匹配

       (2)~  选择区分大小写的匹配

    例子:

     location = / {

    # 只匹配 / 查询。

    [ configuration A ]
     }

  location / {

    # 匹配任何查询,因为所有请求都以 / 开头。

            # 但是正则表达式规则和长的块规则将被优先和查询匹配。

    [ configuration B ]

  }

  location ^~ /images/ {

    # 匹配任何以 /images/ 开头的任何查询并且停止搜索。

           # 任何正则表达式将不会被测试。

    [ configuration C ]

  }

  location ~* \.(gif|jpg|jpeg)$ {

           # 匹配任何以 gif、jpg 或 jpeg 结尾的请求。

          # 然而所有 /images/ 目录的请求将使用 Configuration C。

    [ configuration D ]

  }

  这里你还要对正则表达式有一定的了解!!!

时间: 2024-09-20 23:05:19

Ubuntu中Nginx的安装与配置详细说明_Linux的相关文章

Ubuntu下nginx编译安装参数配置_nginx

安装依赖库: sudo apt-get install libgd2-xpm sudo apt-get install libgd2-xpm-dev sudo apt-get install libgeoip-dev sudo apt-get install libpcre3 sudo apt-get install libpcre3-dev sudo apt-get install libssl-dev sudo apt-get install openssl sudo apt-get ins

ubuntu中ANT的安装和配置的例子

一. 可以使用  代码如下 复制代码 sudo apt-get install ant 安装,但是这种装法不好.首先安装的ant不是最新的版本,其次还要装一堆其他的附带的东西.所以我才用自己手动ant安装. 二. 手动安装 1. 到Apache官网下载最新版本的ant:http://ant.apache.org/bindownload.cgi 2. 解压下载下来的 .tar.gz文件: tar -xf apache-ant-1.8.2-bin.tar.gz (可能会要求输入密码) 3.将解压出来

Ubuntu 14.04下安装和配置redis数据库_Linux

1.以root权限登录 2.接下来输入命令,apt-getinstall redis-server,如图: 3.安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序,执行ps-aux|grep redis,如图: 4.通过启动命令检查Redis服务器状态,执行:netstat-nlt|grep 6379,如图: 5.安装Redis服务器,会自动地一起安装Redis命令行客户端程序.在本机输入redis-cli命令就可以启动,客户端程序访问Redis服务器.执行:redis-cli

《高性能Linux服务器构建实战》——1.4节Nginx的安装与配置

1.4 Nginx的安装与配置 1.4.1 下载与安装Nginx Nginx的官方网站是http://sysoev.ru/nginx/,英文主页为http://nginx.net,从这里可以获得Nginx的最新版本信息.Nginx有三个版本:稳定版.开发版和历史稳定版.开发版更新较快,包含最新的功能和bug的修复,但同时也可能会出现新的bug.开发版一旦更新稳定下来,就会被加入稳定版分支中.然而有些新功能不一定会被加到稳定版中去.稳定版更新较慢,但是bug较少,可以作为生产环境的首选,因此通常建

轻量级HTTP服务器Nginx:安装与配置

风信网(ithov.com)原创文章:以下内容涉及到Nginx的安装与配置,大家可以通过详细的安装说明来进行学习. 下载与安装Nginx &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   Nginx的官方网站是http://sysoev.ru/nginx/,英文主页为http://nginx.net,从这里可以获得Nginx的最新版本信息.Nginx有三个版本:稳定版.开发版和历史稳定版.开发版更新较快,包含最

MySQL5.7的安装与配置详细操作步骤

一.MySQL的下载 1.登陆MySQL的官网下载适用于64位系统的ZIP压缩包(https://dev.mysql.com/downloads/mysql/) 二.解压安装包 将下载的ZIP压缩包解压到任意文件夹.(此处为: C:\mysql5.7) 三.修改配置文件 将解压文件夹目录下的my-default.ini 文件重命名为 my.ini  . 用文本编辑器打开并清空其中内容. 添加内容(参考互联网): [mysql] # 设置mysql客户端默认字符集 default-characte

背景建模技术(八):bgslibrary_vs2010_mfc中boost的安装与配置

一.boost的下载与安装 在玩BGS Library时,有一个MFC的项目,在编译的过程中出现如下图的错误提示: 即: 1>e:\bgslibrary-master\vs2010mfc\src\stdafx.h(50): fatal error C1083: Cannot open include file: 'boost/lexical_cast.hpp': No such file or directory 根本原因在于没有安装和配置boost,下面对bgslibrary_vs2010_m

ubuntu中源码安装和dpkg的问题

问题描述 ubuntu中源码安装和dpkg的问题 我在ubuntu里面用源码安装一个软件,也就是./configure make 和 make install这几步,但是装好后,用dpkg -l 去查看就没有刚刚装的软件名, 如果用源码安装的软件无法用dpkg -l查看,那么我怎样知道已经安装了这些软件呢. 解决方案 源码安装的无法用dpkg来看,因为不是包管理方式安装的.如果要看文件的安装路径,具体的要看make文件的内容才可以. 解决方案二: dpkg查看的需要是通过dpkg -i等方式,或

Windows下Nginx的安装与配置

Windows下Nginx的安装与配置 Nginx ("engine x") 是一款高性能的,轻量级的HTTP Web 服务器 和 反向代理服务器及电子邮件 IMAP/POP3/SMTP 代理服务器. Nginx 是由俄罗斯的程序设计师 Igor Sysoev 所开发,为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过四年多时间了,Igor 将源代码以类BSD许可证的形式发布. 自 Nginx 发布四年来,Nginx 已经因它的稳定性.丰富的功能集.示例配置