最近想要折腾一下 Nginx ,所以就安装一个咯,我用的是Ubuntu 16.04,其他Linux其实也是一样的,只不过命令有些差异罢了。
1、直接安装编译好的nginx:
直接查看官网的教程,按照教程来安装就可以,简单方便。
http://nginx.org/en/linux_packages.html
这种安装方式就不多说了,今天想说的是源码安装的方式。
2、编译source code 安装
查看可用的版本
http://nginx.org/en/download.html
我用的是 1.12.1 版本
wget http://nginx.org/download/nginx-1.12.1.tar.gz
tar -zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure
sudo make && make install
如果没有错误信息提示的话,那么恭喜,说明安装好了,我们采用的是默认的路径/usr/local/nginx
我安装过程中没这么顺利,执行./configure的时候报错如下:
./configure: error: the HTTP rewrite module requires the PCRE library.
错误信息很明确,缺少依赖,那么就安装吧。
PCRE 官网:http://www.pcre.org/
https下载页面:https://ftp.pcre.org/pub/pcre/
注意:下载pcre-开头的,不要下载pcre2-开头的。我下载的是pcre-8.20版本的,解压出来的路径为~/Dowloads/pcre-8.20
wget https://ftp.pcre.org/pub/pcre/pcre-8.20.tar.gz
tar -zxvf pcre-8.20.tar.gz
cd pcre-8.20
./configure
sudo make && make install
进入到nginx解压的目录下,重新编译
./configure --with-pcre=~/Dowloads/pcre-8.20
注意:这个--with-pcre指定的是pcre解压出来的源码目录,不是安装pcre的目录。
具体参数设置可以使用 ./configure --help
查看
以为这样就可以了,没想到还是报错了,信息如下:
./configure: error: the HTTP gzip module requires the zlib library.
继续安装gnu zip模块
sudo apt install zlib1g-dev
继续执行
./configure --with-pcre=~/Dowloads/pcre-8.20
好了,没报错了,但是提示信息为:
Configuration summary
- using PCRE library: /usr/local/src/pcre-8.20
- OpenSSL library is not used
- using system zlib library
没设置 openssl ?查看是否已经安装了
$ whereis openssl
结果为:
$ /usr/bin/openssl
那么指定一下openssl的路径就好了吧
./configure --with-pcre=~/Dowloads/pcre-8.20 --with-openssl=/usr/bin/openssl
OK,没问题,继续
sudo make && make install
没问题的话,安装就好了,在/usr/local/nginx/sbin 目录下就有nginx的可执行文件了。
总结:Linux安装程序过程中,或多或少有些依赖的问题,遇到问题的时候,不要怕,好好看下错误信息,依次解决,在解决问题的过程中自己也就有提升了,而且折腾的过程也挺有意思的,不是吗?
<_>