从源码开始编译安装最新版Nginx

各大Linux发行版如Redhat,">Ubuntu,Debian Linux 都已经自带了Nginx,或者可以通过简单的包管理命令安装,比如 Debian Linux下面
apt-get install nginx

但是Nginx官方更新速度还是很快的,各Linux发行版往往自带的Nginx版本都比较低。相比最新版Nginx,没办法获得更高的性能和更少的bug已经漏洞。
因此,自己能编译官方版最新的Nginx还是很需要的,不光可以享受最新版带来的各种好的特性,还可以自己配置需要的模块和功能。

下面说明如何从源码编译Nginx. 博主的平台是在Debian Linux,其他平台几乎没有多少区别,可以同样对待。

首先,备份老的文件,系统自带的Nginx,以便以后用到。
cp /etc/nginx/ ~/nginx_oldversion_etc -R
cp /usr/sbin/nginx ~/nginx.oldversion

然后开始编译安装最新版Nginx:

1,安装需要的库
apt-get -y install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev build-essential

2,下载安装
到这里找最新版: http://nginx.net/
发帖时候最新版是1.3.9,自动Nginx上了1.0之后,版本号上涨速度快了好多啊。

wget http://sysoev.ru/nginx/nginx-1.3.9.tar.gz
tar xvfz nginx-1.3.9.tar.gz
cd nginx-1.3.9

开始配置需要的模块,如果需要得到更多配置,可以用这个命令:
./configure –help

这是博主的配置:
./configure –user=www-data –group=www-data –sbin-path=/usr/local/sbin –with-http_ssl_module –with-http_stub_status_module –with-http_flv_module
开始编译:
make
编译完毕,安装到系统目录 /user/local/bin
make install

启动测试:
/usr/local/sbin/nginx -v
/usr/local/sbin/nginx -t

指定配置文件测试,如用/etc/nginx/nginx.conf测试:
/usr/local/sbin/nginx -t -c /etc/nginx/nginx.conf

为了方便操作我们安装的最新Nginx,修改直接使用debian原来系统里面的配置文件,这样可以用系统自带的方式启动Nginx了。
修改/etc/init.d/nginx脚本
vi /etc/init.d/nginx
DAEMON=/usr/local/sbin/nginx
DAEMON_OPTS=”-c /etc/nginx/nginx.conf”

查看日志:
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

下面是默认的设置 路径,对以后配置有用:
nginx path prefix: “/usr/local/nginx”
nginx binary file: “/usr/local/sbin/nginx”
nginx configuration file: “/usr/local/nginx/conf/nginx.conf”
nginx pid file: “/usr/local/nginx/logs/nginx.pid”
nginx error log file: “/usr/local/nginx/logs/error.log”
nginx http access log file: “/usr/local/nginx/logs/access.log”
nginx http client request body temporary files: “/usr/local/nginx/client_body_temp”
nginx http proxy temporary files: “/usr/local/nginx/proxy_temp”
nginx http fastcgi temporary files: “/usr/local/nginx/fastcgi_temp”

参考文献:
http://jimmyg.org/2007/12/07/nginx-proxying-to-pylons-with-ssl-on-debian-etch/
http://wiki.codemongers.com/NginxInstallOptions

转载请注明来自:http://www.nginx.com.cn/?p=333

时间: 2024-09-28 09:31:21

从源码开始编译安装最新版Nginx的相关文章

如何在源码包编译安装的 LEMP 环境下开启 OpenSSL 功能

如何在源码包编译安装的 LEMP 环境下开启 OpenSSL 功能 Hello,大家好!我是--邪恶君子! 今天,给大家分享一下解决源码包编译安装 LEMP 环境下开启 OpenSSL 功能问题的过程.前几天,在访问页面时,突然报错,要求开启 openssl 功能.那怎么办呢,首先想到的是 yum 安装,但是,安装后还是没解决,因为 LEMP 的环境是源码包编译安装的,所以,还需要编译安装 openssl. 经过邪恶不懈的努力,终于找到了解决办法,而且真的成功了,下面就给大家分享一下! 首先,要

linux下mysql5.5.15源码包编译安装

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://navyaijm.blog.51cto.com/4647068/809416 mysql果然是不愧是目前在linux下最火的数据库软件,自从mysql5.5.8之后,mysql的源码包编译安装都要用到cmake来进行编译了,编译的过程没有本质的区别,但是要直观很多.         1.源码包准备          (1)mysql-5.5.15.tar.gz mysqlmysq

Ubuntu 源码cmake编译安装 mysql 5.6.12数据库

环境 ubuntu 12.04桌面版,mysql 5.6.12 mysql需要使用cmake编译,所以,先安装cmake  代码如下 复制代码 sudo apt-get install cmake 配置编译参数:  代码如下 复制代码 cmake -DCMAKE_INSTALL_PREFIX=/home/fhp/server/mysql -DSYSCONFDIR=/home/fhp/server/mysql -DMYSQL_DATADIR=/home/fhp/server/mysql/data

编译最新版webrtc源码和编译好的整个项目10多个G【分享】

编译最新版webrtc源码和编译好的整个项目10多个G[分享]   参考https://webrtc.org/native-code/development/编译最新版webrtc源码: Git clone https://chromium.googlesource.com/external/webrtc gclient config https://chromium.googlesource.com/external/webrtc --name=src set DEPOT_TOOLS_WIN_

linux下源码软件包的安装

我们在使用linux做服务器的时候,因为linux自带的软件包都有些老,不是最新的,但是有时候我们为了使用最新的软件,会使用最新的软件的源码来进行安装. 所以我们需要用心去做了... 在我们拿到一个软件的源码时,源码一般都是使用tar.gz或tar.bz2结尾. 源码-->配置文件(./configure)-->编译(makefile)-->(可执行 头文件 库文件 手册)-->安装 对于源码的安装,我们说西安要确定机器安装了编译环境 使用yum  grouplist |less

Hadoop2.x源码-编译剖析

1.概述 最近,有小伙伴涉及到源码编译.然而,在编译期间也是遇到各种坑,在求助于搜索引擎,技术博客,也是难以解决自身所遇到的问题.笔者在被询问多 次的情况下,今天打算为大家来写一篇文章来剖析下编译的细节,以及遇到编译问题后,应该如何去解决这样类似的问题.因为,编译的问题,对于后期业务拓展, 二次开发,编译打包是一个基本需要面临的问题. 2.编译准备 在编译源码之前,我们需要准备编译所需要的基本环境.下面给大家列举本次编译的基础环境,如下所示: 硬件环境 操作系统 CentOS6.6 CPU I7

《面向机器智能的TensorFlow实践》一2.5 源码构建及安装实例:在64位Ubuntu Linux上安装GPU版TensorFlow

2.5 源码构建及安装实例:在64位Ubuntu Linux上安装GPU版TensorFlow 如果希望使用带有GPU支持的TensorFlow,那么最可能的选择是从源码构建和安装.本节给出了一个完整的安装参考实例,详细介绍了安装和运行TensorFlow所需的每一具体步骤.请注意,本示例中的操作系统为64位Ubuntu Linux发行版,因此如果你使用的是其他Linux发行版,则可能需要对某些命令进行修改(如apt-get).如果希望在Mac OS X上从源码构建TensorFlow,笔者推荐

linux下MySQL源码包的安装

实验环境 VMware 6.5.2 +redhatEnterprise 5 AS 实验目的 初步涉及源码包的安装,以简单实现其功能为目的,不对原理进行深层讨论 内核版本: 今天尝试安装MySQL的源码包 mysql-4.0.27.tar.gz 下载源码包 copy 到linux [root@localhost ~]# cd /tmp [root@localhost tmp]# ls gconfd-laowu scim-helper-manager-socket-root gconfd-root

spark+eclipse-eclipse中部署spark源码时候 编译antClass not found: javac1.8

问题描述 eclipse中部署spark源码时候 编译antClass not found: javac1.8 解决方案 看这儿你的是java的版本 解决方案二: 我装的是jdk1.8啊 eclipse内置ant版本也是1.8 怎么还会有问题. 解决方案三: 要在spark配置文件中加入jdk版本,原来的文件中好像只有1.6和1.7的配置信息,没有1.8的自己加入就能用ant编译过去了