从源码安装nginx(centosOS ubuntu)
1.在工作目录里面下载安装依赖
//centerOS
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
或者
//ubuntu
apt-get install libpcre3 libpcre3-dev zlib1g-dev build-essential gcc
//PCRE 作用是让 Nginx 支持 Rewrite 功能。
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35 && ./configure
make && make install
pcre-config --version
2.在工作目录里面安装nginx
wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/你希望存放的目录/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make && make install
//启动
nginx/sbin/nginx
3.不出意外应该是成功的,则不需要往后看,后面是错误记录
make出错,多半是Makefile文件问题
在nginx的解压路径下,运行:cd objs
编辑Makefile文件,删除其中的-Werror
要是还是出错,则需要看具体是哪一行报错,一般修改对应文件,将其注释即可
比如:
src/os/unix/ngx_user.c: In function ‘ngx_libc_crypt’:
src/os/unix/ngx_user.c:36:7: error: ‘struct crypt_data’ has no member named ‘current_salt’
cd.current_salt[0] = ~salt[0];
^
make[1]: *** [objs/Makefile:774: objs/src/os/unix/ngx_user.o] Error 1
make[1]: Leaving directory '/root/nginx-1.10.1'
make: *** [Makefile:8: build] Error 2
可以修改 src/os/unix/ngx_user.c文件 根据提示行号找到 cd.current_salt[0] = ~salt[0];注释。