学习淘淘商城第七十三课(Nginx基础)

110 篇文章 383 订阅
9 篇文章 1 订阅

第一:什么是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。

yum install wget  
yum install vim-enhanced  
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库。

yum install -y pcre pcre-devel  
yum install -y zlib zlib-devel  
yum install -y openssl openssl-devel

       安装完依赖,我们下载nginx的安装包,大家可以到http://download.csdn.net/detail/u012453843/9847752这个地址下载nginx安装包。下载完后需要将安装包上传到虚拟机当中,我个人习惯在虚拟机中新建一个/usr/local/software目录,专门存放各种安装包。

[root@taotao-nginx-server ~]# mkdir /usr/local/software
       从Windows系统向Linux服务器上传文件,我个人习惯使用XShell工具,大家可以参考http://blog.csdn.net/u012453843/article/details/54293774这篇博客进行学习(确保安装lrzsz命令)。我们到/usr/local/software目录下使用rz命令选择要上传的文件进行上传,上传后查看/usr/local/software目录下是否有了我们上传的文件,如下所示。

[root@taotao-nginx-server software]# ll
总用量 816
-rw-r--r--. 1 root root 832104 3月  15 01:01 nginx-1.8.0.tar.gz
[root@taotao-nginx-server software]# 
       下面我们解压这个文件,把它解压到/usr/local目录下,如下所示。

[root@taotao-nginx-server software]# tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/
       进入到解压好的目录/usr/local/nginx-1.8.0/目录下,如下所示。

[root@taotao-nginx-server software]# cd /usr/local/nginx-1.8.0/
[root@taotao-nginx-server nginx-1.8.0]# ll
总用量 652
drwxr-xr-x. 6 1001 1001   4096 5月  21 04:48 auto
-rw-r--r--. 1 1001 1001 249124 4月  21 2015 CHANGES
-rw-r--r--. 1 1001 1001 379021 4月  21 2015 CHANGES.ru
drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 conf
-rwxr-xr-x. 1 1001 1001   2478 4月  21 2015 configure
drwxr-xr-x. 4 1001 1001   4096 5月  21 04:48 contrib
drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 html
-rw-r--r--. 1 1001 1001   1397 4月  21 2015 LICENSE
drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 man
-rw-r--r--. 1 1001 1001     49 4月  21 2015 README
drwxr-xr-x. 8 1001 1001   4096 5月  21 04:48 src
[root@taotao-nginx-server 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文件,如下所示。

[root@taotao-nginx-server nginx-1.8.0]# ll
总用量 660
drwxr-xr-x. 6 1001 1001   4096 5月  21 04:48 auto
-rw-r--r--. 1 1001 1001 249124 4月  21 2015 CHANGES
-rw-r--r--. 1 1001 1001 379021 4月  21 2015 CHANGES.ru
drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 conf
-rwxr-xr-x. 1 1001 1001   2478 4月  21 2015 configure
drwxr-xr-x. 4 1001 1001   4096 5月  21 04:48 contrib
drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 html
-rw-r--r--. 1 1001 1001   1397 4月  21 2015 LICENSE
-rw-r--r--. 1 root root    345 5月  21 04:51 Makefile
drwxr-xr-x. 2 1001 1001   4096 5月  21 04:48 man
drwxr-xr-x. 3 root root   4096 5月  21 04:56 objs
-rw-r--r--. 1 1001 1001     49 4月  21 2015 README
drwxr-xr-x. 8 1001 1001   4096 5月  21 04:48 src
[root@taotao-nginx-server nginx-1.8.0]# 

       注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

[root@taotao-nginx-server nginx-1.8.0]# mkdir /var/temp/nginx/client -p
       下面使用make进行编译

[root@taotao-nginx-server nginx-1.8.0]# make
        下面使用make install进行安装

[root@taotao-nginx-server nginx-1.8.0]# make install
        安装完后,进入到/usr/local目录下,可以看到多了一个nginx的目录。


       进入到nginx目录,可以看到有三个目录,如下所示。其中conf中存放的都是配置文件,html目录下放置的欢迎页等相关文件,sbin目录下只有nginx文件,是用来启动nginx的。

[root@taotao-nginx-server nginx]# ll
总用量 12
drwxr-xr-x. 2 root root 4096 5月  21 04:56 conf
drwxr-xr-x. 2 root root 4096 5月  21 04:56 html
drwxr-xr-x. 2 root root 4096 5月  21 04:56 sbin
[root@taotao-nginx-server nginx]#
        安装完了nginx,我们来启动nginx,如下所示。

[root@taotao-nginx-server nginx]# sbin/nginx
        启动完之后,使用ps aux|grep nginx查看进程,如下所示,看到master和worker这两个进程代表nginx启动成功了。

[root@taotao-nginx-server nginx]# ps aux|grep nginx
root       3861  0.0  0.0  23856   804 ?        Ss   05:17   0:00 nginx: master process sbin/nginx
nobody     3862  0.0  0.1  24284  1396 ?        S    05:17   0:00 nginx: worker process
root       3864  0.0  0.0 103336   896 pts/0    S+   05:19   0:00 grep nginx
[root@taotao-nginx-server nginx]# 
      如果修改了配置文件,想要使用新的配置文件,那么就需要使用热启动,如下所示。

[root@taotao-nginx-server nginx]# sbin/nginx -s reload

      如果要停止nginx可以使用sbin/nginx -s stop命令,停止后,再查看进程发现nginx进程已经没有了。

[root@taotao-nginx-server nginx]# sbin/nginx -s stop
[root@taotao-nginx-server nginx]# ps aux|grep nginx
root       3880  0.0  0.0 103336   896 pts/0    S+   06:16   0:00 grep nginx
[root@taotao-nginx-server nginx]# 
第四:访问nginx

        安装完nginx后,在地址栏中输入nginx所在虚拟机的IP地址进行访问,如下图所示,发现可以正常访问nginx首页。这里之所以不用输入端口号是因为nginx默认使用的是80端口,80端口不用输入,如果使用别的端口号的话,访问nginx首页的时候就要输入端口号才能正常访问了。
















   




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值