Nginx介绍及搭建

第一:什么是Nginx?       Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。第二:Nginx的应用场景是什么?1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。(这里举个例子,前几年流行自己创建个个人网站来娱乐,如果要是每个人都买一台服务器来维护网站的话,费用是比较高的,很划不来,为了降低费用便催生出虚拟主机,就是在一台服务器上虚拟出多个"主机"出来,大家可以共用这一台服务器,费用当然就很低了,但是有个问题,我们知道nginx默认的端口是80,使用nigix访问静态网页的时候,是不用输入80端口就可以访问的,如果nginx的端口修改为别的端口号如81,那么访问的时候便需要输入端口号81才能访问。多个人共用一台服务器,访问地址不能以端口号作为区分网站的标志,因为谁也不想在输入访问地址的时候还带个端口号,大家掏的钱都是一样的,那么怎么让大家都使用80端口而且区分出不同的个人网站呢?这就用到了域名,不同的用户输入自己的域名就可以访问自己的网站。比如aaaa.com、bbbb.com两个域名,这两个域名对应着同一台服务器并且共用80端口)3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。第三:nginx的安装        为了方便学习,我们可以搭建一个ngix的虚拟机,VMWare最小化安装CentOS6大家可以参考http://blog.csdn.net/u012453843/article/details/68947589这篇博客进行学习。建完虚拟机后需要先配置静态IP并且要能上网,大家可以参考:http://blog.csdn.NET/u012453843/article/details/52839105这篇博客进行学习。配置好静态IP并且能上网之后需要先安装wget、vim、gcc。[html] view plain copy

  1. yum install wget    
  2. yum install vim-enhanced    
  3. yum install make cmake gcc gcc-c++    
      下面需要安装依赖       其中pcre(perl compatible regular expressions)是一个pert库,包括perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。pcre-devel是使用pcre开发的一个二次库,nginx也需要此库。zlib库提供了很多种压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。openssl是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的秘钥和证书封装管理功能及SSL协议,并提供丰富的应用程序提供测试或其它目的的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。[html] view plain copy
  1. yum install -y pcre pcre-devel    
  2. yum install -y zlib zlib-devel    
  3. yum install -y openssl openssl-devel  
       安装完依赖,我们下载nginx的安装包,大家可以到http://download.csdn.net/detail/u012453843/9847752这个地址下载nginx安装包。下载完后需要将安装包上传到虚拟机当中,我个人习惯在虚拟机中新建一个/usr/local/software目录,专门存放各种安装包。[html] view plain copy
  1. [[email protected] ~]# mkdir /usr/local/software  
       从Windows系统向Linux服务器上传文件,我个人习惯使用XShell工具,大家可以参考http://blog.csdn.net/u012453843/article/details/54293774这篇博客进行学习(确保安装lrzsz命令)。我们到/usr/local/software目录下使用rz命令选择要上传的文件进行上传,上传后查看/usr/local/software目录下是否有了我们上传的文件,如下所示。[html] view plain copy
  1. [[email protected] software]# ll  
  2. 总用量 816  
  3. -rw-r--r--. 1 root root 832104 3月  15 01:01 nginx-1.8.0.tar.gz  
  4. [[email protected] software]#   
       下面我们解压这个文件,把它解压到/usr/local目录下,如下所示。[html] view plain copy
  1. [[email protected] software]# tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/  
       进入到解压好的目录/usr/local/nginx-1.8.0/目录下,如下所示。[html] view plain copy
  1. [[email protected] software]# cd /usr/local/nginx-1.8.0/  
  2. [[email protected] nginx-1.8.0]# ll  
  3. 总用量 652  
  4. drwxr-xr-x. 6 1001 1001   4096 5月  21 04:48 auto  
  5. -rw-r--r--. 1 1001 1001 249124 4月  21 2015 CHANGES  
  6. -rw-r--r--. 1 1001 1001 379021 4月  21 2015 CHANGES.ru  
  7. drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 conf  
  8. -rwxr-xr-x. 1 1001 1001   2478 4月  21 2015 configure  
  9. drwxr-xr-x. 4 1001 1001   4096 5月  21 04:48 contrib  
  10. drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 html  
  11. -rw-r--r--. 1 1001 1001   1397 4月  21 2015 LICENSE  
  12. drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 man  
  13. -rw-r--r--. 1 1001 1001     49 4月  21 2015 README  
  14. drwxr-xr-x. 8 1001 1001   4096 5月  21 04:48 src  
  15. [[email protected] nginx-1.8.0]#   
       使用configure命令创建一makeFile文件,如下所示./configure \--prefix=/usr/local/nginx \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--with-http_gzip_static_module \--http-client-body-temp-path=/var/temp/nginx/client \--http-proxy-temp-path=/var/temp/nginx/proxy \--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \--http-scgi-temp-path=/var/temp/nginx/scgi       执行完命令后可以看到目录下多了一个Makefile文件,如下所示。[html] view plain copy
  1. [[email protected] nginx-1.8.0]# ll  
  2. 总用量 660  
  3. drwxr-xr-x. 6 1001 1001   4096 5月  21 04:48 auto  
  4. -rw-r--r--. 1 1001 1001 249124 4月  21 2015 CHANGES  
  5. -rw-r--r--. 1 1001 1001 379021 4月  21 2015 CHANGES.ru  
  6. drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 conf  
  7. -rwxr-xr-x. 1 1001 1001   2478 4月  21 2015 configure  
  8. drwxr-xr-x. 4 1001 1001   4096 5月  21 04:48 contrib  
  9. drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 html  
  10. -rw-r--r--. 1 1001 1001   1397 4月  21 2015 LICENSE  
  11. -rw-r--r--. 1 root root    345 5月  21 04:51 Makefile  
  12. drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 man  
  13. drwxr-xr-x. 3 root root   4096 5月  21 04:56 objs  
  14. -rw-r--r--. 1 1001 1001     49 4月  21 2015 README  
  15. drwxr-xr-x. 8 1001 1001   4096 5月  21 04:48 src  
  16. [[email protected] nginx-1.8.0]#   
       注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录[html] view plain copy
  1. [[email protected] nginx-1.8.0]# mkdir /var/temp/nginx/client -p  
       下面使用make进行编译[html] view plain copy
  1. [[email protected] nginx-1.8.0]# make  
        下面使用make install进行安装[html] view plain copy
  1. [[email protected] nginx-1.8.0]# make install  
        安装完后,进入到/usr/local目录下,可以看到多了一个nginx的目录。

       进入到nginx目录,可以看到有三个目录,如下所示。其中conf中存放的都是配置文件,html目录下放置的欢迎页等相关文件,sbin目录下只有nginx文件,是用来启动nginx的。[html] view plain copy
  1. [[email protected] nginx]# ll  
  2. 总用量 12  
  3. drwxr-xr-x. 2 root root 4096 5月  21 04:56 conf  
  4. drwxr-xr-x. 2 root root 4096 5月  21 04:56 html  
  5. drwxr-xr-x. 2 root root 4096 5月  21 04:56 sbin  
  6. [[email protected] nginx]#  
        安装完了nginx,我们来启动nginx,如下所示。[html] view plain copy
  1. [[email protected] nginx]# sbin/nginx  
        启动完之后,使用ps aux|grep nginx查看进程,如下所示,看到master和worker这两个进程代表nginx启动成功了。[html] view plain copy
  1. [[email protected] nginx]# ps aux|grep nginx  
  2. root       3861  0.0  0.0  23856   804 ?        Ss   05:17   0:00 nginx: master process sbin/nginx  
  3. nobody     3862  0.0  0.1  24284  1396 ?        S    05:17   0:00 nginx: worker process  
  4. root       3864  0.0  0.0 103336   896 pts/0    S+   05:19   0:00 grep nginx  
  5. [[email protected] nginx]#   
      如果修改了配置文件,想要使用新的配置文件,那么就需要使用热启动,如下所示。[html] view plain copy
  1. [[email protected] nginx]# sbin/nginx -s reload  
      如果要停止nginx可以使用sbin/nginx -s stop命令,停止后,再查看进程发现nginx进程已经没有了。[html] view plain copy
  1. [[email protected] nginx]# sbin/nginx -s stop  
  2. [[email protected] nginx]# ps aux|grep nginx  
  3. root       3880  0.0  0.0 103336   896 pts/0    S+   06:16   0:00 grep nginx  
  4. [[email protected] nginx]#   
第四:访问nginx        安装完nginx后,在地址栏中输入nginx所在虚拟机的IP地址进行访问,如下图所示,发现可以正常访问nginx首页。这里之所以不用输入端口号是因为nginx默认使用的是80端口,80端口不用输入,如果使用别的端口号的话,访问nginx首页的时候就要输入端口号才能正常访问了。
文章来源: Nginx介绍及搭建

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:Nginx介绍及搭建