文档章节

Nginx安装

 小猪突然地
发布于 2015/05/28 20:09
字数 2412
阅读 80
收藏 1

    Nginx可以在安装在windows环境下,也能安装在linux环境下,但是目前主流的,并且也是用的最的还是在linux上。在linux系统上安装的方式也有多中,最简单的是使用对应平台默认的安装包进行安装。这种方式目前我还没有尝试过,本文要介绍的是使用源码编译安装的方式,并介绍一些安装过程使用到的命令参数。

    在安装之前,首先我们要确认编C、C++的译环境gcc、g++要安装好,大部分linux系统在我们装好后编译环境也就装好了,如果系统没有提前安装好的,请自行安装,在此我就默认各位的linux已经提前装好了,重点讲述Nginx的安装过程。

1. 安装前的准备

    1.1 路径选择

        1)源码路径:

cd /usr/local/src

        2)Nginx安装路径 

cd /usr/local/nginx

  注意: 此处local目录下的nginx为nginx的安装目录,在安装前,可实现创建此nginx目录,也可以不创建,如果不创建,在安装过程中,系统会自动创建此目录。

    1.2 文件准备

        1)pcre库:此库的作用是为了重写rewrite。本文选择的是pcre-8.34.tar.gz可以到此处下载http://sourceforge.net/projects/pcre/files/

        2)zlib库:此库的作用是实现gzip压缩。本文选择的是zlib-1.2.8.tar.gz。可以到此处下载http://zlib.net/zlib-1.2.8.tar.gz

        3)ssl库:此处我们需要安装openssl安全套接字层密码库。本文选择的是openssl-1.0.1c.tar.gz。可以到此处下载http://www.openssl.org/source/openssl-1.0.1c.tar.gz。openssl的功能大概可以分为三部分:ssl协议库,应用程序以及密码算法库。详细的功能描述此处不做介绍,有兴趣的朋友可以自己去了解下。

        4)Nginx版本:nginx一般有两个版本,分别是稳定版和开发版,根据使用目的可以自行选择合适的版本。本文选择的是nginx-1.4.2.tar.gz。可以到此处下载http://nginx.org/download/nginx-1.4.2.tar.gz

        5)linux版本:REHL_5.6_X64.iso,运行在虚拟机VMware-workstation-full-10.0.0-1295980.exe中。

2. 安装过程

    注意:讲对应装备好的库文件和nginx放在/usr/local/src路径下

    2.1 安装pcre库。主要安装过程安装命令如下:

cd /usr/local/src
tar -zxvf pcre-8.34.tar.gz
cd pcre-8.34
./configure
make
make install

    2.2 安装zlib库,主要安装过程及命令如下:

cd /usr/local/src
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

    2.3 安装ssl协议库,主要安装过程及命令如下:

cd /usr/local/src
tar -zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1

    2.4 安装nginx,主要安装过程及命令如下:

cd /usr/local/src
tar -zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2

./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.34 \
--with-zlib=/usr/local/src/zlib-1.2.8 \
--with-openssl=/usr/local/src/openssl-1.0.1c

make
make install

注意

        --with-pcre=/usr/src/pcre-8.34 指的是pcre-8.34 的源码路径。

        --with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源码路径。

 安装成功后/usr/local/nginx目录结构如下:

3. 启动Nginx

    nginx默认监听的事80端口,所以首先我们要确保80端口没有被其他程序占用。可以使用如下命令查看:

netstat -ano|grep 80

  注意如果没有显示任何信息则表示80端口没有被暂用,否则需要释放80端口。

   或者

ps  -ef | grep nginx

  注意:如果没有显示则表示nginx还没有启动。

  正式启动Nginx

cd /usr/local/nginx
./nginx

  启动成功后,在浏览器地址中输入http://本机ip地址,此处我的ip地址是http://192.168.228.128。如果浏览器显示以下信息,则表示nginx运行成功。

   快速关闭nginx

cd /usr/local/nginx

./nginx -s stop

   正常且有序的关闭nginx

cd /usr/local/nginx

./nginx -s quit

到此,关于在liunx环境下安装Nginx就完成了。

4. 安装中可能遇到的问题

    4.1 编译pcre错误

libtool: compile: unrecognized option `-DHAVE_CONFIG_H'
libtool: compile: Try `libtool --help' for more information.
make[1]: *** [pcrecpp.lo] Error 1
make[1]: Leaving directory `/usr/local/src/pcre-8.34'make: *** [all] Error 2

解决方案:安装g++,并重新configure

apt-get install g++apt-get install build-essential
make clean./configure
make

    4.2 make出错

make: *** No rule to make target `build', needed by `default'.  Stop.
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl= option.

  在ssl安装中执行一下命令

apt-get install openssl
apt-get install libssl-dev

  如果是在centos下则试试一下方式

yum -y install openssl openssl-devel

5. nginx编译选项

make是用来编译的,它从Makefile中读取指令,然后编译。

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,执行结束时,它会创建一个Makefile文件。nginx的configure命令支持以下参数:

  • --prefix=path    定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。

  • --sbin-path=path 设置nginx的可执行文件的路径,默认为  prefix/sbin/nginx.

  • --conf-path=path  设置在nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf.

  • --pid-path=path  设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为prefix/logs/nginx.pid.

  • --error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默认情况下,文件名 为prefix/logs/error.log.

  • --http-log-path=path  设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默认情况下,文件名 为prefix/logs/access.log.

  • --user=name  设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的用户名是nobody。

  • --group=name  设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的为非特权用户。

  • --with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。

  • --with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。

  • --without-http_gzip_module — 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。

  • --without-http_rewrite_module  不编译重写模块。编译并运行此模块需要PCRE库支持。

  • --without-http_proxy_module — 不编译http_proxy模块。

  • --with-http_ssl_module — 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。

  • --with-pcre=path — 设置PCRE库的源码路径。PCRE库的源码(版本4.4 - 8.30)需要从PCRE网站下载并解压。其余的工作是Nginx的./ configure和make来完成。正则表达式使用在location指令和 ngx_http_rewrite_module 模块中。

  • --with-pcre-jit —编译PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。

  • --with-zlib=path —设置的zlib库的源码路径。要下载从 zlib(版本1.1.3 - 1.2.5)的并解压。其余的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模块需要使用zlib 。

  • --with-cc-opt=parameters — 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE库时需要使用:--with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支持的文件数量:--with-cc-opt="-D FD_SETSIZE=2048".

  • --with-ld-opt=parameters —设置附加的参数,将用于在链接期间。例如,当在FreeBSD下使用该系统的PCRE库,应指定:--with-ld-opt="-L /usr/local/lib".

  典型实例(为了展示便写在了多行,执行时一下内容需在同一行,或则这每个命令后加"\",就想上面安装nginx一样)

   在一行上

./configure
    --sbin-path=/usr/local/nginx/nginx    --conf-path=/usr/local/nginx/nginx.conf    --pid-path=/usr/local/nginx/nginx.pid    --with-http_ssl_module    --with-pcre=../pcre-4.4
    --with-zlib=../zlib-1.1.3

   或则

./configure
  --sbin-path=/usr/local/nginx/nginx \   
  --conf-path=/usr/local/nginx/nginx.conf \   
  --pid-path=/usr/local/nginx/nginx.pid \
  --with-http_ssl_module \    
  --with-pcre=../pcre-4.4 \
  --with-zlib=../zlib-1.1.3

  如果编译源码安装的,还需一下命令来编译和安装

make
make install

6. 额外补充

    

   查看版本信息

cd /usr/local/nginx
./nginx -v

   

   查看配置文件是否正确    

cd /usr/local/nginx

./nginx -t

本文内容部分来源网于络收集,部分来源于自己动手实践结果的总结。

因为我也是才开始学习nginx,所以知道无从入手的痛苦,最后,希望本文能帮助开始学习nginx的朋友,能够减轻入门的痛苦以及节省时间,提高学习效率。

© 著作权归作者所有

上一篇: Linux下安装JDK
下一篇: MySQL-数据库引擎
粉丝 4
博文 23
码字总数 20045
作品 0
成都
程序员
私信 提问
加载中

评论(1)

小沫
小沫
安装成功。 谢谢分享。。
CentOS下安装Nginx

前言 项目需要,自己整个nginx玩玩,部署服务器的操作系统为CentOS 6.5。 nginx安装 上网搜了一下关于nginx的安装教程,大致存在两种安装方法,都是通过yum install命令来完成。 方法一:自己...

chace0120
2016/06/09
222
0
CentOS 7,使用yum安装Nginx

文章目录 [隐藏] 安装Nginx源 安装Nginx Nginx默认目录 常用命令 当使用以下命令安装Nginx时,发现无法安装成功 需要做一点处理。 安装Nginx源 执行以下命令: 安装该rpm后,我们就能在/etc/...

xiaomin0322
2018/09/18
0
0
Ubuntu 14.04TLS和CentOS-6(64bit)上安装Nginx

Ubuntu 14.04上安装Nginx [参考地址]https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-14-04-lts Step 1-执行安装命令: sudo apt-get update sudo apt-ge......

无上@诀
2016/03/17
0
0
Nginx系列-1.Linux下安装Nginx

Nginx系列-1.Linux下安装Nginx 实验环境 一台最小化的 CentOS 7.3 虚拟机 A. 源码方式安装Nginx 一、安装Nginx 安装Nginx依赖包 从Nginx官网下载Nginx源码包 解压Nginx源码包到,并查看Nginx...

ngle
2018/06/08
0
0
CentOS7 nginx安装

1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装g...

宇的季节
2017/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
8
0
多线程同时加载缓存实现

import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorServi......

暗中观察
昨天
3
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
2
0
组装一台工作游戏两用机

一、配置清单如下: 分类 项目 价格(元) 主板 华硕(ASUS)TUF Z370-PLUS GAMING II 电竞特工 Z370二代 支持9代CPU 1049 CPU 英特尔(Intel) i7 8700K 酷睿六核 盒装CPU处理器 2640 风扇 九...

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部