`
kavy
  • 浏览: 888154 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Nginx安装(可用)

    博客分类:
  • web
 
阅读更多

转自:http://www.nginx.cn/install

 

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

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

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

apt-get install build-essential
apt-get install libtool

centos平台编译环境使用如下指令

安装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.34.tar.gz 
tar -zxvf pcre-8.34.tar.gz
cd pcre-8.34./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.4.2.tar.gz
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 目录下如下

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.34'
make:***[all]Error2

解决办法:安装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= option.

按照第4步的安装方法或
ubuntu下

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

centos下

yum -y install openssl openssl-devel

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=../pcre-4.4--with-zlib=../zlib-1.1.3
分享到:
评论

相关推荐

    Keepalived+Nginx实现高可用Web负载均衡

    ### Keepalived+Nginx 实现高可用Web负载均衡 #### 场景需求 在现代互联网应用中,网站和应用程序需要处理大量的用户请求,并确保即使在服务器出现故障的情况下也能持续提供服务。为了满足这一需求,通常采用高可用...

    LVS+KeepAlived+Nginx高可用实现方案.pdf

    在本文中,我们将详细介绍LVS、KeepAlived和Nginx的安装和配置过程,并提供一个完整的高可用实现方案。 一、LVS安装和配置 LVS可以通过源码安装或yum安装,安装完成后需要配置ipvsadm工具来管理LVS集群。 二、...

    Nginx安装配置.rar

    Nginx可以根据多种策略(如轮询、权重、IP哈希等)将请求分发到多个后端服务器,提高服务的可用性和响应速度。 3. **HTTP缓存** Nginx可以在本地缓存HTTP响应,对于经常访问的静态资源,可以直接从缓存返回,减少...

    内网安装nginx(离线)

    - 在内网环境中构建Nginx集群可以提高可用性和负载均衡。这通常涉及到主服务器和多个工作服务器的设置。主服务器负责接收请求并分发到工作服务器,而工作服务器处理实际的HTTP请求。 - 配置文件(`/usr/local/nginx...

    Nginx入门到精通搭建高可用集群负载均衡

    - **Windows 安装**:下载安装包,解压并运行 nginx.exe,默认监听 80 端口。 - **目录结构**:包括 conf 配置文件、docs 文档、html 静态文件、logs 日志和 temp 临时文件。 **3. 配置文件详解** - `nginx.conf...

    Nginx安装到指定目录.docx

    在Linux系统中,如果在安装Nginx时不指定目录,它将默认安装在/usr/local/nginx下。为了自定义安装路径,可以按照以下步骤操作: 1. **安装依赖**: 在大多数Linux发行版中,首先需要安装必要的编译依赖项。这些通常...

    利用Keepalived实现Nginx高可用

    【利用Keepalived实现Nginx高可用】 在IT领域,确保服务的高可用性是至关重要的,尤其是在处理Web服务时。Nginx作为一个流行的反向代理和负载均衡器,通常需要保持持续运行以避免单点故障。在这个场景中,我们可以...

    linux搭建lvs虚拟vip实现nginx高可用

    Linux虚拟IP(VIP)技术结合LVS(Linux Virtual Server)和Keepalived可以实现Nginx服务器的高可用配置,从而为Web应用提供强大的负载均衡解决方案。下面将详细阐述这一方案的具体实施步骤、工作原理及其优势。 一...

    Keepalived+Nginx+Tomcat 高可用集群搭建实战记录

    Keepalived+Nginx+Tomcat 高可用集群搭建实战记录 Keepalived 是一种高可用性解决方案,可以与 Nginx 和 Tomcat 配合使用来实现高可用集群。下面是 Keepalived+Nginx+Tomcat 高可用集群搭建的实战记录。 ...

    centos6.4安装nginx+keepalived实现高可用负载均衡.doc

    高可用负载均衡是指在 Web 服务器前端部署多台 Nginx 服务器,每台 Nginx 服务器都能够处理用户请求,提高了系统的整体性能和可靠性。 一、安装必要的软件包 在安装 Nginx 和 Keepalived 之前,需要安装一些必要的...

    Nginx+Keepalived实现nginx高可用详细步骤.docx

    Nginx+Keepalived实现nginx高可用详细步骤 本文档将详细介绍使用Nginx+Keepalived实现nginx高可用的详细步骤。高可用性是指系统或服务在出现故障时能够快速恢复或切换到备份系统的能力,以确保服务的连续性和可靠性...

    内网nginx全套安装环境

    Nginx可以通过反向代理功能将请求转发到后端应用服务器,实现负载均衡,提高系统可用性。例如,将请求根据权重分发到多个后端节点: ```nginx upstream backend { server backend1.example.com weight=3; ...

    基于corosync+pacemaker的nginx高可用集群安装配置.docx

    基于corosync+pacemaker的nginx高可用集群安装配置.docx

    ubuntu20.04无网dpkg安装nginx.zip

    在Ubuntu 20.04系统中,如果你的网络连接不可用,但仍然需要安装Nginx web服务器,可以使用dpkg命令来手动安装软件包。`dpkg`是Debian包管理器,用于处理.deb格式的软件包,它是Ubuntu的基础。在没有网络的情况下,...

    Nginx安装手册(Linux)

    ### Nginx安装手册(Linux) #### 环境准备 在进行Nginx的安装之前,需要确保服务器上已经安装了必要的依赖包。这些依赖包括GCC编译器、pcre库及其开发文件、zlib压缩库及其开发文件以及openssl加密库及其开发文件...

    安装nginx需要的安装包

    Nginx的一个重要特性就是其内置的负载均衡能力,它可以通过反向代理功能将进来的请求分发到多个后端服务器,以提高服务的可用性和响应速度。Nginx的负载均衡策略包括轮询、权重轮询、最少连接数、IP哈希等,可以根据...

    Nginx+Keepalived实现nginx高可用和负载均衡详细步骤

    【Nginx+Keepalived 实现 nginx 高可用和负载均衡详解】 在现代Web服务架构中,确保服务器高可用性和负载均衡至关重要。Nginx作为一款高性能的HTTP和反向代理服务器,常用于处理静态内容和反向代理任务。而...

    windows 环境下 nginx安装压缩包

    亲测可用,nginx.conf配置文件的配置是进行验证过的。 1、windows 环境下 nginx安装压缩包。 2、nginx.conf配置文件中有相关配置的注解说明,方便上手配置。 3、nginx.conf配置文件中的 域名 是通过 在hosts文件中...

    nginx安装, 解决跨域问题

    **Nginx安装与解决跨域问题** 在现代Web开发中,由于浏览器的同源策略,跨域问题经常出现,限制了不同源之间的通信。Nginx作为一个高性能的反向代理服务器,常被用于处理此类问题。本篇将详细介绍如何在Linux环境下...

Global site tag (gtag.js) - Google Analytics