转载)php
nginx可使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。html
正式开始前,编译环境gcc g++ 开发库之类的须要提早装好,这里默认你已经装好。nginx
ububtu平台编译环境可使用如下指令c++
1正则表达式 2shell |
apt-get install build-essentialubuntu apt-get install libtoolcentos |
centos平台编译环境使用以下指令浏览器
安装make:安全
1 |
yum -y install gcc automake autoconf libtool make |
安装g++:
1 |
yum install gcc gcc-c++ |
下面正式开始
---------------------------------------------------------------------------
通常咱们都须要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
1.选定源码目录
能够是任何目录,本文选定的是/usr/local/src
1 |
cd /usr/local/src |
2.安装PCRE库
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:
1 2 3 4 5 6 7 |
cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz 上面 安装pcre安装地址换ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/(打开浏览器查看) tar -zxvf pcre-8.37.tar.gz cd pcre-8.34 ./configure make make install |
3.安装zlib库
http://zlib.net/zlib-1.2.8.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:
1 2 3 4 5 6 7 8 |
cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz 进入http://zlib.net查看最新版本后缀1.2.8改为最新版本号 tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make make install |
4.安装ssl(某些vps默认没装ssl)
可跳转openssl安装的word文件,查看安装最新版openssl
安全性更高,php须要高版本openssl支持
1 2 3 |
cd /usr/local/src wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz tar -zxvf openssl-1.0.1t.tar.gz |
|
|
5.安装nginx
Nginx 通常有两个版本,分别是稳定版和开发版,您能够根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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=/opt/app/openet/oetal1/chenhe/pcre-8.37 \ --with-zlib=/opt/app/openet/oetal1/chenhe/zlib-1.2.8 \ --with-openssl=/opt/app/openet/oetal1/chenhe/openssl-1.0.1t
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 目录下以下
1 2 3 4 5 6 |
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,
1 |
netstat -ano|grep 80 |
若是查不到结果后执行,有结果则忽略此步骤(ubuntu下必须用sudo启动,否则只能在前台运行)
1 |
sudo /usr/local/nginx/nginx |
打开浏览器访问此机器的 IP,若是浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
-----------------------------------------------------
到这里nginx就安装完成了,若是只是处理静态html就不用继续安装了
若是你须要处理php脚本的话,还须要安装php-fpm。
下面安装排错
附:可能遇到的错误和一些帮助信息
1.1编译pcre错误
1 2 3 4 5 |
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 |
解决办法:安装g++,别忘了从新configure
1 2 3 4 5 |
apt-get install g++ apt-get install build-essential make clean ./configure make |
1.2 make出错
1 2 3 4 5 |
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步的安装方法或
ubuntu下
1 2 |
apt-get install openssl apt-get install libssl-dev |
centos下
1 |
yum -y install openssl openssl-devel |
2.nginx编译选项
make是用来编译的,它从Makefile中读取指令,而后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被容许使用的链接处理的方法,好比它会检测你是否是有CC或GCC,并非须要CC或GCC,它是个shell脚本,执行结束时,它会建立一个Makefile文件。nginx的configure命令支持如下参数:
典型实例(下面为了展现须要写在多行,执行时内容须要在同一行)
1 2 3 4 5 6 7 |
./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 |