Zohan
  • 首页
  • Java
  • JavaScript
  • Nginx
  • About
  1. 首页
  2. zohan
  3. 详细信息
nginx从编译到安装:zohan 发布于:2016年12月19日 阅读次数:3499
nginx从编译到安装

    nginx是一款高性能的web服务和代理服务,其高并发性能和开源决定了人们使用的高增长率。我们都知道apache是第一web服务,全球90以上的web服务是通过apache来服务的,nginx是后起之秀,俱来后来者居上的趋势。nginx天生就是为分布式集群而生,而apache是最早设计为单机服务,nginx提供采用的是异步事件处理机制,因此轻松的能够搭建并发10w以上单机服务。

我们可以从官网下载nginx 现在最新的闻稳定版本是1.8.1我们就拿他来做示例,下载地址:http://nginx.org/download/nginx-1.8.1.tar.gz,服务环境是linux。

在命令行输入:

wget http://nginx.org/download/nginx-1.8.1.tar.gz

,等在下载完毕后,我们在看下nginx基础模块需要依赖的库:

gcc:编译nginx源码

gzip:开启资源压缩功能依赖此模块

openssl:增加https协议功能

pcre:在配置中使用提供正则表达式

 

openssl安装先下载新版本的, https://www.openssl.org/source/openssl-1.1.0c.tar.gz

解压缩文件:

tar -zxvf openssl-1.0.1u.tar.gz
cd openssl-1.0.1u
./config --prefix=/usr/local/openssl
./config –t
make && make install

安装openssl后配置profile文件

vi /ect/profile

在最后两行增加:

export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin

然后再重新加载文件:

source /etc/profile

 

 

在编译nginx前,先安装以上依赖的模块,先解压nginx文件,在控制台输入:tar –zxvf nginx-1.8.1.tar.gz

nginx默认的安装路径是:/usr/local/nginx,我们将采用的路径是默认的路径,需要https的服务,因此我们的nginx的配置是:./configure --with-http_ssl_module 依赖的其他模块我们都是默认安装的nginx能够自动找到。

在控制台执行:

cd nginx-1.8.1
./configure --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --user=nginx --group=nginx --with-openssl=/usr/local/openssl-1.0.1u

这里需要注意,openssl路径是源码的路径

配置完毕后开始编译nginx;

 

在控制台输入:

make && make install

安装完成,输入ip地址试一试出现nginx页面

 

 

nginx编译参数详解

•       --prefix=PATH : 指定nginx的安装目录。默认 /usr/local/nginx

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

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

•       --with-pcre : 设置PCRE库的源码路径,如果已通过yum方式安装,使用--with-pcre自动找到库文件。使用--with-pcre=PATH时,需要从PCRE网站下载pcre库的源码(版本4.4 – 8.30)并解压,剩下的就交给Nginx的./configure和make来完成。perl正则表达式使用在location指令和 ngx_http_rewrite_module模块中。

•       --with-zlib=PATH : 指定 zlib(版本1.1.3 – 1.2.5)的源码解压目录。在默认就启用的网络传输压缩模块ngx_http_gzip_module时需要使用zlib 。

•       --with-http_ssl_module : 使用https协议模块。默认情况下,该模块没有被构建。前提是openssl与openssl-devel已安装

•       --with-http_stub_status_module : 用来监控 Nginx 的当前状态

•       --with-http_realip_module : 通过这个模块允许我们改变客户端请求头中客户端IP地址值(例如X-Real-IP 或 X-Forwarded-For),意义在于能够使得后台服务器记录原始客户端的IP地址

•       --add-module=PATH : 添加第三方外部模块,如nginx-sticky-module-ng或缓存模块。每次添加新的模块都要重新编译(Tengine可以在新加入module时无需重新编译)


  • Nginx
本文由 zohan 创作,采用 CC BY 3.0 CN协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处,本文地址:/blog/6.html
打赏
支付宝打赏
微信打赏
Copyright © 2013-2025 zohan.cc 版权所有 .京ICP备15012738号-4
京公网安备11010802015888