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
3) 开始安装了
#yum install nginx
安装完之后,会提示你官方文档在哪,具体安装的是哪个版本等信息
4) 安装完之后可以看看具体在哪些目录下安装了什么
#rpm -ql 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服务器已经搭建成功啦
二:使用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库的位置
报错3:显示找不到zlib库的位置
我也很尴尬啊,怎么办呢,查看一下安装这些包的时候具体搞了些啥,发现真的没有库的路径
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
竟然成功了,你没有看错,确实预编译成功了,但是还没完,接下来是安装咯,执行
#make & make install
奇迹就此诞生,nginx安装完成了,那我们是不是可以试试能不能启动呢
4)启动Nginx
#./usr/local/nginx/sbin/nginx -s start
nginx开发者告诉我,这是个不合法的选项,我就很尴尬了,怎么办呢?查看帮助文档吧
#./usr/local/nginx/sbin/nginx -h
于是帮助文档告诉我,给主进程发送信号的方式只有stop,quit,reopen和reload。好的那我再来一遍
#./usr/local/nginx/sbin/nginx -s reload
本以为奇迹在下一刻就会诞生了,但是现实总会给你当头棒喝。错误入下:
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
此时,心中感觉稳了,可以吃鸡了,但是还是要检测看看,这样稳妥点
5)检测Nginx是否搭建成功
#curl http://localhost 或者浏览器输入搭建nginx服务器的这台服务器IP,出现如下界面,则表示安装成功了
Nginx安装到此结束,吃鸡成功。
附录:如果不想用yum安装库文件,下面有下载库文件的链接地址,和Nginx的tar包下载地址
nginx的tar包地址:http://nginx.org/download/nginx-1.12.2.tar.gz
pcre下载地址:http://www.pcre.org
openssl下载地址:http://www.openssl.org/source
zlib下载地址:http://www.zlib.net