Ubuntu下安装Nginx

Posted 卢艳亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下安装Nginx相关的知识,希望对你有一定的参考价值。

我使用的环境是64位 Ubuntu 14.04, Nginx是Nginx 1.10.0

nginx依赖以下模块:

l  gzip模块需要 zlib 库

l  rewrite模块需要 pcre 库

l  ssl 功能需要openssl库

1.1.安装pcre

  1. 获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本
  2. 解压缩pcre-xx.tar.gz包。
  3. 进入解压缩目录,执行sudo ./configure。
  4. sudo make & make install

  注:目前我下载的这个nginx只支持pcre, 不支持pcre2。

  若出现configure: error: You need a C++ compiler for C++ support.说明系统还没有提供C/C++的编译环境,因此需要手动安装。使用命令 sudo apt-get install build-essential 进行安装。

1.2.安装openssl

  1. 获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。
  2. 解压缩openssl-xx.tar.gz包。
  3. 进入解压缩目录,执行sudo ./config。
  4. sudo make & make install

1.3.安装zlib

  1. 获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本。
  2. 解压缩openssl-xx.tar.gz包。
  3. 进入解压缩目录,执行sudo ./configure。
  4. sudo make & make install

1.4.安装nginx

  1. 获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本。
  2. 解压缩nginx-xx.tar.gz包。
  3. 进入解压缩目录,执行 sudo ./configure
  4. sudo make & make install

若安装时找不到上述依赖模块,使用--with-openssl=<openssl_dir>、--with-pcre=<pcre_dir>、--with-zlib=<zlib_dir>指定依赖的模块目录。如已安装过,此处的路径为安装目录;若未安装,则此路径为编译安装包路径,nginx将执行模块的默认编译安装。

启动nginx之后,浏览器中输入http://localhost可以验证是否安装启动成功。

注: 

如果安装nginx后,启动时报如下错误:

sunny@sunny-ThinkPad-T440:/usr/local/nginx$ ./sbin/nginx 
./sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

 

有错误可以看出是找不到"libpcre.so.1"文件,查看具体原因:

sunny@sunny-ThinkPad-T440:/usr/local/nginx/sbin$ ldd $(which /usr/local/nginx/sbin/nginx)
    linux-vdso.so.1 =>  (0x00007ffd0d73b000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f432d6ad000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f432d490000)
    libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f432d257000)
    libpcre.so.1 => not found
    libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f432cdfc000)
    libz.so.1 => /usr/local/lib/libz.so.1 (0x00007f432cbe1000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f432c818000)
    /lib64/ld-linux-x86-64.so.2 (0x000055c946fde000)

 注:ldd检测某条命令需要哪些共享库文件的支持

解决方法:

sudo ln -s /usr/local/lib/libpcre.so.1 /lib/x86_64-linux-gnu/

 

 

 

 

以上是关于Ubuntu下安装Nginx的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 安装Nginx

ubuntu安装nginx

在 Ubuntu 16.04 上安装 LEMP 环境之图文向导

在 Ubuntu 16.04 上安装 LEMP 环境之图文向导

NginxNginx的学习(2.Nginx的安装,Linux安装和Windows安装)

NginxNginx介绍及配置详解