购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.2 Nginx源码编译安装

以Centos平台编译环境为例,安装Make并编译Gcc/GccDemo的方法如代码清单4-1所示。

代码清单4-1 GccDemo代码
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++

Nginx重写rewrite,需要安装pcre,而Gzip压缩需要安装zlib,网络转发需要ssl设定源码目录为/usr/local/source。安装pcre、zlib、ssl的方法如代码清单4-2所示。

代码清单4-2 Nginx插件安装
------------pcre-----------------
cd /usr/local/source
wget http:// www.programming.cn/pcre/pcre-8.36.tar.gz
tar -zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure
make
make install
-----------zlib--------------
wget http:// zlib.net/zlib-1.2.7.tar.gz
tar -zxvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
./configure
make
make install
-----------ssl--------------
wget https:// www.openssl.org/source/openssl-1.0.1t.tar.gz
tar -zxvf openssl-1.0.1t.tar.gz

Nginx安装的方法如代码清单4-3所示。

代码清单4-3 Nnigx安装
wget http:// nginx.org/download/nginx-1.5.8.tar.gz
tar -zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2

下载Nginx包的页面效果如图4-2所示。

图4-2 下载Nginx包

解压Nginx包,如图4-3所示。

图4-3 解压Nginx包

具体的Nginx参数配置,如代码清单4-4所示。

代码清单4-4 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=/opt/app/openet/zachary/pcre-8.36 \
--with-zlib=/opt/app/openet/zachary/zlib-1.2.7 \
--with-openssl=/opt/app/openet/zachary/openssl-1.0.1t
make
make install

其中,make用于编译,它从Makefile中读取指令,然后编译;make install用于安装,它也从Makefile中读取指令,将Nginx安装到指定的位置;configure命令用于检测安装平台的目标特征,它定义了系统的各个方面,包括Nginx被允许使用的连接处理的方法,比如它会检测是不是有CC或GCC(并不是需要CC或GCC,它是个shell脚本,执行结束时,它会创建一个Makefile文件)。

Nginx的configure命令支持以下参数。

其中相关路径说明如下:

安装成功后,/usr/local/nginx目录如下:

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

注意

Nginx默认端口是80,启动之前应先检查80端口的使用情况,使用的指令是netstat -ano|grep 80,如果查不到结果则说明该端口未占用,反之,有如下两种处理方式:

  • 更改Nginx默认80端口,通过指令whereis nginx.conf找到默认配置文件,更改方式为listen 80 default_server;
  • 找到占用80端口的应用,然后kill掉该应用以释放80端口。

温馨提示: 80端口默认可以隐藏,例如:zachary.sh.cn:80等同于zachary.sh.cn,同理80端口也非常容易受到攻击。建议更换默认端口。 nxw9QDjNsUX6Z3Cv6iZdSRYw8wm8f8HumoL9LDEJEq0+MKT9rbkD6Hy6yCiR8PTz

点击中间区域
呼出菜单
上一章
目录
下一章
×