Nginx安装

    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目录结构如下:

211747_2RE5_1778223.png

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运行成功。

213026_JtJD_1778223.png

   快速关闭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

213744_6oP3_1778223.png

解决方案:安装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

 234705_1vtD_1778223.png  

   查看配置文件是否正确    

cd /usr/local/nginx

./nginx -t

234746_IqJJ_1778223.png

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

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

转载于:https://my.oschina.net/51stick/blog/421173

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值