Nginx (engine x) 是一个高性能的HTTP反向代理服务器,也是一个IMAP/POP3/SMTP服务器,其特点是占有内存少,并发能力强,业界内的评价一直很不错,反正用过的都说好,虽然我还分不出来它到底好在哪里,看了一下前辈们的文档,百度百科了一下。

手动搭建了一个nginx服务器。下面是具体的搭建步骤:

一:yum安装nignx 

一般搭建服务器都不止一种方式,我这里就先介绍最简单的一种,使用yum仓库搭建,原因是比较方便,依赖包什么的都可以直接解决了。

搭建环境:

系统:centos6.8

搭建的ngin版本:nginx/1.12.2

在centos6.8自带的yum源中是没有可以安装nginx的包,所以第一步是找到可以安装nginx包的yum源包,然后安装即可.  网上有很多可以提供给你的yum源包,但是为了安全起见,建议用官方的比较靠谱。

1) 创建一个yum仓库文件,文件内容如下,如果你是7的系统,只需要把$releasever换成7即可。

# vim /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
#baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1

#yum clean all

#yum repolist

2) 安装好了之后,可以先查看这个yum源可以给你安装的nginx的详细信息,执行下面这条命令就可以了。你可以看到要安装的版本号,包的大小,是通过什么样的方式安装以及其他信息

# yum info nginx

Centos6.8 搭建Nginx服务器

3) 开始安装了  

#yum install nginx

安装完之后,会提示你官方文档在哪,具体安装的是哪个版本等信息

Centos6.8 搭建Nginx服务器

4) 安装完之后可以看看具体在哪些目录下安装了什么

#rpm -ql nginx

Centos6.8 搭建Nginx服务器

5) 启动nginx和关闭nginx,以及设置开机启动

service nginx start/restart或者/etc/init.d/nginx start/restart

service nginx stop或者/etc/init.d/nginx stop

chkconfig --add nginx

6) 对于配置文件没有做任何修改,nginx服务默认是用80端口监听的,所以可以直接访问IP即可检测

检测方式也有几种:

  6.1) 如果你是在文本界面,可以使用下面的命令

#curl http://localhost 或者curl http://127.0.0.1

  6.2) 如果你是在图形化界面,除了可以使用上面的命令之外,通常我们可以使用浏览器访问,这样更加直观.可以在任意浏览器输入你搭建nginx服务器的IP即可

firefox http://xxx.xxx.xxx.xxx      出现以下界面,则表示你的nginx服务器已经搭建成功啦

Centos6.8 搭建Nginx服务器

 

二:使用tar包编译安装Nginx

如果使用编译安装,则在安装之前要先把Nginx依赖的模块先装好,不让编译安装的时候会报错,nginx会依赖几个最主要的模块有pcre,openssl,zlib几个模块。而安装这几个模块的你可以通过编译安装,也可以通过yum直接安装,本人本着一切从简的

原则,都用yum安装。

安装环境:

操作系统:Centos6.8

 1 依赖环境安装

yum -y install pcre zlib openssl

2 下载要安装的nginx的包

# wget http://nginx.org/download/nginx-1.12.2.tar.gz

# tar -xzvf nginx-1.12.2.tar.gz

3 编译安装Nginx到指定目录

切换到解压目录,开始预编译(本例中nginx是下载到tmp目录中,解压也是在该目录)

# cd /tmp/nginx-1.12.2

#./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

本以为一次成功了,然后我发现自己太年轻了,报错如下

报错1:显示找不到pcre库的路径<截图截错了,和下面的差不多>

报错2:显示找不到openssl库的位置

Centos6.8 搭建Nginx服务器

报错3:显示找不到zlib库的位置

Centos6.8 搭建Nginx服务器

我也很尴尬啊,怎么办呢,查看一下安装这些包的时候具体搞了些啥,发现真的没有库的路径

rpm -ql pcre;rpm -ql openssl;rpm -ql zlib

解决办法:

原来要pcre-devel 和openssl-devel的包才是真正的安装库,原因知道了那就好办了,直接yum安装走起

#yum -y install pcre-devel openssl-devel

安装完之后,再次切换到编译目录/tmp/nginx-1.12.2再次编译:

#./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

Centos6.8 搭建Nginx服务器

竟然成功了,你没有看错,确实预编译成功了,但是还没完,接下来是安装咯,执行

#make & make install

Centos6.8 搭建Nginx服务器

奇迹就此诞生,nginx安装完成了,那我们是不是可以试试能不能启动呢

4)启动Nginx

#./usr/local/nginx/sbin/nginx -s start

Centos6.8 搭建Nginx服务器

nginx开发者告诉我,这是个不合法的选项,我就很尴尬了,怎么办呢?查看帮助文档吧

#./usr/local/nginx/sbin/nginx -h

Centos6.8 搭建Nginx服务器

于是帮助文档告诉我,给主进程发送信号的方式只有stop,quit,reopen和reload。好的那我再来一遍

#./usr/local/nginx/sbin/nginx -s reload  

本以为奇迹在下一刻就会诞生了,但是现实总会给你当头棒喝。错误入下:

Centos6.8 搭建Nginx服务器

nginx又说找不到这个进程文件,没有这个文件或者目录。我能怎么办呢,让Nginx启动的时候去读取配置文件

#./usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

再来一次

#./usr/local/nginx/sbin/nginx -s reload

没有报错,是不是就表示启动成功了呢,当然不一定了,再看看端口

#netstat -antulp |grep :80

Centos6.8 搭建Nginx服务器

此时,心中感觉稳了,可以吃鸡了,但是还是要检测看看,这样稳妥点

5)检测Nginx是否搭建成功

#curl http://localhost 或者浏览器输入搭建nginx服务器的这台服务器IP,出现如下界面,则表示安装成功了

Centos6.8 搭建Nginx服务器

 Nginx安装到此结束,吃鸡成功。

附录:如果不想用yum安装库文件,下面有下载库文件的链接地址,和Nginx的tar包下载地址

nginx的tar包地址:http://nginx.org/download/nginx-1.12.2.tar.gz

pcre下载地址:http://www.pcre.org

http://www.zlib.net