`
dean_liu
  • 浏览: 76216 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转]Nginx安装

 
阅读更多
原文:http://www.nginx.cn/install

nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。

正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。

ububtu平台编译环境可以使用以下指令

apt-get install build-essential
apt-get install libtool
cento平台编译环境使用如下指令

安装make:

yum -y install gcc automake autoconf libtool make
安装g++:

yum install gcc gcc-c++
下面正式开始
---------------------------------------------------------------------------
一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
1.选定源码目录
可以是任何目录,本文选定的是/usr/local/src

cd /usr/local/src
2.安装PCRE库
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
tar -zxvf pcre-8.21.tar.gz
cd pcre-8.21
./configure
make
make install
3.安装zlib库
http://zlib.net/zlib-1.2.8.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

cd /usr/local/src

wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
4.安装ssl(某些vps默认没装ssl)

cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz
5.安装nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

cd /usr/local/src
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar -zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8

./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.21 \
--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.21 指的是pcre-8.21 的源码路径。
--with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源码路径。

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

fastcgi.conf            koi-win             nginx.conf.default
fastcgi.conf.default    logs                scgi_params
fastcgi_params          mime.types          scgi_params.default
fastcgi_params.default  mime.types.default  uwsgi_params
html                    nginx               uwsgi_params.default
koi-utf                 nginx.conf          win-utf
6.启动
确保系统的 80 端口没被其他程序占用,运行/usr/local/nginx/nginx 命令来启动 Nginx,

netstat -ano|grep 80
无结果后执行(ubuntu下必须用sudo启动,不然只能在前台运行)

sudo /usr/local/nginx/nginx
打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。



-----------------------------------------------------
到这里nginx就安装完成了,如果只是处理静态html就不用继续安装了

如果你需要处理php脚本的话,还需要安装php-fpm。

下面安装排错

附:可能遇到的错误和一些帮助信息

1.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.21'
make: *** [all] Error 2




解决办法:安装g++,别忘了重新configure

apt-get install g++
apt-get install build-essential
make clean
./configure
make
1.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=<path> option.
按照第4步的安装方法或

apt-get install openssl
apt-get install libssl-dev
2.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".
典型实例(下面为了展示需要写在多行,执行时内容需要在同一行)

引用
./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.21 \
--with-zlib=/usr/local/src/zlib-1.2.8 \
--with-openssl=/usr/local/src/openssl-1.0.1c
  • 大小: 12.3 KB
  • 大小: 59.1 KB
分享到:
评论

相关推荐

    nginx证书转换jks

    ### Nginx证书转换jks知识点详解 #### 一、背景与目的 在现代Web服务部署中,Nginx作为一款高性能的HTTP和反向代理Web服务器,被广泛应用于多种场景之中,尤其是在需要进行SSL/TLS加密通信时更是不可或缺。然而,...

    NGINX下RTSP转RTMP

    总结起来,"NGINX下RTSP转RTMP"涉及到的技术点包括:NGINX服务器的安装与配置、RTMP模块的集成、FFmpeg的使用以及RTSP和RTMP协议之间的转换。这个主题对于直播服务提供商和希望自建流媒体服务器的开发者来说,是非常...

    nginx安装详解及tar gz文件

    **Nginx安装详解及tar.gz文件解析** 在IT领域,Nginx是一个广泛应用的高性能Web服务器和反向代理服务器,以其高效的并发处理能力和轻量级的系统资源消耗而受到赞誉。本文将深入探讨Nginx的安装过程,并介绍如何处理...

    nginx带nginx-http-flv模块windows编译版rtmp

    这包括安装Visual Studio编译器、下载必要的依赖库,如pthreads和zlib,以及配置编译选项。提供的预编译版本(1.19.4)避免了这些复杂步骤,可以直接在Windows上运行,为用户提供了方便。 **直播服务器与流媒体...

    nginx安装rtmp.zip

    **Nginx安装RTMP模块步骤:** 1. **获取依赖库** - **OpenSSL**:提供安全套接字层协议,用于加密传输数据,如`openssl-1.0`。 - **PCRE (Perl Compatible Regular Expressions)**:用于URL重写和其他正则表达式...

    Linux环境傻瓜式nginx+rtmp+ffmpeg套餐安装详解(获取拉流人数)

    ### Linux环境下Nginx+RTMP+FFmpeg套餐安装与拉流人数获取详解 #### 一、概述 本文旨在提供一套完整的Linux环境下Nginx、RTMP和FFmpeg的安装及配置指南,帮助读者快速搭建功能强大的流媒体服务器。文章不仅涵盖了...

    Nginx安装和配置手册

    **Nginx安装和配置手册** Nginx是一款高性能、轻量级的Web服务器和反向代理服务器,广泛应用于互联网领域,尤其在处理高并发连接方面表现出色。本手册将详细讲解Nginx的安装过程以及基本配置,帮助你更好地理解和...

    nginx 离线安装包 pcre nginx 离线安装包 pcre

    6. **启动 Nginx**:安装完成后,启动 Nginx 服务,通常是 `sudo /usr/local/nginx/sbin/nginx` 或者根据你的安装路径调整。 7. **验证安装**:通过访问服务器的 IP 地址或域名,确认 Nginx 是否正常工作。如果需要...

    nginx安装.doc

    ### Nginx 安装与配置详解 #### 一、Nginx简介 Nginx是一款高性能的HTTP和反向代理Web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx以其稳定性、丰富的功能集、简单的配置方式以及低资源消耗而闻名。 #### 二、...

    nginx流媒体安装包(nginx_mod_h264_streaming,yamdi)

    - 首先,你需要在你的服务器上安装基础的Nginx。对于Linux系统,可以使用包管理器(如apt-get或yum)来安装。 ``` sudo apt-get install nginx 或 sudo yum install nginx ``` 2. 安装Nginx_mod_h264_streaming...

    nginx_gryphon.zip

    【Nginx与Gryphon】 Nginx是一款广泛使用的开源HTTP服务器,以其高性能、高并发处理能力而闻名。它的轻量级架构使得在处理静态文件、HTTP代理、反向代理以及邮件服务等方面表现出色。Nginx采用事件驱动模型,通过非...

    nginx-flv部署和安装.zip

    **Nginx-FLV 部署与安装详解** Nginx-FLV 是一个基于 Nginx 的模块,用于实现实时流媒体服务,尤其是针对 Flash Video(FLV)格式的内容。它允许服务器接收来自 ffmpeg 推流工具的流,并将其分发给 VLC 播流工具等...

    centos 6 nginx 安装配置手册

    本文将详细讲解如何在 CentOS 6.4 x86_64 环境下安装和配置 Nginx 1.4.2 版本,适合初学者参考。首先,我们来看一下整个教程的大纲: 一、前言 在这部分,我们将回顾 Nginx 作为 Web 服务器的基本概念,包括理论、...

    linux nginx依赖包

    为了在Linux系统上顺利安装和运行Nginx,需要依赖一些基础的软件包。这里提到的几个文件是Nginx构建过程中必不可少的组件: 1. **libtool-2.4.2.tar.gz**:Libtool是一个用于管理和构建共享库的工具,它可以帮助...

    nginx-1.21.6及Nginx依赖的rpm安装包

    在本场景中,我们关注的是在CentOS7系统上离线安装Nginx-1.21.6及其依赖包的过程。以下是详细的知识点解释: 1. **Nginx**: Nginx以其事件驱动的架构而著名,能够处理大量的并发连接,常用于高流量网站和API服务。...

    windows平台nginx编译nginx-http-flv-module

    6. **编译和安装**:执行`make`和`make install`来编译Nginx及模块,并将其安装到指定的目录。 7. **配置Nginx**:编辑`nginx.conf`配置文件,添加或修改相关段落以启用HTTP FLV Module。例如,添加`http`块中的`...

    海康rtsp拉流,rtmp推流,nginx部署转flv集成

    通过安装Nginx的RTMP模块,我们可以将其转变为一个RTMP服务器,接收来自客户端的RTMP推流,并处理这些流。部署过程通常包括下载源码、编译时添加RTMP模块、配置Nginx服务器并启动服务。 4. **Nginx转FLV集成**: ...

    nginx+tomcat反向代理安装配置

    下面我们将详细探讨`nginx1.6`的安装、`tomcat7`的安装以及它们之间的反向代理配置。 首先,让我们从`nginx1.6`的安装开始。安装过程通常包括以下几个步骤: 1. 下载最新稳定版的`nginx`安装包,对于`nginx1.6`,...

    Window下安装配置nginx的HLS m3u8点播流媒体服务器

    使用nginx实现HLS m3u8点播功能。 包括,nginx安装,mp4、flv切片,测试,跨域问题,nginx集群等等。

    nginx、ffmpeg转流文件.rar

    标题中的“nginx、ffmpeg转流文件.rar”指出这是一个关于使用Nginx和FFmpeg进行视频流转换的资源包。描述中反复提到了“海康威视rtsp视频流转rtmp”,意味着这个压缩包包含了实现从海康威视设备的RTSP视频流到RTMP流...

Global site tag (gtag.js) - Google Analytics