之前了解过一些Nginx的知识,只是大概知道它的一些优良特性,如高性能,高并发,负载均衡等等。因为以后工作会用的原因,所以打算彻底的学习一番。

一,依赖库安装

为了简单,就直接使用apt-get自动安装。


1. SSL支持需要的库OpenSSL

sudo apt-get install openssl libssl-dev

sudo apt-get install libssl-dev

以上命令进行安装,如果安装过的话,会有如下类似的提示:

查看Ubuntu中nginx的安装路径 ubuntu最详细安装nginx_80端口

其中(1.0.2g-libuntu4.6)是ssl的版本。这时,安装的路径可以不用管,因为在nginx编译中,不知道SSL的路径的话,会自动找到其安装路径。


2. rewrite模块需要的库PCRE(Perl Compatible Regular Expressions)

sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0v5

以上命令进行安装,如果安装过的话,会有如下类似的提示:

查看Ubuntu中nginx的安装路径 ubuntu最详细安装nginx_查看Ubuntu中nginx的安装路径_02


3. gzip压缩需要的zlib

sudo apt-get install zlib1g-dev

以上命令进行安装,如果安装过的话,会有如下类似的提示:

查看Ubuntu中nginx的安装路径 ubuntu最详细安装nginx_查看Ubuntu中nginx的安装路径_03



二.下载nginx以及安装




1. 下载nginx包

地址为:http://nginx.org/download/。我选择的此时的最新版http://nginx.org/download/nginx-1.9.15.tar.gz  并解压到~/software  目录下。~为当前用户的主目录。

此处整个路径为/home/yefeng/software/nginx-1.9.15。


2. 配置nginx

命令行进入nginx目录下:

cd ~/software/nginx-1.9.15/
配置nginx内容:
sudo ./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 \



执行结果如图:




查看Ubuntu中nginx的安装路径 ubuntu最详细安装nginx_服务器_04




可以看到,pcre,oenssl,zlib都是使用系统默认的库,当然如果需要的话也可以在配置的时候指定。下面是一些文件的目录,在配置的时候额我只配置了几个,而其它的都是根据这些值自动创建的。




3.编译生成


运行一下命令:


sudo make
 
sudo make install


如果有报错的话,应该是配置时路径的问题导致的,重新运行./configure再运行即可。




4. 查看80端口是否被占用


因为启动nginx需要使用80端口。比如运行有apache,就需要关掉此进程。


方法一:

netstat -apn | grep :80


查找其中本机上使用了80端口的记录,记录其PID




方法二:我在使用上面方式时,发现我的电脑上出现了如下的记录:



查看Ubuntu中nginx的安装路径 ubuntu最详细安装nginx_nginx_05




这两条记录并没有显示PID和程序名称,而其它都有显示:



查看Ubuntu中nginx的安装路径 ubuntu最详细安装nginx_查看Ubuntu中nginx的安装路径_06




因此没办法kill掉。换了如下方式:

sudo fuser 80/tcp

结果为:

查看Ubuntu中nginx的安装路径 ubuntu最详细安装nginx_80端口_07


或者这种方式:

sudo lsof -i tcp:80

结果为:

查看Ubuntu中nginx的安装路径 ubuntu最详细安装nginx_SSL_08

至于为什么有这样的进程,也不是很清楚,因为重启电脑后查询80端口,就存在这样的进程。

按照PID kill掉这些进程:sudo kill -9 4183

再次检查80端口,此时没有被占用了。


5. 启动nginx

 sudo /usr/local/nginx/nginx

启动的目录就是步骤2中配置结束图中,"nginx binary file"一项的值。

运行成功的话,没有任何提示,可以用命令查看:ps -ef | grep nginx
存在进程的话,证明运行成功,也在浏览器中访问:http://127.0.0.1/  或者 此时你电脑的ip。

查看Ubuntu中nginx的安装路径 ubuntu最详细安装nginx_查看Ubuntu中nginx的安装路径_09


到此nginx安装成功。